oracle静默安装

本文档详述了在Linux系统上静默安装Oracle数据库的过程,包括安装依赖包、创建用户和组、修改内核参数、设置用户限制、禁用TransparentHugePages、配置监听程序和创建数据库等步骤。最后,还解决了启动数据库时遇到的问题并给出了解决方案。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

oracle静默安装

安装依赖包

[root@master ~]# 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

创建用户和组

[root@master ~]# groupadd oinstall 
[root@master ~]# groupadd dba 
[root@master ~]# groupadd oper && useradd -g oinstall -G dba oracle

[root@master ~]# echo "123" | passwd oracle --stdin

修改内核参数

// 在/etc/sysctl.conf添加如下参数,如果系统中某个参数高于下面的参数的值 ,保留较大的值,下面的数值只是官方要求的最小值,可以根据系统调整数值,以优化系统性能
[root@master ~]# vim /etc/sysctl.conf 
[root@master ~]# cat /etc/sysctl.conf
# sysctl settings are defined through files in
# /usr/lib/sysctl.d/, /run/sysctl.d/, and /etc/sysctl.d/.
#
# Vendors settings live in /usr/lib/sysctl.d/.
# To override a whole file, create a new file with the same in
# /etc/sysctl.d/ and put new settings there. To override
# only specific settings, add a file with a lexically later
# name in /etc/sysctl.d/ and put new settings there.
#
# For more information, see sysctl.conf(5) and sysctl.d(5).
fs.aio-max-nr = 1048576
fs.file-max = 6815744
kernel.shmall = 2097152
kernel.shmmax = 536870912
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

// 使内核参数生效
[root@master ~]# sysctl -p 
fs.aio-max-nr = 1048576
fs.file-max = 6815744
kernel.shmall = 2097152
kernel.shmmax = 536870912
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

// 在/etc/security/limits.conf中添加如下参数
[root@master ~]# vim /etc/security/limits.conf
oracle              soft    nproc   2047
oracle              hard    nproc   16384
oracle              soft    nofile  1024
oracle              hard    nofile  65536

// 在/etc/pam.d/login文件中,添加下面内容
[root@master ~]# vim /etc/pam.d/login
[root@master ~]# cat /etc/pam.d/login
#%PAM-1.0
auth [user_unknown=ignore success=ok ignore=ignore default=bad] pam_securetty.so
auth       substack     system-auth
auth       include      postlogin
account    required     pam_nologin.so
account    include      system-auth
password   include      system-auth
# pam_selinux.so close should be the first session rule
session    required     pam_selinux.so close
session    required     pam_loginuid.so
session    optional     pam_console.so
# pam_selinux.so open should only be followed by sessions to be executed in the u
ser contextsession    required     pam_selinux.so open
session    required     pam_namespace.so
session    optional     pam_keyinit.so force revoke
session    include      system-auth
session    include      postlogin
-session   optional     pam_ck_connector.so
session required /lib64/security/pam_limits.so
session required pam_limits.so

// /etc/profile 文件中添加如下内容
[root@master ~]# vim /etc/profile
if [ $USER = "oracle" ]; then
   if [ $SHELL = "/bin/ksh" ]; then
       ulimit -p 16384
       ulimit -n 65536
    else
       ulimit -u 16384 -n 65536
   fi
fi

//使用/etc/profile文件生效
[root@master ~]# cat /sys/kernel/mm/transparent_hugepage/enabled 
[always] madvise never  ## 查看是否启用 如果显示 [always]说明启用了

// 禁用Transparent HugePages,在/etc/grub.conf添加如下内容
[root@master ~]# echo never > /sys/kernel/mm/transparent_hugepage/enabled

安装Oracle

//创建数据存放目录
[root@master ~]# mkdir -p /opt/data/oracle 
[root@master ~]# chown -R oracle:oinstall /opt/data/oracle/
[root@master ~]# chmod -R 775 /opt/data/oracle/

