【原创】CentOS7 静默安装Oracle11g(亲测)

前言:我自己根据网上的帖子尝试静默安装Oracle11g失败了很多次,所以将自己最终测试成功的步骤写下来,希望可以帮助到更多的人。

一、系统环境

操作系统:CentOS 7.7 64位
内存:2G 

二、安装前的准备

1、关闭SeLinux
[root@localhost ~]# vim /etc/selinux/config
SELINUX=disabled
SELINUXTYPE=targeted
2、关闭防火墙
[root@localhost ~]# systemctl stop firewalld
[root@localhost ~]# systemctl disable firewalld
3、安装依赖包、其他工具包
[root@localhost ~]# yum -y install gcc gcc-c++ make binutils compat-libcap1 compat-libstdc++-33 elfutils-libelf elfutils-libelf-devel elfutils-libelf-devel-static glibc glibc-common glibc-devel ksh libaio libaio-devel libgcc libstdc++ libstdc++-devel libXi libXtst numactl-devel sysstat unixODBC unixODBC-devel kernel-headers pcre-devel readline
[root@localhost ~]# yum -y install unzip
[root@localhost ~]# rpm -ivh rlwrap-0.43-2.el7.x86_64.rpm --nodeps
4、检测是否31个包都有安装
[root@localhost ~]# rpm -q 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
5、创建用户、用户组
[root@localhost ~]# groupadd oinstall && groupadd dba && useradd -g oinstall -G dba oracle
[root@localhost ~]# echo "111111" | passwd --stdin oracle && id oracle
6、修改内核参数
[root@localhost ~]# 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

使内核新配置生效

[root@localhost ~]# sysctl -p
7、修改用户限制
[root@localhost ~]# 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
8、修改/etc/pam.d/login 文件
[root@localhost ~]# vim /etc/pam.d/login

添加以下内容

session required /lib64/security/pam_limits.so
session required pam_limits.so
9、修改/etc/profile 文件
[root@localhost ~]# 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

使配置生效

[root@localhost ~]# source /etc/profile
10、修改主机名
[root@localhost ~]# hostnamectl set-hostname db
11、设置 oracle 用户环境变量
[root@localhost ~]# su - oracle
[oracle@db ~]$ vim .bash_profile

注释掉下面一行

export $PATH

然后,添加以下内容

export ORACLE_BASE=/data/u01/app/oracle
export ORACLE_HOME=/data/u01/app/oracle/product/11.2.0/dbhome_1
export ORACLE_SID=orcl
export ORACLE_UNQNAME=$ORACLE_SID
export PATH=$ORACLE_HOME/bin:$PATH
export NLS_LANG=american_america.AL32UTF8

使配置生效

[oracle@db ~]$ source .bash_profile
12、重启
[oracle@db ~]$ exit
[root@localhost ~]# reboot

三、安装Oracle数据库

1、创建安装包文件存放目录
[root@db ~]# mkdir -p /data/u01/{app,software}
[root@db ~]# mkdir -p /data/u01/app/oracle/product/11.2.0/dbhome_1
[root@db ~]# mkdir /data/u01/app/oracle/{oradata,oraInventory,fast_recovery_area}
2、授权并上传软件包
[root@db ~]# chown -R oracle:oinstall /data/u01
[root@db ~]# chmod -R 775 /data/u01

以oracle用户上传Oracle安装包/data/u01/software目录下
​ linux.x64_11gR2_database_1of2.zip
​ linux.x64_11gR2_database_2of2.zip

== oracle 用户下执行 ==

