天天看点

ORACLE 11G 静默安装摘要1、安装前准备2 开始安装oracle 软件3 配置监听程序

摘要

linux 无桌面环境下,静默安装oracle11g。

1、安装前准备

1.1 创建组和用户

# 创建oinstall组
[[email protected] ~]# groupadd oinstall 
# 创建dba组
[[email protected] ~]# groupadd dba
# 创建oracle用户并将用户加入到dba组与oinstall组 
[[email protected] ~]# useradd -g oinstall -g dba -m oracle 
           

提示:若用户已经存在

[[email protected] zhuzi]# usermod -a -G oinstall oracle
[[email protected] zhuzi]# usermod -a -G dba oracle
           
# 设置oracle用户密码
[[email protected] zhuzi]# passwd oracle 
你的密码
           

1.2 创建oracle安装目录

[[email protected] ~]# mkdir -p /data/oracle               #oracle根目录
[[email protected] ~]# mkdir -p /data/database             #用于存放Oracle解压后的安装包
[[email protected] ~]# mkdir -p /data/oraInventory         #数据库配置文件目录
[[email protected] ~]# chown -R oracle:oinstall  /data     #修改目录所有者为oracle

# 设置目录所有者为oinstall用户组的oracle用户
[[email protected] ~]# chown -R oracle:oinstall /data/oracle  
[[email protected] ~]# chown -R oracle:oinstall /data/oraInventory
[[email protected] ~]# chown -R oracle:oinstall /data/database
           

首先关闭selinux,修改/etc/selinux/config文件,设置SELINUX=disabled。修改好后如下图所示,这个如果修改好后,需要重启才能生效:

[[email protected] ~]# vi /etc/selinux/config
           
ORACLE 11G 静默安装摘要1、安装前准备2 开始安装oracle 软件3 配置监听程序

1.3 关闭防火墙,并设置开机不启动防火墙。

设置好后不需要重启,会立即生效。(也可以不用关闭)

[[email protected] ~]# systemctl stop firewalld.service      #关闭防火墙
[[email protected] ~]# systemctl disable firewalld.service   #设置开机不启动防火墙
           

1.4 优化系统内核参数

[[email protected] ~]# vi /etc/sysctl.conf
           

1.4.1 编辑/etc/sysctl.conf文件,在文件尾添加如下内容

net.ipv4.icmp_echo_ignore_broadcasts = 1
net.ipv4.conf.all.rp_filter = 1
fs.file-max = 6815744                      #设置最大打开文件数
fs.aio-max-nr = 1048576
kernel.shmall = 2097152                    #共享内存的总量,8G内存设置:2097152*4k/1024/1024
kernel.shmmax = 2147483648                 #最大共享内存的段大小
kernel.shmmni = 4096                       #整个系统共享内存端的最大数
kernel.sem = 250 32000 100 128
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
           

1.4.2 使配置修改内核的参数生效

[[email protected] zhuzi]# sysctl -p
           
ORACLE 11G 静默安装摘要1、安装前准备2 开始安装oracle 软件3 配置监听程序

1.5 对oracle用户设置限制

[[email protected] ~]# vi /etc/security/limits.conf

# 在文件后半部分,添加如下内容中斜体部分内容,保存退出。
oracle soft nproc 2047
oracle hard nproc 16384
oracle soft nofile 1024
oracle hard nofile 65536
           

1.6 设置用户变量

[[email protected] ~]# vi /home/oracle/.bash_profile

# 在文件末尾添加如下内容:
export ORACLE_BASE=/data/oracle #oracle数据库安装目录
export ORACLE_HOME=$ORACLE_BASE/product/11.2.0/dbhome_1 #oracle数据库路径
export PATH=$ORACLE_HOME/bin:/usr/sbin:$PATH #添加系统环境变量
export LD_LIBRARY_PATH=$ORACLE_HOME/lib:/lib:/usr/lib #添加系统环境变
export ORACLE_SID=orcl #oracle启动数据库实例名
export ORACLE_PID=ora11g
export NLS_LANG=AMERICAN_AMERICA.AL32UTF8
export LANG=C #防止安装过程出现乱码

