本文主要分享类Linux系统下Oracle11g的静默安装过程
前沿
最近需要装oracle,想装个11g的,刚开始用界面安装,死活调不出来图形安装界面,就只能改为静默安装了
安装环境centos 7.3 64位
安装步骤
- 1、环境检查
检查 swap分区、内存、磁盘大小、系统版本
一定要有swap分区,不然在安装检查的时候会检查不通过(赠送的腾讯云服务器貌似不带swap分区,需要自己搞一个,请自行搜索dd命令)
#df
#free
#uname -a
- 2、关闭selinux和防火墙
#临时关闭
setenforce 0
#永久关闭
sed -i '/^SELINUX=/s/SELINUX=.*/SELINUX=disabled/' /etc/selinux/config
#关闭防火墙
service iptables stop
- 3、修改主句名和host
可以使用hostname来查看是否已经设置了主机名,添加与主机名与IP对应记录,不然在安装数据库时会报错
#设置主机名
echo "oracle" > /etc/hostname
#增加对应的hosts记录
echo "127.0.0.1 oracle" >> /etc/hosts
- 4、修改内核参数
kernel.shmmax = 32903162(byte)为本机物理内存的一半,可以使用free查看,echo $(($(free | awk '/Mem/ {print $2}')/2))
#vim /etc/sysctl.conf
fs.aio-max-nr = 1048576
fs.file-max = 6815744
kernel.shmall = 2097152
kernel.shmmax = 32903162
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
- 5、修改pam验证登录
#echo "session required pam_limits.so" >> /etc/pam.d/login
- 6、修改用户配置文件
#vim /etc/profile #在最后添加
export LIBXCB_ALLOW_SLOPPY_LOCK=true
if [ $USER = "oracle" ]; then
if [ $SHELL = "/bin/sh" ]; then
ulimit -p 16384
ulimit -n 65536
else
ulimit -u 16384 -n 65536
fi
umask 022
fi
- 7、修改系统资源限制
cat >> /etc/security/limits.conf <<EOF
oracle soft nproc 2047
oracle hard nproc 16384
oracle soft nofile 1024
oracle hard nofile 65536
oracle soft stack 10240
EOF
- 8、准备用户与组
groupadd oinstall
groupadd dba
groupadd asmadmin
groupadd asmdba
useradd -g oinstall -G dba,asmdba oracle -d /home/oracle
- 9、准备安装目录
mkdir -p /u01/app/oracle/product/11.2.0/db_1
mkdir /u01/app/oraInventory
chown -R oracle:oinstall /u01
chmod -R 755 /u01
- 10、创建 /etc/oraInst.loc
vim /etc/oraInst.loc
inventory_loc=/db/app/oracle/oraInventory
inst_group=oinstall
chown oracle:oinstall /etc/oraInst.loc
chmod 664 /etc/oraInst.loc
- 11、配置oracle用户环境变量
cat /home/oracle/.bash_profile
export PATH
export ORACLE_BASE=/u01/app/oracle
export ORACLE_HOME=$ORACLE_BASE/product/11.2.0/db_1
export ORACLE_SID=orcl
export ORACLE_TERM=xterm
export PATH=$ORACLE_HOME/bin:/usr/sbin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/root/bin
export LD_LIBRARY_PATH=$ORACLE_HOME/lib:/lib:/usr/lib
export LANG=C
export NLS_LANG=AMERICAN_AMERICA.ZHS16GBK
export PATH
- 11、安装依赖包
#yum install gcc gcc-c++ libaio-devel compat-gcc-34 compat-gcc-34-c++ ksh
- 12、下载安装包
官网下载需要有oracle的账号才能下载
- 13、上传并解压安装包
必须先解压1of2 再解压2of2,我是把包上传在/home/oracle/database/目录
#chown -R oracle:oinstall /home/oracle/*
#su - oracle
#cd /home/oracle/database
#unzip ./linux.x64_11gR2_database_1of2.zip
#unzip ./linux.x64_11gR2_database_2of2.zip
- 14、配置安装应答文件
response下的=应答文件:
db_install.rsp:安装应答
dbca.rsp:创建数据库应答
netca.rsp:建立监听、本地服务名等网络设置的应答
#cd /home/oracle/database/database/response
#cp db_install.rsp db_install.rsp.default
#vim db_install.rsp
oracle.install.responseFileVersion=/oracle/install/rspfmt_dbinstall_response_schema_v11_2_0
oracle.install.option=INSTALL_DB_SWONLY
UNIX_GROUP_NAME=oinstall
INVENTORY_LOCATION=/u01/app/oraInventory
SELECTED_LANGUAGES=en,zh_CN
ORACLE_HOSTNAME=oracle
ORACLE_HOME=/u01/app/oracle/product/11.2.0/db_1
ORACLE_BASE=/u01/app/oracle
oracle.install.db.InstallEdition=EE
oracle.install.db.isCustomInstall=true
oracle.install.db.DBA_GROUP=dba
oracle.install.db.OPER_GROUP=oinstall
oracle.install.db.config.starterdb.type=GENERAL_PURPOSE
oracle.install.db.config.starterdb.globalDBName=orcl
oracle.install.db.config.starterdb.SID=orcl
oracle.install.db.config.starterdb.memoryLimit=512
oracle.install.db.config.starterdb.password.ALL=oracle
DECLINE_SECURITY_UPDATES=true
参数 | 说明 |
-silent | 表示以静默方式安装,不会有任何提示 |
-force | 允许安装到一个非空目录 |
-noconfig | 表示不运行配置助手netca |
-responseFile | 表示使用哪个响应文件,必需使用绝对路径 |
oracle.install.responseFileVersion | 响应文件模板的版本,参考原文件中的参数,该参数不要更改 |
oracle.install.option | 安装选项,INSTALL_DB_SWONLY只安装数据库软件;INSTALL_DB_AND_CONFIG安装数据库软件并建库;UPGRADE_DB升级数据库,本例只安装oracle软件,该参数不要更改 |
DECLINE_SECURITY_UPDATES | 是否需要在线安全更新,设置为false,该参数不要更改 |
ORACLE_HOSTNAME | 安装主机名 |
UNIX_GROUP_NAME | oracle用户用于安装软件的组名 |
INVENTORY_LOCATION | oracle产品清单目录 |
SELECTED_LANGUAGES | oracle运行语言环境,一般包括引文和简繁体中文 |
ORACLE_HOME | Oracle安装目录 |
ORACLE_BASE | oracle基础目录 |
oracle.install.db.InstallEdition | 安装版本类型,一般是企业版 |
oracle.install.db.isCustomInstall | 是否定制安装,默认Partitioning,OLAP,RAT都选上了 |
oracle.install.db.customComponents | 定制安装组件列表:除了以上默认的,可加上Label Security和Database Vault |
oracle.install.db.DBA_GROUP | oracle用户用于授予OSDBA权限的组名 |
oracle.install.db.OPER_GROUP | oracle用户用于授予OSOPER权限的组名 |
- 15、进行静默安装
安装过程可以再开一个窗口按照提示查看日志运行。当安装成功后会在执行安装命令的那个窗口跳出#Root scripts to run ··· 的内容
#cd /home/oracle/database/database
#./runInstaller -silent -responseFile /home/oracle/database/database/response/db_install.rsp -ignorePrereq
执行结果:
[oracle@oracle database]$ ./runInstaller -silent -responseFile /home/oracle/database/database/response/db_install.rsp -ignorePrereq
Starting Oracle Universal Installer...
Checking Temp space: must be greater than 120 MB. Actual 36511 MB Passed
Checking swap space: must be greater than 150 MB. Actual 2013 MB Passed
Preparing to launch Oracle Universal Installer from /tmp/OraInstall2019-12-16_02-25-49PM. Please wait ...[oracle@oracle database]$ [FATAL] [INS-32033] Central Inventory location is not writable.
CAUSE: Central Inventory location was not writable.
ACTION: Ensure that the inventory location is writable.
A log of this session is currently saved as: /tmp/OraInstall2019-12-16_02-25-49PM/installActions2019-12-16_02-25-49PM.log. Oracle recommends that if you want to keep this log, you should move it from the temporary location to a more permanent location.
^C
[oracle@oracle database]$ ./runInstaller -silent -responseFile /home/oracle/database/database/response/db_install.rsp -ignorePrereq
Starting Oracle Universal Installer...
Checking Temp space: must be greater than 120 MB. Actual 36511 MB Passed
Checking swap space: must be greater than 150 MB. Actual 2013 MB Passed
Preparing to launch Oracle Universal Installer from /tmp/OraInstall2019-12-16_02-28-38PM. Please wait ...[oracle@oracle database]$ You can find the log of this install session at:
/u01/app/oraInventory/logs/installActions2019-12-16_02-28-38PM.log
The following configuration scripts need to be executed as the "root" user.
#!/bin/sh
#Root scripts to run
/u01/app/oraInventory/orainstRoot.sh
/u01/app/oracle/product/11.2.0/db_1/root.sh
To execute the configuration scripts:
1. Open a terminal window
2. Log in as "root"
3. Run the scripts
4. Return to this window and hit "Enter" key to continue
Successfully Setup Software.
切换root执行
su - root
sh /u01/app/oracle/product/11.2.0/db_1/root.sh
sh /u01/app/orainstRoot.sh
- 16、静默配置监听程序
查看输出信息,若没有报错会在$TNS_ADMIN 下生成 listener.ora 和 sqlnet.ora
#netca /silent /responsefile /home/oracle/database/database/response/netca.rsp
- 17、静默方式建库
通过ps命令可以查看1521端口正在监听
#netstat -anp | grep 1521
#lsnrctl status
执行下面的命令进行建库
dbca -silent -createDatabase \
-templateName General_Purpose.dbc \
-gdbname orcl \
-sid orcl \
-responseFile NO_VALUE \
-characterSet ZHS16GBK \
-memoryPercentage 30 -emConfiguration LOCAL
中途需要回车输入数据库密码,这一步可能不能正常显示(第一次回车是输入密码,后面还需要输入回车进行密码确认)
执行结果:
# User specific environment and startup programs
Copying database files
1% complete
3% complete
11% complete
18% complete
26% complete
37% complete
Creating and starting Oracle instance
40% complete
45% complete
50% complete
55% complete
56% complete
60% complete
62% complete
Completing Database Creation
66% complete
70% complete
73% complete
85% complete
96% complete
100% complete
Look at the log file "/u01/app/oracle/cfgtoollogs/dbca/orcl/orcl.log" for further details.
查看/u01/app/oracle/cfgtoollogs/dbca/orcl/orcl.log,提示已经安装成功了
参数 | 说明 |
-silent | 指以静默方式执行dbca命令 |
-createDatabase | 指使用dbca |
-templateName | 指定用来创建数据库的模板名称,这里指定为 |
General_Purposedbc | 即一般用途的数据库模板 |
-gdbname | 指定创建的全局数据库名称,这里指定名称为 orcl(也要与环境变量中的一致) |
-sid | 指定数据库系统标识符,这里指定为 orcl,与数据库同名(也要与环境变量中的一致) |
-responseFile | 指定安装响应文件,NO_VALUE表示没有指定响应文件 |
-characterSet | 指定数据库使用的字符集,这里指定为AL32UTF8 |
-memoryPercentage | 指定用于oracle的物理内存的百分比,这里指定为30% |
-emConfiguration | 指定Enterprise Management的管理选项。 |
LOCAL | 表示数据库由Enterprise Manager本地管理 |
数据库成功安装之后默认是启动状态
1、进行实例进程检查
#ps -ef | grep ora_ | grep -v grep
2、查看监听状态
#lsnrctl status
3、登录查看实例状态
#sqlplus / as sysdba
至此,Oracle11g服务端就安装好了,可以尽情的造作了!
感谢内德的博客:https://blog.csdn.net/Nedved_L/article/details/88891575