3、解压安装包文件
[oracle@db ~]$ cd /data/u01/software
[oracle@db software]$ unzip linux.x64_11gR2_database_1of2.zip && unzip linux.x64_11gR2_database_2of2.zip
4、修改静默安装响应文件
[oracle@db software]$ mkdir ~/response && cd ~/response
[oracle@db software]$ cp /data/u01/software/database/response/* ~/response
[oracle@db response]$ vim db_install.rsp

内容如下(不清楚的不要随意删除):

oracle.install.responseFileVersion=/oracle/install/rspfmt_dbinstall_response_schema_v11_2_0
# 安装并自动配置数据库实例和监听 建议首次安装用:INSTALL_DB_AND_CONFIG
oracle.install.option=INSTALL_DB_AND_CONFIG
ORACLE_HOSTNAME=db
UNIX_GROUP_NAME=oinstall
INVENTORY_LOCATION=/data/u01/app/oracle/oraInventory
SELECTED_LANGUAGES=en,zh_CN
ORACLE_HOME=/data/u01/app/oracle/product/11.2.0/dbhome_1
ORACLE_BASE=/data/u01/app/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=dba
oracle.install.db.CLUSTER_NODES=
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.characterSet=AL32UTF8
oracle.install.db.config.starterdb.memoryOption=true
oracle.install.db.config.starterdb.memoryLimit=512
oracle.install.db.config.starterdb.installExampleSchemas=true
oracle.install.db.config.starterdb.enableSecuritySettings=true
oracle.install.db.config.starterdb.password.ALL=Aa111111
oracle.install.db.config.starterdb.password.SYS=
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/u01/app/oracle/oradata
oracle.install.db.config.starterdb.fileSystemStorage.recoveryLocation=
oracle.install.db.config.asm.diskGroup=
oracle.install.db.config.asm.ASMSNMPPassword=
MYORACLESUPPORT_USERNAME=
MYORACLESUPPORT_PASSWORD=
SECURITY_UPDATES_VIA_MYORACLESUPPORT=
DECLINE_SECURITY_UPDATES=true
PROXY_HOST=
PROXY_PORT=
PROXY_USER=
PROXY_PWD=
5、开始安装
[root@db response]$ cd /data/u01/software/database/
[root@db database]$ ./runInstaller -silent -ignorePrereq -responseFile /home/oracle/response/db_install.rsp

三、设置服务启动

== oracle 用户下执行 ==

1) 修改$ORACLE_HOME/bin/dbstart

[oracle@db ~]$ vim ORACLE_HOME/bin/dbstart
将 ORACLE_HOME_LISTNER=$1 修改为 ORACLE_HOME_LISTNER=$ORACLE_HOME

2) 修改$ORACLE_HOME/bin/dbshut

[oracle@db ~]$ vim $ORACLE_HOME/bin/dbshut
将 ORACLE_HOME_LISTNER=$1 修改为 ORACLE_HOME_LISTNER=$ORACLE_HOME

3) 修改/etc/oratab文件

[oracle@db ~]$ vim /etc/oratab
修改oracle服务启动配置,将文件中下面一行中的“N”,修改为“Y”,让数据库启动时候一起启动实例
orcl:/data/u01/app/oracle/product/11.2.0/dbhome_1:Y

== root 用户下执行 ==

4) 建立自启动脚本

[root@db ~]# vim /etc/rc.d/init.d/oracle

添加以下内容(有些值如ORACLE_HOME和ORACLE_USER等根据实际情况可以修改):

#!/bin/bash
# oracle: Start/Stop Oracle Database 11g R2
# chkconfig: 345 90 10
# description: The Oracle Database is an Object-Relational Database Management System.
#
. /etc/rc.d/init.d/functions
LOCKFILE=/var/lock/subsys/oracle
ORACLE_HOME=/data/u01/app/oracle/product/11.2.0/dbhome_1
ORACLE_USER=oracle
case "$1" in
'start')
		if [ -f $LOCKFILE ]; then
				echo $0 already running.
				exit 1
		fi
		echo -n $"Starting Oracle Database:"
		su - $ORACLE_USER -c "$ORACLE_HOME/bin/lsnrctl start"
		su - $ORACLE_USER -c "$ORACLE_HOME/bin/dbstart $ORACLE_HOME"
		su - $ORACLE_USER -c "$ORACLE_HOME/bin/emctl start dbconsole"
		touch $LOCKFILE
		;;
'stop')
		if [ ! -f $LOCKFILE ]; then
				echo $0 already stopping.
				exit 1
		fi
		echo -n $"Stopping Oracle Database:"
		su - $ORACLE_USER -c "$ORACLE_HOME/bin/lsnrctl stop"
		su - $ORACLE_USER -c "$ORACLE_HOME/bin/dbshut"
		su - $ORACLE_USER -c "$ORACLE_HOME/bin/emctl stop dbconsole"
		rm -f $LOCKFILE
		;;
'restart')
		$0 stop
		$0 start
		;;
'status')
		if [ -f $LOCKFILE ]; then
				echo $0 started.
		else
				echo $0 stopped.
		fi
		;;
*)
	 echo "Usage: $0 [start|stop|status]"
	 exit 1
esac
exit 0

5) 修改/etc/init.d/oracle服务文件权限

[root@db ~]# chmod 755 /etc/init.d/oracle

6) 设置为开机启动

[root@db ~]# chkconfig oracle on

7) 进行测试

# 测试启动: 
[root@db ~]# service oracle start 
# 测试停止: 
[root@db ~]# service oracle stop 
# 测试重启: 
[root@db ~]# service oracle restart

8) 重启。

[root@db ~]# reboot

== oracle用户下执行 ==

9) 检查服务是否启动

[oracle@db ~]$ lsnarctl status
[oracle@db ~]$ ps -ef|grep tns

四、PLSQL配置

1、安装PLSQL工具

PLSQL安装目录:D:\Program Files\PLSQL Developer

2、安装Oracle客户端及常用工具包

1)下载Oracle12版本的客户端,以及SQL Plus、Data Pump工具包,解压至PLSQL安装目录下。

Oracle客户端及常用工具包解压目录:D:\Program Files\PLSQL Developer\instantclient_12_2

注:因为11g的客户端工具中没有Data Pump工具,所以我直接下载了12版本的客户端和SQL Plus、Data Pump工具包

2)在Oracle客户端目录下新建tnsname.ora,并添加以下内容:

ORCL = 
	(DESCRIPTION = 
		(ADDRESS_LIST = 
			(ADDRESS = (PROTOCOL = TCP)(HOST = 192.168.191.131)(PORT = 1521))
		)
		(CONNECT_DATA = 
			(SERVICE = DEDICATED)
			(SERVICE_NAME = orcl)
		)
	)

3)配置环境变量

ORACLE_HOME: D:\Program Files\PLSQL Developer\instantclient_12_2
TNS_ADMIN : D:\Program Files\PLSQL Developer\instantclient_12_2
NLS_LANG: AMERICAN_AMERICA.AL32UTF8
PATH: 添加:%ORACLE_HOME%

4)配置PLSQL

找到Configure(配置)–>Preferences(首选项)–>Oracle–>Connection(连接),配置下面两项:

Oracle Home(Oracle 主目录名):D:\Program Files\PLSQL Developer\instantclient_12_2
OCI Library(OCI 库):D:\Program Files\PLSQL Developer\instantclient_12_2\oci.dll

四、静默删除

[root@db ~]# dbca -silent -deleteDatabase -sourceDB <数据库名>
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值