在服务器环境中,尤其是没有图形界面的CentOS系统上,通过字符模式(静默安装)部署Oracle数据库是一种高效、节省资源的标准做法,这种方法不仅适用于远程服务器管理,也便于实现自动化部署和脚本化运维,整个过程主要分为环境准备、软件静默安装和数据库创建配置三个核心阶段。
环境准备:奠定坚实基础
在开始安装之前,细致的环境准备是成功的关键,这一步的目标是确保操作系统满足Oracle数据库运行的所有先决条件。
创建用户与用户组
Oracle需要专门的用户和用户组来管理其文件和进程,以实现权限隔离和安全控制,通常创建oinstall
(主组)和dba
(辅助组)。
groupadd oinstall groupadd dba useradd -g oinstall -G dba oracle passwd oracle # 设置oracle用户密码
配置内核参数
Oracle数据库对系统内核资源有较高要求,需要调整/etc/sysctl.conf
文件,以下是一些关键参数的示例,具体数值需根据服务器物理内存进行调整。
参数 | 推荐值 | 说明 |
---|---|---|
fs.file-max | 6815744 | 系统最大文件句柄数 |
kernel.shmmax | 4294967295 | 单个共享内存段最大值(字节) |
kernel.shmall | 4194304 | 系统可用共享内存总量(页面) |
kernel.shmmni | 4096 | 系统共享内存段最大数量 |
net.ipv4.ip_local_port_range | 9000 65500 | 应用程序可用的IPv4端口范围 |
net.core.rmem_default | 262144 | 默认的接收套接字缓冲区大小 |
net.core.rmem_max | 4194304 | 最大的接收套接字缓冲区大小 |
net.core.wmem_default | 262144 | 默认的发送套接字缓冲区大小 |
net.core.wmem_max | 1048576 | 最大的发送套接字缓冲区大小 |
修改后,执行 sysctl -p
使配置立即生效。
设置用户资源限制
为oracle
用户设置进程数和文件句柄数的限制,编辑/etc/security/limits.conf
文件,添加以下内容:
oracle soft nproc 2047
oracle hard nproc 16384
oracle soft nofile 1024
oracle hard nofile 65536
安装必要的依赖包
Oracle的安装和运行依赖一系列系统库,在CentOS上,可以使用yum
进行安装:
yum -y install binutils compat-libcap1 compat-libstdc++-33 gcc gcc-c++ glibc glibc-devel ksh libaio libaio-devel libgcc libstdc++ libstdc++-devel libXi libXtst make sysstat unixODBC unixODBC-devel
静默安装Oracle软件:核心步骤
环境准备就绪后,即可开始Oracle软件本身的静默安装。
解压安装文件
将下载的Oracle数据库安装包(如linux.x64_19c_database.zip
)上传到服务器,并解压。
unzip linux.x64_19c_database.zip -d /database
创建并编辑响应文件
静默安装的核心是响应文件(.rsp
),它预先回答了安装过程中所有交互式问题,进入解压后的目录,复制并修改响应文件模板。
cd /database/database/response/ cp db_install.rsp db_install.rsp.bak vi db_install.rsp
在db_install.rsp
中,关键配置项如下:
oracle.install.option=INSTALL_DB_SWONLY
(仅安装软件)UNIX_GROUP_NAME=oinstall
INVENTORY_LOCATION=/u01/app/oraInventory
ORACLE_HOME=/u01/app/oracle/product/19c/dbhome_1
ORACLE_BASE=/u01/app/oracle
oracle.install.db.InstallEdition=EE
oracle.install.db.OSDBA_GROUP=dba
DECLINE_SECURITY_UPDATES=true
执行安装命令
切换到oracle
用户,执行runInstaller
并指定响应文件。
su - oracle cd /database/database ./runInstaller -silent -responseFile /database/database/response/db_install.rsp
安装过程会在终端输出进度信息,安装成功后,会提示以root
用户执行两个脚本。
su - root /u01/app/oraInventory/orainstRoot.sh /u01/app/oracle/product/19c/dbhome_1/root.sh
创建数据库与配置监听
软件安装完成后,还需要创建数据库实例并配置监听器,以便客户端可以连接。
静默配置监听器
同样使用响应文件或命令行参数来静默创建监听器。
su - oracle netca -silent -responseFile /database/database/response/netca.rsp
静默创建数据库
使用dbca
命令并附带参数来创建数据库。
dbca -silent -createDatabase -templateName General_Purpose.dbc -gdbname orcl -sid orcl -responseFile NO_VALUE -characterSet AL32UTF8 -sysPassword YourSysPassword -systemPassword YourSystemPassword -datafileDestination /u01/app/oracle/oradata -recoveryAreaDestination /u01/app/oracle/fast_recovery_area
通过以上步骤,您便可以在没有图形界面的CentOS服务器上,完整、高效地部署一套Oracle数据库系统,整个过程虽然前期准备较为繁琐,但一旦掌握,即可实现快速、标准化的重复部署。
相关问答FAQs
问题1:安装过程中如果失败,应该如何排查?
解答: 静默安装失败时,首先应检查终端输出的错误信息,最详细的日志位于Oracle的 inventory 目录下,通常是 $ORACLE_BASE/cfgtoollogs/dbca
(对于数据库创建)和 $ORACLE_HOME/logs
(对于软件安装),查看这些目录下的日志文件,可以找到具体的失败原因,如权限问题、依赖包缺失或参数配置错误,检查系统日志 /var/log/messages
也能提供一些线索。
问题2:如何设置Oracle数据库和监听器随系统自动启动?
解答: 实现开机自启需要两步,编辑 /etc/oratab
文件,将数据库实例对应的行末尾的 N
改为 Y
,orcl:/u01/app/oracle/product/19c/dbhome_1:Y
,创建一个 systemd
服务文件(如 /etc/systemd/system/oracle-rdbms.service
),在该文件中调用 dbstart
和 lsnrctl start
脚本来启动数据库和监听器,然后使用 systemctl daemon-reload
和 systemctl enable oracle-rdbms
命令即可配置开机自启。
【版权声明】:本站所有内容均来自网络,若无意侵犯到您的权利,请及时与我们联系将尽快删除相关内容!
发表回复