# 使配置的环境变量生效:
[[email protected] ~]# source /home/oracle/.bash_profile
           

1.7 安装依赖包

[[email protected]
~]# yum -y install binutils compat-libcap1 compat-libstdc++-33
 compat-libstdc++-33*i686 compat-libstdc++-33*.devel compat-libstdc++-33
 compat-libstdc++-33*.devel gcc gcc-c++ glibc glibc*.i686 glibc-devel
 glibc-devel*.i686 ksh libaio libaio*.i686 libaio-devel libaio-devel*.devel
 libgcc libgcc*.i686 libstdc++ libstdc++*.i686 libstdc++-devel
 libstdc++-devel*.devel libXi libXi*.i686 libXtst libXtst*.i686 make sysstat
 unixODBC unixODBC*.i686 unixODBC-devel unixODBC-devel*.i686
           

2 开始安装oracle 软件

# 前面设置很多内容,保险起见,重启一次系统。
[[email protected] ~]# reboot
           

2.1 上传安装文件到目录

上传到目录 :/usr/local/src

我使用的xshell工具,root用户直接在命令窗口cd /usr/local/src ,然后鼠标拖住那两个安装包至命令窗口就可以自动上传。不行的话就用其他工具。

用root用户解压这两个文件到/data/database 目录下,设置所属用户与组,再切换至oracle用户加载一下环境变量,开始安装。

# 解压第一个压缩包
[[email protected] src]# unzip p13390677_112040_Linux-x86-64_1of7.zip -d /data/database/ 
# 解压第二个压缩包
[[email protected] src]# unzip p13390677_112040_Linux-x86-64_2of7.zip -d /data/database/ 
           

解压后进入 /data/database/database/response 目录,该目录下有三个 .rsp 文件,用来作为静默安装时的应答文件的模板。

三个文件作用分别是:

db_install.rsp:安装应答

dbca.rsp:创建数据库应答

netca.rsp:建立监听、本地服务名等网络设置的应答

# 进入 response 目录
[[email protected] src]# cd /data/database/database/response 
# 将 db_install.rsp 备份一份,以免修改出错
[[email protected] response]# cp db_install.rsp db_install_copy.rsp 

# 删除应答文件中的注释行(以#开头)
[[email protected] ~]# sed -i 's/^#.*$//g'  *.rsp
# 刪除沒有內容的空行(^$)
[[email protected] ~]# sed -i '/^$/d'  *.rsp
           
# 编辑db_install.rsp 文件
[[email protected] response ]# vim db_install.rsp
           

# 按照下方的参数进行修改,需要修改的地方标红了

oracle.install.responseFileVersion=/oracle/install/rspfmt_dbinstall_response_schema_v11_2_0

oracle.install.option= INSTALL_DB_SWONLY #只安装软件

ORACLE_HOSTNAME= oracledb

UNIX_GROUP_NAME= oinstall

INVENTORY_LOCATION= /data/oracle/oraInventory

SELECTED_LANGUAGES= en,zh_CN

ORACLE_HOME= /data/oracle/product/11.2.0/dbhome_1

ORACLE_BASE= /data/oracle

oracle.install.db.InstallEdition= EE

oracle.install.db.isCustomInstall=false

oracle.install.db.customComponents=oracle.server:11.2.0.1.0,oracle.sysman.ccr:10.2.7.0.0,oracle.xdk:11.2.0.1.0,oracle.rdbms.oci:11.2.0.1.0,oracle.network:11.2.0.1.0,oracle.network.listener:11.2.0.1.0,oracle.rdbms:11.2.0.1.0,oracle.options:11.2.0.1.0,oracle.rdbms.partitioning:11.2.0.1.0,oracle.oraolap:11.2.0.1.0,oracle.rdbms.dm:11.2.0.1.0,oracle.rdbms.dv:11.2.0.1.0,orcle.rdbms.lbac:11.2.0.1.0,oracle.rdbms.rat:11.2.0.1.0

