centos7静默安装oracle11g,利用官方准备神器快速配置环境

使用centos7静默安装oracle11gR2

程序员的小友们,大家在日常工作中是使用MySQL多一点还是更倾向于oracle。

Linux中安装MySQL相对简单一些,今天咱们来搞一下oracle。

在Linux中安装oracle不能说算是一件简单事(不针对专业人士)。

Linux中安装oracle的两种方式:

(1)图形界面安装

(2)静默安装

这里咱们来实践一下方式(2)。

提示:

安装过程中一定要耐心......

补充:

关于本文用到的linux运行级别请参考:

浅谈Linux系统中的7种运行级别及其原理

1、 安装前环境准备

(1)安装必要工具

wget:下载工具(获取yum源使用)。

unzip:解压工具(解压oracle.xxx.zip使用)。

man wget unzip

使用yum安装

yum -y install wget unzip

(2) 关闭防火墙(也可开放对应端口)

提示:

下篇使用window连接centos中的oracle也会提到。

systemctl status firewalld//查看状态

systemctl stop firewalld//关闭防火墙

systemctl disable firewalld//禁用

systemctl status firewalld//查看状态

(3) 关闭Selinux

//将config文件的SELINUX=enforcing替换为SELINUX=disabled

[root@oracle ~]# sed -i "s/SELINUX=enforcing/SELINUX=disabled/" /etc/selinux/config

//命令临时生效0:不启用

[root@oracle ~]# setenforce 0

//查看Selinux状态

[root@oracle ~]# /usr/sbin/sestatus -v

2、检查硬件要求

(1)RAM

Oracle Database 11g Release 2 (11.2):

Minimum: 1 GB of RAM(最小要求)

Recommended: 2 GB of RAM or more(推荐2GB+)

grep MemTotal /proc/meminfo

这里我们在VMware中给centos7分了8GB

(2)检查RAM与交换分区之间要求

1 GB和2 GB之间:RAM大小的1.5倍

2 GB和16 GB之间:等于RAM的大小

超过16 GB:16 GB

grep SwapTotal /proc/meminfo

(3)硬盘要求

1 GB of space in the /tmp directory

保证/tmp目录有1GB可用空间

df -h /tmp

补充关于硬件要求更详细信息请参考一下:

Oracle官网安装手册:

https://docs.oracle.com/cd/E11882_01/install.112/e47689/pre_install.htm#LADBI1111

3、检查软件需求

内核要求

编译器要求

其他软件要求

......

这里检测手动操作费时费力,极大可能会出现错误。

所以。

这里给大家推荐一个捷径--暂且叫它准备神器(快速配置Oracle安装环境)

下面这个包就是我们的主角:

oracle-rdbms-server-11gR2-preinstall包:

它所完成的工作:

(1)自动安装oracle所需的RPM包

(2)自动创建oracle用户和group组

(3)自动配置/etc/sysctl.conf内核参数

(4)自动配置/etc/security/limits.conf参数

.......

开始安装准备神器

cd /etc/yum.repos.d

//下载public-yum-ol7.repo

wget http://public-yum.oracle.com/public-yum-ol7.repo

//导入RPM-GPG-KEY-oracle

wget http://public-yum.oracle.com/RPM-GPG-KEY-oracle-ol7

-O /etc/pki/rpm-gpg/RPM-GPG-KEY-oracle

//安装准备神器,快速配置Oracle安装环境

yum install oracle-rdbms-server-11gR2-preinstall -y

。。。。。。

安装完成

查看安装日志

补充:

/var/log/oracle-rdbms-server-11gR2-preinstall/:准备神器安装log目录

orakernel.log为例:

//查看日志

more /var/log/oracle-rdbms-server-11gR2-preinstall/results/orakernel.log

4、 安装oracle

大家伙的进入状态,开始正儿八经的

(1)

//创建安装目录

[root@oracle ~]# mkdir -p /u01/oracle/product/11.2.0/db_1

//更改目录属主

[root@oracle ~]# chown oracle:oinstall -R /u01

//更改目录权限

[root@oracle ~]# chmod 755 -R /u01/oracle

//切换到oracle用户

[创建oracle用户等等这些事刚刚准备神器已经帮我们干了]

su - oracle

//打开bash_profile文件,追加下列内容

注意!!!:

要根据自己文件、目录等实际情况配置。

以export ORACLE_BASE=/u01/oracle 为例:

/u01/oracle:这个目录是自己创建的目录

vi .bash_profile

//追加下列内容

export TMP=/tmp #安装oracle软件过程中使用的临时文件目录

export TMPDIR=$TMP #安装oracle软件过程中使用的临时文件目录

export ORACLE_BASE=/u01/oracle #Oracle的BASE目录,所有关于Oracle的文件全部存放在这个目录中

export ORACLE_HOME=/u01/oracle/product/11.2.0/db_1 #安装Oracle软件存放的目录

export ORACLE_SID=orcl #将要创建的数据库实例的名字

export ORACLE_TERM=xterm #安装的时候指定终端的定义资源文件xterm表示窗口方式,rt100表示终端调试模式

export PATH=/usr/sbin:$PATH

export PATH=$ORACLE_HOME/bin:$PATH #SHELL可执行文件的搜索路径

export LD_LIBRARY_PATH=$ORACLE_HOME/lib:/lib:/usr/lib #库文件的搜索路径

export CLASSPATH=$ORACLE_HOME/jre:$ORACLE_HOME/jlib:$ORACLE_HOME/rdbms/jlib #java的class文件执行搜索的bin路径

export EDITOR=vim #在oracle操作环境下嵌入使用的文本编辑工具