//添加环境变量
PATH=$PATH:$HOME/.local/bin:$HOME/bin
CLASSPATH=$ORACLE_HOME/JRE:$ORACLE_HOME/jlib:$ORACLE_HOME/rdbms/jlib;
export ORACLE_TERM=xterm
export CLASSPATH
export  LD_LIBRARY_PATH
LD_LIBRARY_PATH=$ORACLE_HOME/lib:/lib:/usr/lib;
export ORACLE_BASE=/data/oracle
export ORACLE_HOME=/data/oracle/product/11.2.0/dbhome_1
export ORACLE_SID=HTGLSJZXDB
export PATH=$ORACLE_HOME/bin:$ORACLE_HOME/OPatch:$ORACLE_HOME/jdk/bin:$PATH
export NLS_DATE_FORMAT="YYYY-MM-DD HH24:MI:SS"

//重启系统
reboot

//解压
[root@oracledb src]# unzip -q linux.x64_11gR2_database_1of2.zip.zip -d /opt/data/
[root@oracledb src]# unzip -q linux.x64_11gR2_database_2of2.zip.zip -d /opt/data/
[root@oracledb src]# cd /opt/data/
[root@oracledb data]# mkdir -p /opt/data/etc
[root@oracledb data]# ls
database  etc  oracle
[root@oracledb data]# cp database/response/* /opt/data/etc/

//修改变量的值
[root@oracledb data]# cp database/response/* /opt/data/etc/
[root@oracledb data]# vim etc/db_install.rsp 
oracle.install.option=INSTALL_DB_SWONLY
DECLINE_SECURITY_UPDATES=true
UNIX_GROUP_NAME=oinstall
INVENTORY_LOCATION=/opt/data/oracle/inventory
SELECTED_LANGUAGES=en,zh_CN
ORACLE_HOSTNAME=oracledb
ORACLE_HOME=/opt/data/oracle/product/11.2.0
ORACLE_BASE=/opt/data/oracle
oracle.install.db.InstallEdition=EE
oracle.install.db.isCustomInstall=true
oracle.install.db.DBA_GROUP=dba
oracle.install.db.OPER_GROUP=dba

// 开始安装
[oracle@oracledb database]$ ./runInstaller -silent -responseFile /opt/data/etc/db_install.rsp -ignorePrereq
正在启动 Oracle Universal Installer...

检查临时空间: 必须大于 120 MB。   实际为 7342 MB    通过
检查交换空间: 必须大于 150 MB。   实际为 2047 MB    通过
准备从以下地址启动 Oracle Universal Installer /tmp/OraInstall2022-01-08_09-31-13AM. 
请稍候... [WARNING] [INS-32055] 主产品清单位于 Oracle 基目录中。
   原因: 主产品清单位于 Oracle 基目录中。
   操作: Oracle 建议将此主产品清单放置在 Oracle 基目录之外的位置中。
   可以在以下位置找到本次安装会话的日志:
 /opt/data/oracle/inventory/logs/installActions2022-01-08_09-31-13AM.log
 
以 root 用户的身份执行以下脚本:
	1. /opt/data/oracle/inventory/orainstRoot.sh
	2. /opt/data/oracle/product/11.2.0/root.sh


信息: Number of scripts to be executed as root user = 2
信息: Shutting down OUISetupDriver.JobExecutorThread
信息: 正在清除, 请稍候...
信息: Dispose the install area control object
信息: Update the state machine to STATE_CLEAN
Successfully Setup Software.

//使用root用户执行脚本
[oracle@oracledb database]$ su -
密码:
上一次登录:六 18 09:08:53 CST 2022192.168.88.1pts/0 上
[root@oracledb ~]# 
           
[root@oracledb ~]# sh /opt/data/oracle/inventory/orainstRoot.sh 
更改权限/opt/data/oracle/inventory.
添加组的读取和写入权限。
删除全局的读取, 写入和执行权限。

更改组名/opt/data/oracle/inventory 到 oinstall.
脚本的执行已完成。
[root@oracledb ~]# sh /opt/data/oracle/product/11.2.0/root.sh 
Check /opt/data/oracle/product/11.2.0/install/root_oracledb_2022-01-08_09-46-18.log 
for the output of root script


//配置监听程序
[oracle@oracledb bin]$ /opt/data/oracle/product/11.2.0/bin/netca -silent -responseFile /opt/data/etc/netca.rsp 
正在对命令行参数进行语法分析:
参数"silent" = true
参数"responsefile" = /opt/data/etc/netca.rsp
完成对命令行参数进行语法分析。
Oracle Net Services 配置:
完成概要文件配置。
Oracle Net 监听程序启动:
    正在运行监听程序控制: 
      /opt/data/oracle/product/11.2.0/bin/lsnrctl start LISTENER
    监听程序控制完成。
    监听程序已成功启动。