oracle.install.db.DBA_GROUP= dba

oracle.install.db.OPER_GROUP= oinstall

oracle.install.db.CLUSTER_NODES=

oracle.install.db.config.starterdb.type=GENERAL_PURPOSE #可不写

oracle.install.db.config.starterdb.globalDBName=ora11g #可不写

oracle.install.db.config.starterdb.SID=ora11g #可不写

oracle.install.db.config.starterdb.characterSet=AL32UTF8

oracle.install.db.config.starterdb.memoryOption=true

oracle.install.db.config.starterdb.memoryLimit=1500 #可不写

oracle.install.db.config.starterdb.installExampleSchemas=false

oracle.install.db.config.starterdb.enableSecuritySettings=true

oracle.install.db.config.starterdb.password.ALL=oracle #可不写

oracle.install.db.config.starterdb.password.SYS=oracle #可不写

oracle.install.db.config.starterdb.password.SYSTEM=

oracle.install.db.config.starterdb.password.SYSMAN=

oracle.install.db.config.starterdb.password.DBSNMP=

oracle.install.db.config.starterdb.control=DB_CONTROL

oracle.install.db.config.starterdb.gridcontrol.gridControlServiceURL=

oracle.install.db.config.starterdb.dbcontrol.enableEmailNotification=false

oracle.install.db.config.starterdb.dbcontrol.emailAddress=

oracle.install.db.config.starterdb.dbcontrol.SMTPServer=

oracle.install.db.config.starterdb.automatedBackup.enable=false

oracle.install.db.config.starterdb.automatedBackup.osuid=

oracle.install.db.config.starterdb.automatedBackup.ospwd=

oracle.install.db.config.starterdb.storageType=FILE_SYSTEM_STORAGE #可不写

oracle.install.db.config.starterdb.fileSystemStorage.dataLocation=/data/oracle/oradata #可不写

oracle.install.db.config.starterdb.fileSystemStorage.recoveryLocation=/data/oracle/fast_recovery_area #可不写

oracle.install.db.config.asm.diskGroup=

oracle.install.db.config.asm.ASMSNMPPassword=

MYORACLESUPPORT_USERNAME=

MYORACLESUPPORT_PASSWORD=

SECURITY_UPDATES_VIA_MYORACLESUPPORT=

DECLINE_SECURITY_UPDATES= true #一定要设为 true

PROXY_HOST=

PROXY_PORT=

PROXY_USER=

PROXY_PWD=

# 以root用户需创建/etc/oraInst.loc文件,否则安装会报错
[[email protected] src]#  vi /etc/oraInst.loc
inventory_loc=/data/oracle/oraInventory
inst_group=oinstall
           

2.2 开始静默安装

# 指定文件夹及子目录的所属用户与组
[[email protected] src]# chown -R oracle:oinstall /data
# 切换至oracle用户
[[email protected] src]# su - oracle 
# 进入家目录
[[email protected] src]$ cd 
# 加载环境变量
[[email protected] ~]$ source .bash_profile 
# 进入oracle安装程序存放的目录
[[email protected] ~]$ cd /data/database/database/ 
# 开始安装
[[email protected] database]$ ./runInstaller -silent -force -noconfig -ignoreSysPrereqs -ignorePrereq  -showProgress -responseFile /data/database/database/response/db_install.rsp   
           

安装成功界面:

ORACLE 11G 静默安装摘要1、安装前准备2 开始安装oracle 软件3 配置监听程序

当出现Successfully Setup Software. 证明已经安装成功,然后根据提示以 root 用户执行脚本

[[email protected]]$ su root
[[email protected] database]$ sh/data/oracle/product/11.2.0/db_1/root.sh
           

安装需要一会儿,如果想看安装进度,可以再打开一个窗口,输出会话日志

tail -f 日志文件 (下图中红色框中为日志文件绝对路径)