export NLS_LANG=AMERICAN_AMERICA.UTF8 #oracle用户这个客户端所识别的字符集

export NLS_DATE_FORMAT='YYYY-MM-DD HH24:MI:SS' #oracle用户这个客户端所识别的时间显式格式

//使文件生效

source .bash_profile

//准备将oracle安装包上传到u01文件夹下

这里我们使用xmanager的xftp上传

//解压安装包

unzip linux.x64_11gR2_database_1of2.zip

//解压安装包

unzip linux.x64_11gR2_database_2of2.zip

//Oracle静默安装需要用到应答文件

cd /u01/database/response

补充:

dbca.rsp:创建数据库应答

db_install.rsp:安装应答

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

//下面输出是我修改后的内容

[oracle@oracle response]$ cat db_install.rsp | grep -v "#" | grep -v "^$"

注意!!!:

要根据自己文件、目录、主机名等实际情况配置。

以ORACLE_HOSTNAME=oracle:为例

oracle是我自己的主机名

查看主机名:

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

oracle.install.option=INSTALL_DB_SWONLY

ORACLE_HOSTNAME=oracle

UNIX_GROUP_NAME=oinstall

INVENTORY_LOCATION=/u01/oracle/oraInventory

SELECTED_LANGUAGES=en,zh_CN

ORACLE_HOME=/u01/oracle/product/11.2.0/db_1

ORACLE_BASE=/u01/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:1

1.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.0oracle.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=ORCL

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

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

oracle.install.db.config.starterdb.memoryLimit=

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.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=

oracle.install.db.config.starterdb.fileSystemStorage.dataLocation=

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=

#静默安装oracle

[oracle@oracle response]$ /u01/database/runInstaller -silent -force -ignorePrereq -responseFile /u01/database/response/db_install.rsp

//跟踪查看安装日志

tail -f /u01/oracle/oraInventory/logs/installActions2019-07-19_02-37-51PM.log

这里需要静等个几分分钟......

耐心等待......

安装成功

注意查看以上的输出,如下所示:

以下配置脚本需要以 "root" 用户的身份执行。

#!/bin/sh

#要运行的 Root 脚本

/u01/oracle/oraInventory/orainstRoot.sh

/u01/oracle/product/11.2.0/db_1/root.sh

要执行配置脚本, 请执行以下操作:

1. 打开一个终端窗口

2. 以 "root" 身份登录

3. 运行脚本

4. 返回此窗口并按 "Enter" 键继续

//根据提示用root用户执行脚本orainstRoot.sh

/u01/oracle/oraInventory/orainstRoot.sh

//根据提示用root用户执行脚本root.sh

/u01/oracle/product/11.2.0/db_1/root.sh

(2) 安装监听

//切换到oracle用户

[root@oracle ~]# su - oracle

上一次登录:五 7月 19 14:14:01 CST 2019pts/0 上

[oracle@oracle ~]$ cd /u01/database

//安装应答

注意输出的提示

$ORACLE_HOME/bin/netca /silent /responseFile /u01/database/response/netca.rsp

上方提示监听已经开启

//查看监听状态

lsnrctl status

(3) 静默dbca建立数据库

vi /u01/database/response/dbca.rsp

编辑模式set nu显示行数

根据下图修改指定行号配置

orcl.oradb:全局数据库名字

SID:orcl

开始安装

输入自定义SYS、SYSTEM口令

登陆该用户会用到

$ORACLE_HOME/bin/dbca -silent -responseFile /u01/database/response/dbca.rsp

输入SYS和SYSTEM口令

安装完成后一般自动启动数据库

如果没有输入下列命令启动数据库

sqlplus / as sysdba

startup

shutdown immediate

startup

quit

至此,安装成功。

5、补充:

window远程连接oracle及设置oracle开机自启动

(1)远程连接oracle

cd /u01/oracle/product/11.2.0/db_1/network/admin

//修改listener.ora文件

注意!!!:

以下配置根据自己的实际情况修改

vi listener.ora

SID_LIST_LISTENER =

(SID_LIST =

(SID_DESC =

(GLOBAL_DBNAME = orcl)

(ORACLE_HOME = /u01/oracle/product/11.2.0/db_1)

(SID_NAME = orcl)

)

)

LISTENER =(DESCRIPTION = (ADDRESS = (PROTOCOL = TCP)(HOST = 192.168.102.136)(PORT = 1521)))

ADR_BASE_LISTENER = /u01/oracle

//修改tnsnames.ora文件

注意!!!:

以下配置根据自己的实际情况修改

vi tnsnames.ora

orcl =

(DESCRIPTION =

(ADDRESS_LIST =

(ADDRESS = (PROTOCOL = TCP)(HOST = 192.168.102.136)(PORT = 1521))

)

(CONNECT_DATA =

(SID = orcl)

)

)

(2)oracle设置开机自启动

//修改dbstart、dbshut文件

vi $ORACLE_HOME/bin/dbstart

vi /etc/oratab

//把lsnrctl start、dbstart添加到rc.local文件中

补充:

rc.local是Linux启动程序在login程序前执行的最后一个脚本。

关于linux运行级别请参考:

浅谈Linux系统中的7种运行级别及其原理

vi /etc/rc.d/rc.local

su - oracle -lc "/u01/oracle/product/11.2.0/db_1/bin/lsnrctl start"

su - oracle -lc "/u01/oracle/product/11.2.0/db_1/bin/dbstart"

//添加执行权限

chmod +x /etc/rc.d/rc.local

补充完成。

感谢支持。

举报
评论 0