Centos7静默安装Oracle11g并设置开机自启

之前由于工作需要,在某县公安局安装Oracle数据库,由于公安局的内网环境无法使用访问互联网,所以参考了某位大佬的文章进行了安装:

静默安装Oracle11G

这里记录一下安装的过程用于备忘。

1.环境准备

操作系统:Centos7.6 64位
Oracle11g压缩包:linux.x64_11gR2_database_1of2.zip、linux.x64_11gR2_database_2of2.zip (下载链接:pan.baidu.com/s/1sNEu2XQr… 提取码:5m9r)

2.检测依赖

运行命令

rpm -q binutils compat-libstdc++-33 elfutils-libelf elfutils-libelf-devel gcc gcc-c++ glibc glibc-common glibc-devel glibc-headers kernel-headers ksh libaio  libaio-devel libgcc libgomp libstdc++ libstdc++-devel make numactl-devel sysstat unixODBC unixODBC-devel
复制代码

执行这个命令,会给出安装oracle11g所缺少的依赖。一般来说在centos7中都能通过:

yum -y install xxx(缺少的依赖名)
复制代码

这个方式来进行安装。
不过由于我这里安装时处于内网环境,同时系统也是由公安局自行安装在某地的虚拟机上,所以我通过阿里的镜像站进行了所有依赖包的下载,就是缺什么依赖就在这里搜什么名称,然后将rpm文件下载下来再一起打包传到服务器上解压安装。

下载rpm包,通过命令:

rpm -ivh xxx.rpm
复制代码

来进行安装

3.安装前的准备

创建目录修改属组和权限

groupadd oinstall
groupadd dba
useradd -g oinstall -G dba oracle
passwd oracle 
mkdir -p /u01/app/oracle/product/11.2.0/db_1
mkdir -p /u01/app/oracle/oradata
mkdir -p /u01/app/oracle/inventory
mkdir -p /u01/app/oracle/fast_recovery_area
chown -R oracle.oinstall /u01/app/oracle
chmod -R 755 /u01/app/oracle
复制代码

语句的作用依次为:前面创建的目录主要作用为 Oracle家目录、数据文件存放位置,安装日志存放位置,快速恢复区 修改属组,修改权限

服务器配置修改

#修改主机名
vim /etc/hosts
#host文件中添加
127.0.0.1 oracledb
复制代码
#开放端口1521
firewall-cmd --zone=public --add-port=1521/tcp --permanent #--permanent参数使设置永久生效
firewall-cmd --reload #重新加载防火墙
firewall-cmd --list-ports --zone=public  #查看是否开放
复制代码
#关闭selinux
vim /etc/sysconfig/selinux
#修改selinux中的值
SELINUX=disabled
#修改后重启服务器,或执行以下命令皆可生效:
setenforce 0           
复制代码
#修改内核参数
vim /etc/sysctl.conf
#####添加以下内容
fs.aio-max-nr = 1048576
fs.file-max = 6815744
kernel.shmall = 2097152
kernel.shmmax = 1073741824
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
#####其中kernel.shmmax = 1073741824为本机物理内存(2G)的一半,单位为byte。
sysctl -p #使修改生效
复制代码
#修改用户限制文件
vim /etc/security/limits.conf
####添加以下内容
oracle    soft    nproc    2047
oracle    hard    nproc    16384
oracle    soft    nofile    1024
oracle    hard    nofile    65536
oracle    soft    stack    10240
####
#修改/etc/pam.d/login文件
vim /etc/pam.d/login
#添加以下内容
session required  /lib64/security/pam_limits.so
session required   pam_limits.so
复制代码

这里limits.conf配置的比较随意,我找了一篇limits.conf的参考

#配置oracle用户的环境变量
su - oracle
vim ~/.bash_profile
###添加
ORACLE_BASE=/u01/app/oracle
ORACLE_HOME=$ORACLE_BASE/product/11.2.0/db_1
ORACLE_SID=orcl
PATH=$PATH:$ORACLE_HOME/bin
export ORACLE_BASE ORACLE_HOME ORACLE_SID PATH
###
#使文件中的配置立即生效
. ~/.bash_profile
复制代码

