1. 引言

Oracle数据库是企业级数据库的佼佼者,广泛应用于各种企业级应用中。在Linux环境下安装Oracle数据库不仅可以提高安全性,还可以提高系统性能。本文将详细介绍如何在Linux环境下无需图形界面安装Oracle数据库的完整过程。

2. 前期准备

2.1 硬件和软件要求

在开始安装之前,确保你的系统符合Oracle数据库的最低硬件和软件要求。以下是一些基本要求:

  • CPU:位处理器
  • 内存:至少4GB(推荐8GB以上)
  • 硬盘:至少10GB可用空间
  • 操作系统:支持Oracle数据库的Linux发行版(如Red Hat Enterprise Linux、Oracle Linux、CentOS等)

2.2 安装依赖包

Oracle数据库需要一些操作系统级别的依赖包来支持其安装和运行。以下是在Oracle Linux上安装必要的包的命令:

sudo yum install -y binutils gcc make sysstat ksh
sudo yum install -y compat-libcap1 compat-libstdc-33 glibc libaio libaio-devel
sudo yum install -y libgcc libstdc libXi libXtst libX11

2.3 配置系统内核参数和文件描述符

Oracle对内核参数有一定要求,因此你需要根据Oracle文档调整/etc/sysctl.conf文件和用户的。

编辑/etc/sysctl.conf文件,添加以下行(或者确认已存在):

fs.file-max = 6815744
kernel.shmmax = 4294967295
kernel.shmall = 4294967296

然后,使用以下命令使更改生效:

sudo sysctl -p

3. 安装Oracle数据库

3.1 下载Oracle软件

从Oracle官方网站下载适合你Linux发行版的Oracle数据库软件安装包。下载完成后,将安装包放置在/opt/oracle目录下。

3.2 创建Oracle用户和用户组

创建一个专门用于运行Oracle数据库的用户和用户组:

sudo groupadd -r oinstall
sudo groupadd -r dba
sudo useradd -m -g oinstall -G dba oracle

3.3 配置环境变量

编辑~/.bash_profile文件,添加以下内容:

export ORACLE_HOME=/opt/oracle/oracle/product/19.3.0/dbhome_1
export PATH=$ORACLE_HOME/bin:$PATH
export LD_LIBRARY_PATH=$ORACLE_HOME/lib:$LD_LIBRARY_PATH
export TNS_ADMIN=$ORACLE_HOME/network/admin
export ORACLE_SID=orcl

然后,使用以下命令使更改生效:

source ~/.bash_profile

3.4 安装Oracle数据库

oracle用户身份登录,进入/opt/oracle/oracle/product/19.3.0/dbhome_1目录,然后执行以下命令开始安装:

cd /opt/oracle/oracle/product/19.3.0/dbhome_1
./runInstaller

在安装过程中,选择“Graphical Install”选项卡,然后选择“Install Database Software Only”选项。完成安装后,退出安装程序。

3.5 配置Oracle

编辑/opt/oracle/oracle/product/19.3.0/dbhome_1/network/admin/listener.ora文件,添加以下内容:

LISTENER = (DESCRIPTION =
    LISTENER = (ADDRESS = (PROTOCOL = TCP)(HOST = localhost)(PORT = 1521))
)

然后,启动Oracle:

lsnrctl start

3.6 创建Oracle数据库

使用dbca命令创建Oracle数据库:

sqlplus / as sysdba

然后,执行以下命令创建数据库:

CREATE DATABASE mydatabase
USER SYS IDENTIFIED BY sys_password
USER SYSTEM IDENTIFIED BY system_password
LOGFILE GROUP 1 ('/opt/oracle/oradata/mydatabase/system01.log') SIZE 50M REUSE,
GROUP 2 ('/opt/oracle/oradata/mydatabase/system02.log') SIZE 50M REUSE,
GROUP 3 ('/opt/oracle/oradata/mydatabase/system03.log') SIZE 50M REUSE
DATAFILE '/opt/oracle/oradata/mydatabase/system.dbf' SIZE 500M REUSE AUTOEXTEND ON NEXT 100M MAXSIZE UNLIMITED
EXTENT MANAGEMENT LOCAL UNIFORM SIZE 1M
SEGMENT SPACE MANAGEMENT AUTO;

其中,mydatabase是数据库的名称,`