Oracle官方对CentOS的支持有限,建议将系统标识修改为Red Hat Enterprise Linux(RHEL),以绕过版本检查。编辑/etc/redhat-release文件,替换为对应版本的RHEL信息(如CentOS Linux release 7.x改为Red Hat Enterprise Linux Server release 7.x)。
systemctl stop firewalld
systemctl disable firewalld
setenforce 0
sed -i 's/SELINUX=.*/SELINUX=disabled/g' /etc/selinux/config
使SELinux配置永久生效。Oracle Database需要多个系统库支持,使用yum安装常用依赖(以CentOS 7/8为例):
yum -y install binutils compat-libcap1 compat-libstdc++-33 gcc gcc-c++ glibc glibc-devel ksh libaio libaio-devel libgcc libstdc++ libstdc++-devel make sysstat unixODBC unixODBC-devel libnsl libnsl2-devel
部分版本可能需要额外安装xorg-x11-utils(图形界面安装时使用)。
Oracle需要专用用户和组管理数据库文件,避免权限问题:
# 创建组(oinstall:安装组;dba:数据库管理员组)
groupadd oinstall
groupadd dba
# 创建用户(oracle:数据库用户,加入oinstall和dba组)
useradd -g oinstall -G dba oracle
# 设置用户密码
passwd oracle
Oracle对系统内核参数有严格要求,需修改/etc/sysctl.conf文件,添加以下内容:
fs.aio-max-nr = 1048576
fs.file-max = 6815744
kernel.shmall = 2097152
kernel.shmmax = 4294967296 # 建议设置为物理内存的一半(单位:字节)
kernel.shmmni = 4096
kernel.sem = 250 32000 100 128
net.ipv4.ip_local_port_range = 9000 65500
net.core.rmem_default = 262144
net.core.rmem_max = 4194304
net.core.wmem_default = 262144
net.core.wmem_max = 1048576
应用配置:
sysctl -p
为oracle用户设置环境变量,方便后续操作。编辑/home/oracle/.bash_profile文件,添加以下内容(根据实际安装路径调整):
export ORACLE_BASE=/u01/app/oracle # Oracle基目录
export ORACLE_HOME=$ORACLE_BASE/product/19.0.0/dbhome_1 # Oracle主目录(根据版本调整)
export ORACLE_SID=orcl # 数据库实例名(默认)
export PATH=$PATH:$ORACLE_HOME/bin # 添加Oracle命令到PATH
export LD_LIBRARY_PATH=$ORACLE_HOME/lib:$LD_LIBRARY_PATH # 添加Oracle库路径
export LANG=en_US.UTF-8 # 字符集
export NLS_LANG=AMERICAN_AMERICA.AL32UTF8 # 数据库字符集
使配置生效:
source /home/oracle/.bash_profile
linux.x64_193000_db_home.zip)。oracle用户目录:unzip linux.x64_193000_db_home.zip -d /home/oracle/
chown -R oracle:oinstall /home/oracle/database
oracle用户:su - oracle
cd /home/oracle/database
./runInstaller
ORACLE_BASE)和主目录(ORACLE_HOME)。/u01/app/oraInventory/orainstRoot.sh和/u01/app/oracle/product/19.0.0/dbhome_1/root.sh)。Oracle监听器负责接收客户端连接请求,使用netca(Net Configuration Assistant)工具配置:
netca
按照向导选择“监听程序配置”→“添加”,设置主机名(localhost或服务器IP)、端口(默认1521),完成配置。
使用dbca(Database Configuration Assistant)工具创建数据库:
dbca
按照向导选择“创建数据库”→“自定义数据库”,设置全局数据库名、SID、管理员密码(如SYS、SYSTEM用户密码),完成创建。
/etc/oratab文件将数据库条目末尾的N改为Y,允许系统启动时自动启动数据库:
vim /etc/oratab
# 找到类似条目:orcl:/u01/app/oracle/product/19.0.0/dbhome_1:N
# 修改为:orcl:/u01/app/oracle/product/19.0.0/dbhome_1:Y
/etc/rc.d/rc.local编辑/etc/rc.d/rc.local文件,添加以下内容(替换为实际路径):
su oracle -lc "/u01/app/oracle/product/19.0.0/dbhome_1/bin/lsnrctl start"
su oracle -lc "/u01/app/oracle/product/19.0.0/dbhome_1/bin/dbstart"
赋予脚本执行权限:
chmod +x /etc/rc.d/rc.local
sqlplus连接数据库:sqlplus / as sysdba
SQL> startup
SQL> select status from v$instance;
若返回OPEN,则表示数据库启动成功。oracle用户对ORACLE_HOME、ORACLE_BASE等目录有读写权限(chown -R oracle:oinstall /u01/app/oracle)。yum安装对应包(如compat-libstdc++)。lsnrctl status查看监听器状态。