CentOS7 静默安装oracle12c

Posted 無心的Man,

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了CentOS7 静默安装oracle12c相关的知识,希望对你有一定的参考价值。

   操作系统版本:rhel 7.4

   Oracle 版本:oracle 12c  下载地址:https://www.oracle.com/technetwork/database/enterprise-edition/downloads/database12c-linux-download-2240591.html

一.环境准备、用户组创建、修改系统内核参数、修改用户配置
1.安装准备
systemctl stop firewalld.service #关闭防火墙
systemctl disable firewalld.service #禁止防火墙开机启动
systemctl status firewalld.service  #查看防火墙状态

2.关闭selinux
vi /etc/selinux/config #编辑文件
SELINUX=disabled  #修改的内容

3.修改host名称(可以省略)
# 在文件末尾加上192.168.159.129 oracle12c    名称自己取,前两行后面也加上名称,开始没加最后本机navicat连一直报监听找不着,实际监听是开了
#127.0.0.1   localhost localhost.localdomain localhost4 localhost4.localdomain4 oracle12c
#::1         localhost localhost.localdomain localhost6 localhost6.localdomain6 oracle12c
#192.168.159.129 oracle12c
vi /etc/hosts

4.yum安装必要安装包(有错误就多执行几次)
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
# 检查是否安装成功(31个安装包)
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.创建用户组
# 创建oinstall和dba组
groupadd oinstall
groupadd dba
# 创建oracle用户
useradd -g oinstall -G dba oracle    
# 设置oracle密码
passwd oracle #输入密码,确认密码后 passwd: all authentication tokens updated successfully.
# 查看创建结果
id oracle

6.修改内核参数
vi /etc/sysctl.conf
# 文件内容添加如下
fs.aio-max-nr = 1048576
fs.file-max = 6815744
# 该参数表示系统任意时刻可以分配的所有共享内存段的总和的最大值(以页为单位).其值应不小于
# shmmax/page_size(getconf PAGESIZE可以查询到).缺省值就是2097152
kernel.shmall = 2097152
#64 位 linux 系统:可取的最大值为物理内存值 -1byte ,建议值为多于物理内存的一半,一般取值大于 SGA_MAX_SIZE 即可,
# 可以取物理内存 -1byte.例:内存为 16G 时,该值为 16*1024*1024*1024-1 = 17179869183 
kernel.shmmax = 17179869183
# 缺省为32M,对于oracle来说,该缺省值太低了,通常将其设置为2G
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

sysctl -p #使配置生效

7.修改用户限制
vi /etc/security/limits.conf
# 在文件末尾添加下面6行内容:
oracle soft nproc 2047
oracle hard nproc 16384
oracle soft nofile 1024
oracle hard nofile 65536
oracle soft stack 10240
oracle hard stack 10240

8.修改用户登录库文件引用
vi /etc/pam.d/login
# 在文件末尾添加下面2行内容
session required /lib64/security/pam_limits.so
session required pam_limits.so

9.修改用户登录环境变量
vi /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
# 使修改的文件生效
source /etc/profile

10.创建安装目录,配置安装目录权限。
mkdir -p /usr/app/oracle
chown -R oracle:oinstall /usr/app/
chmod -R 775 /usr/app/
11.配置Oracle用户环境变量
su - oracle #切换用户
vi ~/.bash_profile # 添加内容如下

# 和创建的安装目录路径一样
export ORACLE_BASE=/usr/app/oracle
# 指定sid名称
export ORACLE_SID=orcl

source ~/.bash_profile #使配置生效source .bash_profile

二.数据库应用安装
1.使用oracle 用户,创建数据库安装配置文件夹etc
su - oracle #不是oracle用户就先切换用户,是就不用执行
cd /home/oracle/ #到oracle目录下
mkdir etc

2.上传安装文件到/home/oracle/目录下并解压(上传文件命令rz,需安装才能用此命令:yum install -y lrzsz)
su - root #切换到root用户
yum install -y unzip zip #安装解压软件,已经安装就不用执行
su - oracle #切换到oracle用户
unzip xxx.zip #解压文件