4.正式安装

#切换到root用户
su root
cd /tmp/
mkdir oracle
cd oracle
#通过rz命令上传linux.x64_11gR2_database的两个压缩包
#解压
unzip linux.x64_11gR2_database_1of2.zip & unzip linux.x64_11gR2_database_2of2.zip 
复制代码

解压完成后

#编辑静默安装响应文件
cd /tmp/oracle/database/response/
vim db_install.rsp
###修改以下内容
oracle.install.option=INSTALL_DB_SWONLY
ORACLE_HOSTNAME=oracle         
UNIX_GROUP_NAME=oinstall
INVENTORY_LOCATION=/u01/app/oracle/inventory
SELECTED_LANGUAGES=en,zh_CN
ORACLE_HOME=/u01/app/oracle/product/11.2.0/db_1
ORACLE_BASE=/u01/app/oracle
oracle.install.db.InstallEdition=EE
oracle.install.db.DBA_GROUP=dba
oracle.install.db.OPER_GROUP=dba
DECLINE_SECURITY_UPDATES=true
###
#开始安装软件
chown -R oracle:oinstall /tmp/oracle/
su - oracle
cd /tmp/oracle/database/
./runInstaller -silent -responseFile /tmp/oracle/database/response/db_install.rsp -ignorePrereq
复制代码

看到如下打印,则已经开始安装

此时可以另外开一个窗口查看日志文件
经过一段时间日志输出,看见原来的窗口出现如下文字
切换到root用户执行上述的脚本

exit
/u01/app/oracle/inventory/orainstRoot.sh
/u01/app/oracle/product/11.2.0/db_1/root.sh
复制代码

静默方式配置监听:

su - oracle
netca /silent /responseFile /tmp/oracle/database/response/netca.rsp
复制代码

出现如下文字,则监听启动完成:

查看端口1521是否能被监听:

netstat -tnulp | grep 1521
复制代码

监听的启动和关闭命令

lsnrctl start 
lsnrctl stop
复制代码

静默方式建库:

cd /tmp/oracle/database/response/
cp dbca.rsp dbca.rsp.bak
vim dbca.rsp
###设置以下参数:
GDBNAME= "orcl"
SID =" orcl"
SYSPASSWORD= "oracle"
SYSTEMPASSWORD= "oracle"
SYSMANPASSWORD= "oracle"
DBSNMPPASSWORD= "oracle"
DATAFILEDESTINATION=/u01/app/oracle/oradata
RECOVERYAREADESTINATION=/u01/app/oracle/fast_recovery_area
CHARACTERSET= "ZHS16GBK" #这里不设置应该默认是UTF-8
TOTALMEMORY= "1638"
###其中TOTALMEMORY ="1638" 为1638MB,物理内存2G*80%。
#执行命令,进度达到100%则创建完成
dbca -silent -responseFile /tmp/oracle/database/response/dbca.rsp
复制代码
#测试是否可用
sqlplus / as sysdba
SQL> select 1 from dual;
         1
----------
         1
SQL> exit;
复制代码

安装完毕

启动/关闭实例

sqlplus / as sysdba
SQL> startup; #启动
SQL> shutdown; #关闭
复制代码

5.设置开机自启

su - oracle
#修改该路径下的dbstart dbshut脚本,将两个脚本中的ORACLE_HOME_LISTNER=$1,修改为ORACLE_HOME_LISTNER=$ORACLE_HOME
cd /u01/app/oracle/product/11.2.0/db_1/bin/
#修改完成后
exit
#修改配置
vim /etc/oratab
orcl:/u01/app/oracle/product/11.2.0/db_1:X改为orcl:/u01/app/oracle/product/11.2.0/db_1:Y
#修改rc.local文件
chmod 755 /etc/rc.d/rc.local
vim /etc/rc.d/rc.local
#在rc.local中添加:
su oracle -lc "/u01/app/oracle/product/11.2.0/db_1/bin/lsnrctl start"  #加上引号才能把空格后的start也当作命令的一部分
su oracle -lc /u01/app/oracle/product/11.2.0/db_1/bin/dbstart
复制代码

添加完成后即可

  • 0
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值