ORACLE 11G 静默安装

摘要

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

1、安装前准备

1.1 创建组和用户

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

提示:若用户已经存在

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

1.2 创建oracle安装目录

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

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

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

[root@localhost ~]# vi /etc/selinux/config

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

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

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

1.4 优化系统内核参数

[root@localhost ~]# 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 使配置修改内核的参数生效

[root@localhost zhuzi]# sysctl -p

1.5 对oracle用户设置限制

[root@localhost ~]# vi /etc/security/limits.conf

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

1.6 设置用户变量

[root@localhost ~]# 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 #防止安装过程出现乱码

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

1.7 安装依赖包

[root@localhost
~]# 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 软件

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

2.1 上传安装文件到目录

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

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

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

# 解压第一个压缩包
[root@localhost src]# unzip p13390677_112040_Linux-x86-64_1of7.zip -d /data/database/ 
# 解压第二个压缩包
[root@localhost 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 目录
[root@localhost src]# cd /data/database/database/response 
# 将 db_install.rsp 备份一份,以免修改出错
[root@localhost response]# cp db_install.rsp db_install_copy.rsp 

# 删除应答文件中的注释行(以#开头)
[root@localhost ~]# sed -i 's/^#.*$//g'  *.rsp
# 刪除沒有內容的空行(^$)
[root@localhost ~]# sed -i '/^$/d'  *.rsp
# 编辑db_install.rsp 文件
[root@localhost 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文件,否则安装会报错
[root@localhost src]#  vi /etc/oraInst.loc
inventory_loc=/data/oracle/oraInventory
inst_group=oinstall

2.2 开始静默安装

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

安装成功界面:

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

[root@localhostdatabase]$ su root
[root@localhost database]$ sh/data/oracle/product/11.2.0/db_1/root.sh

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

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

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

成功日志界面:

3 配置监听程序

监听命令
启动监听:lsnrctl start
停止监听:lsnrctl stop
重启监听:lsnrctl reload
查看监听:lsnrctl status

3.1 编辑netca.rsp文件

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

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,所以写的全路径

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

lsnrctl status

3.4 静默dbca建库

[oracle@localhost ~]$ su - root # 切换到 root 用户
[oracle@localhost ~]$ 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 用户
[oracle@localhost ~]$ su - oracle 
# 开始建库
[oracle@localhost ~]$  /data/oracle/product/11.2.0/dbhome_1/bin/dbca -silent -responseFile /data/database/database/response/dbca.rsp 

3.5 启动数据库

sqlplus  /  as   sysdba
startup   # 可能提示已经启动数据库
使用 show parameter;或者 select table_name from dba_tables 看看是否正常
  • 2
    点赞
  • 16
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

lxd663810

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值