ORACLE 11G 静默安装摘要1、安装前准备2 开始安装oracle 软件3 配置监听程序

如:tail -f /tmp/OraInstall2023-01-13_10-07-26AM/installActions2023-01-13_10-07-26AM.log

ORACLE 11G 静默安装摘要1、安装前准备2 开始安装oracle 软件3 配置监听程序

成功日志界面:

ORACLE 11G 静默安装摘要1、安装前准备2 开始安装oracle 软件3 配置监听程序

3 配置监听程序

监听命令

启动监听:lsnrctl start

停止监听:lsnrctl stop

重启监听:lsnrctl reload

查看监听:lsnrctl status

3.1 编辑netca.rsp文件

ORACLE 11G 静默安装摘要1、安装前准备2 开始安装oracle 软件3 配置监听程序

注意:如果规划的监听端口是默认值的话,那么就不需要修改该监听响应文件。

3.2 静默创建监听(使用oracle用户)

$ORACLE_HOME/bin/netca -silent -responseFile /data/database/database/response/netca.rsp
或者
/data/oracle/product/11.2.0/dbhome_1/bin/netca  -silent -responseFile /data/database/database/response/netca.rsp      # 怕找不到ORACLE_HOME,所以写的全路径
           
ORACLE 11G 静默安装摘要1、安装前准备2 开始安装oracle 软件3 配置监听程序

3.3 查看监听(使用oracle用户)

lsnrctl status
ORACLE 11G 静默安装摘要1、安装前准备2 开始安装oracle 软件3 配置监听程序

3.4 静默dbca建库

[[email protected] ~]$ su - root # 切换到 root 用户
[or[email protected] ~]$ vi /data/database/database/response/dbca.rsp
           

修改如下内容:

注意:标红的行为需要修改的行。

[GENERAL]

RESPONSEFILE_VERSION ="11.2.0"

OPERATION_TYPE ="createDatabase"

[CREATEDATABASE]

GDBNAME ="orcl"

SID ="orcl"

TEMPLATENAME ="General_Purpose.dbc"

characterSet = "ZHS16GBK" #因为涉及到将在用库的dmp文件导入该主库,所以这里的字符集应该与在用库保持一致。

memoryPercentage= "60"

emConfiguration= "LOCAL"

sysPassword ="oracle"

systemPassword= "oracle"

dbsnmpPassword= "oracle"

sysmanPassword= "oracle"

[createTemplateFromDB]

SOURCEDB ="myhost:1521:orcl"

SYSDBAUSERNAME ="system"

TEMPLATENAME = "MyCopy TEMPLATE"

[createCloneTemplate]

SOURCEDB ="orcl"

TEMPLATENAME = "MyClone TEMPLATE"

[DELETEDATABASE]

SOURCEDB ="orcl"

[generateScripts]

TEMPLATENAME = "NewDatabase"

GDBNAME ="orcl11.us.oracle.comGDBNAME ="orcl11.us.oracle.com"

[CONFIGUREDATABASE]

[ADDINSTANCE]

DB_UNIQUE_NAME ="orcl11g.us.oracle.comDB_UNIQUE_NAME ="orcl11g.us.oracle.com"

NODELIST=

SYSDBAUSERNAME ="sys"

[DELETEINSTANCE]

DB_UNIQUE_NAME =" orcl11g.us.oracle.com "

INSTANCENAME ="orcl11g"

SYSDBAUSERNAME ="sys"

保存并退出:wq

# 切换到 oracle 用户
[[email protected] ~]$ su - oracle 
# 开始建库
[[email protected] ~]$  /data/oracle/product/11.2.0/dbhome_1/bin/dbca -silent -responseFile /data/database/database/response/dbca.rsp 
           
ORACLE 11G 静默安装摘要1、安装前准备2 开始安装oracle 软件3 配置监听程序

3.5 启动数据库

sqlplus  /  as   sysdba
startup   # 可能提示已经启动数据库
使用 show parameter;或者 select table_name from dba_tables 看看是否正常