3.复制Oracle配置文件到etc目录下,并修改配置文件权限
cp /home/oracle/database/response/* /home/oracle/etc/ #复制文件
chmod 700 /home/oracle/etc/*.rsp #修改文件权限

4.修改静默安装配置文件db_install.rsp
vi /home/oracle/etc/db_install.rsp
# 修改内容如下
oracle.install.option=INSTALL_DB_SWONLY   #安装类型
UNIX_GROUP_NAME=oinstall    #安装组
INVENTORY_LOCATION=/usr/app/oracle/oraInventory   #与上面创建的安装目录有关/usr/app/oracle
ORACLE_HOME=/usr/app/oracle/product/12/db_1          #与上面创建的安装目录有关/usr/app/oracle
ORACLE_BASE=/usr/app/oracle                          #与上面创建的安装目录有关/usr/app/oracle
oracle.install.db.InstallEdition=EE                  #企业版本
oracle.install.db.OSDBA_GROUP=dba
oracle.install.db.OSOPER_GROUP=oinstall
oracle.install.db.OSBACKUPDBA_GROUP=oinstall
oracle.install.db.OSDGDBA_GROUP=oinstall
oracle.install.db.OSKMDBA_GROUP=oinstall
oracle.install.db.OSRACDBA_GROUP=oinstall
oracle.install.db.config.starterdb.type=GENERAL_PURPOSE  #数据库类型
oracle.install.db.config.starterdb.globalDBName=orcl    #数据库名
oracle.install.db.config.starterdb.SID=orcl                #实例名
SECURITY_UPDATES_VIA_MYORACLESUPPORT=false
DECLINE_SECURITY_UPDATES=true
oracle.install.db.config.starterdb.characterSet=AL32UTF8

5.开始安装,执行db_install.rsp
cd /home/oracle/database;
./runInstaller -silent -responseFile /home/oracle/etc/db_install.rsp
#等待安装完成:提示[WARNING]不用管,出现[FATAL]则安装已经停止,完成后显示:Successfully Setup Software.
6.切换到root用户,修改数据库配置
su - root
/usr/app/oracle/oraInventory/orainstRoot.sh
/usr/app/oracle/product/12/db_1/root.sh

7.修改oracle用户环境变量
su - oracle
vi ~/.bash_profile
# 后面追加内容如下
export LD_LIBRARY_PATH=$ORACLE_HOME/lib:/usr/lib
export ORACLE_HOME=/usr/app/oracle/product/12/db_1
export PATH=$PATH:$ORACLE_HOME/bin
export LANG="zh_CN.UTF-8"
export NLS_LANG="SIMPLIFIED CHINESE_CHINA.AL32UTF8"
export NLS_DATE_FORMAT=\'yyyy-mm-dd hh24:mi:ss\'

source .bash_profile #执行命令使环境变量生效

8.配置监听程序
cd /home/oracle;
netca /silent /responsefile /home/oracle/etc/netca.rsp

9.启动监听
lsnrctl start

10.静默建库配置文件修改
mkdir /usr/app/oracle/oradata;#创建数据文件存放的目录

vi etc/dbca.rsp
#修改如下
gdbName=orcl
sid=orcl
characterSet=AL32UTF8
listeners=LISTENER
databaseConfigType=SI
datafileDestination=/usr/app/oracle/oradata   #指定数据文件存放的目录
recoveryAreaDestination=/usr/app/oracle/flash_recovery_area     #恢复数据存放目录
totalMemory=1638    #totalMemory ="1638" 为1638MB,物理内存2G*80%
templateName=/usr/app/oracle/product/12/db_1/assistants/dbca/templates/General_Purpose.dbc    #不填写的时候报了[FATAL] [DBT-10503] 指定的模板文件无效。
nationalCharacterSet=AL16UTF16  #国家字符集2个值AL16UTF16或UTF8,默认值是AL16UTF16,默认值就可不用改
sysPassword=oracle12c   #指定sys用户密码
systemPassword=oracle12c    #指定system用户密码
oracleHomeUserPassword=oracle12c 

11.执行静默建库
cd /home/oracle;
dbca -silent -createDatabase -responseFile /home/oracle/etc/dbca.rsp

12.测试登录
sqlplus / as sysdba

注:每次虚拟机重启执行命令都要开启监听,打开数据库
su - oracle    #切换到oracle用户
lsnrctl start #开启监听
sqlplus / as sysdba
startup
****把上面步骤放到开机自动执行****
切换root用户执行下面语句
vi /etc/oratab #修改此文件,让sqlplus / as sysdba;startup;不用手动执行
orcl:/u01/app/oracle/product/11.2.0.4/db_1:N    #这里把N改成Y,数据库开机自动打开
vi /etc/rc.local #修改此文件,数据库监听和服务开机自启
su - oracle -lc "/usr/app/oracle/product/12/db_1/bin/lsnrctl start" #与安装目录相关
su - oracle -lc /usr/app/oracle/product/12/db_1/bin/dbstart #与安装目录相关
修改DB启动配置文件(安装目录中的dbstart文件)
vi /usr/app/oracle/product/12/db_1/bin/dbstart
将ORACLE_HOME_LISTNER=$1中的$1修改为/usr/app/oracle/product/12/db_1/  #oracle安装路径



Oracle 12c 创建 hr 联系用户
 [oracle@rhel7 ~]$ sqlplus / as sysdba
SQL> @$ORACLE_HOME/demo/schema/human_resources/hr_main.sql
parameter 1 : password“hr”  ##输入hr密码
parameter 2 :表空间 users    ##输入hr表空间
parameter 3:临时表空间 temp   ##输入临时表空间
parameter 4:log路径   $ORACLE_HOME/log  ##输入hr日志存放位置
SQL> conn hr/hr 
Connected.
SQL> select table_name from user_tables;

TABLE_NAME
--------------------------------------------------------------------------------
REGIONS
COUNTRIES
LOCATIONS
DEPARTMENTS
JOBS
EMPLOYEES
JOB_HISTORY
7 rows selected

 

PLSQL Devloper 12连接配置:

拷贝以下两个文件到同一个目录下(目录名称不能包含中文、空格,必须是英文名称)

 

 

 

 把tnsnames.ora 文件拷贝到 instantclient_12_2 这个文件夹下:

 附:客户端和plsql devplover 下载地址如下:

链接:https://pan.baidu.com/s/1xmn5VZ47ATz4LqcTXs_WkA
提取码:6phz

 

 

 

以上是关于CentOS7 静默安装oracle12c的主要内容,如果未能解决你的问题,请参考以下文章

ORACLE12C静默安装(CDB)

Centos7静默安装Weblogic12C

RedHat 7 静默安装Oracle 12c

Oracle 12C R2静默安装文档

centos静默安装oracle12c

Shell脚本静默安装数据库Oracle 12c (Centos6)