监听程序配置完成。
成功完成 Oracle Net Services 配置。退出代码是0

[oracle@oracledb bin]$ ss -antl 
State      Recv-Q Send-Q Local Address:Port               Peer Address:Port         

LISTEN     129    128            *:80                         *:*                  
LISTEN     0      128            *:22                         *:*                  
LISTEN     0      100    127.0.0.1:25                         *:*                  
LISTEN     0      128         [::]:1521                    [::]:*                  
LISTEN     0      128         [::]:22                      [::]:*                  
LISTEN     0      100        [::1]:25                      [::]:*     

//静默创建数据库
[oracle@oracledb bin]$ vim /opt/data/etc/dbca.rsp
[GENERAL]
RESPONSEFILE_VERSION = "11.2.0"
OPERATION_TYPE = "createDatabase"
[CREATEDATABASE]
GDBNAME = "orcl"
SID = "ora11g"
SYSPASSWORD = "oracle"
SYSTEMPASSWORD = "oracle"
SYSMANPASSWORD = "oracle"
DBSNMPPASSWORD = "oracle"
DATAFILEDESTINATION =/opt/data/oracle/oradata
RECOVERYAREADESTINATION=/opt/data/oracle/fast_recovery_area
CHARACTERSET = "AL32UTF8"
TOTALMEMORY = "1638"

//创建静默库
[oracle@oracledb bin]$ /opt/data/oracle/product/11.2.0/bin/dbca -silent -responseFile /opt/data/etc/dbca.rsp
 复制数据库文件
1% 已完成
3% 已完成
11% 已完成
18% 已完成
26% 已完成
37% 已完成
正在创建并启动 Oracle 实例
40% 已完成
45% 已完成
50% 已完成
55% 已完成
56% 已完成
60% 已完成
62% 已完成
正在进行数据库创建
66% 已完成
70% 已完成
73% 已完成
85% 已完成
96% 已完成
100% 已完成
有关详细信息, 请参阅日志文件 "/opt/data/oracle/cfgtoollogs/dbca/orcl/orcl.log"[oracle@oracledb bin]$ ss -antl 
State      Recv-Q Send-Q Local Address:Port               Peer Address:Port         
     LISTEN     129    128            *:80                         *:*                  
LISTEN     0      128            *:22                         *:*                  
LISTEN     0      100    127.0.0.1:25                         *:*                  
LISTEN     0      128         [::]:36675                   [::]:*                  
LISTEN     0      128         [::]:1521                    [::]:*                  
LISTEN     0      128         [::]:22                      [::]:*                  
LISTEN     0      100        [::1]:25                      [::]:*      

//登入数据库
[oracle@oracledb ~]$ sqlplus / as sysdba 

SQL*Plus: Release 11.2.0.4.0 Production on Sat Jan 8 10:32:40 2022

Copyright (c) 1982, 2013, Oracle.  All rights reserved.



Connected to an idle instance.

SQL> startup
ORA-01078: failure in processing system parameters
LRM-00109: could not open parameter file '/opt/data/oracle/product/11.2.0/dbs/initora11g.ora'
SQL> exit

//解决方法
[root@oracledb ~]# cp /opt/data/oracle/admin/orcl/pfile/init.ora.08202210160 /opt/data/oracle/product/11.2.0/dbs/initora11g.ora
[root@oracledb ~]# chown -R oracle:oinstall /opt/data/oracle/product/11.2.0/dbs/initora11g.ora

//在登入
SQL> startup          
ORACLE instance started.

Total System Global Area  409194496 bytes
Fixed Size		    2253744 bytes
Variable Size		  322964560 bytes
Database Buffers	   79691776 bytes
Redo Buffers		    4284416 bytes
Database mounted.
Database opened.

SQL> select * from v$version;

BANNER
--------------------------------------------------------------------------------
Oracle Database 11g Enterprise Edition Release 11.2.0.4.0 - 64bit Production
PL/SQL Release 11.2.0.4.0 - Production
CORE	11.2.0.4.0	Production
TNS for Linux: Version 11.2.0.4.0 - Production
NLSRTL Version 11.2.0.4.0 - Production
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值