前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >CentOS7上静默(silent)模式安装Oracle12C Release 2 (12.2)

CentOS7上静默(silent)模式安装Oracle12C Release 2 (12.2)

作者头像
shaonbean
发布2019-05-26 09:23:46
1.8K0
发布2019-05-26 09:23:46
举报
文章被收录于专栏:运维前线运维前线

版权声明:本文为木偶人shaon原创文章,转载请注明原文地址,非常感谢。 https://cloud.tencent.com/developer/article/1434638

CentOS7上静默(silent)模式安装Oracle12C Release 2 (12.2)

安装依赖

系统设置

  • 关闭防火墙,禁用selinux,使用root用户配置os信息
代码语言:javascript
复制
# cat /etc/hosts
eg: <IP-address>  <fully-qualified-machine-name>  <machine-name>

eg: x.x.x.x yb-oracle yb-oracle.example.com
  • 设置主机名
代码语言:javascript
复制
hostnamectl set-hostname yb-oracle.example.com --static
  • 添加组
代码语言:javascript
复制
#groups for database management
groupadd -g 54321 oinstall
groupadd -g 54322 dba
groupadd -g 54323 oper
groupadd -g 54324 backupdba
groupadd -g 54325 dgdba
groupadd -g 54326 kmdba
groupadd -g 54327 asmdba
groupadd -g 54328 asmoper
groupadd -g 54329 asmadmin
groupadd -g 54330 racdba
  • 添加oracl用户
代码语言:javascript
复制
useradd -u 54321 -g oinstall -G dba,oper,backupdba,dgdba,kmdba,racdba oracle
# 更改oracle密码
passwd oracle

安装依赖包

  • 检查没有安装的依赖包
代码语言:javascript
复制
rpm -q --qf '%{NAME}-%{VERSION}-%{RELEASE}(%{ARCH})\n' binutils \
compat-libcap1 \
compat-libstdc++-33 \
glibc \
glibc-devel \
ksh \
libaio \
libaio-devel \
libX11 \
libXau \
libXi \
libXtst \
libgcc \
libstdc++ \
libstdc++-devel \
libxcb \
make \
nfs-utils \
smartmontools \
net-tools \
sysstat

直接用yum安装没有安装的软件包

代码语言:javascript
复制
yum install libaio-devel*.x86_64
yum install ksh*.x86_64
  • 更改内核参数/etc/sysctl.conf
代码语言:javascript
复制
fs.file-max = 6815744
kernel.sem = 500 64000 200 256 # 注意这个参数
kernel.shmmni = 4096
kernel.shmall = 1073741824
kernel.shmmax = 4398046511104
net.core.rmem_default = 262144
net.core.rmem_max = 4194304
net.core.wmem_default = 262144
net.core.wmem_max = 1048576
fs.aio-max-nr = 1048576
net.ipv4.ip_local_port_range = 9000 65500
kernel.panic_on_oops=1
  • 应用内核参数
代码语言:javascript
复制
/sbin/sysctl -p
  • 在文件/etc/security/ limit.conf中为用户oracle设置shell限制
代码语言:javascript
复制
# shell limits for users oracle 12gR2

oracle   soft   nofile   1024
oracle   hard   nofile   65536
oracle   soft   nproc    2048
oracle   hard   nproc    16384
oracle   soft   stack    10240
oracle   hard   stack    32768
oracle   soft   memlock  3145728
oracle   hard   memlock  3145728

配置oracle用户的环境变量

  • 在oracle用户下添加下面内容到.bash_profile里
代码语言:javascript
复制
# Oracle Settings
export TMP=/tmp

export ORACLE_HOSTNAME=oel7.dbaora.com
export ORACLE_UNQNAME=ORA12C
export ORACLE_BASE=/ora01/app/oracle
export ORACLE_HOME=$ORACLE_BASE/product/12.2.0/db_1
export ORACLE_SID=ORA12C

PATH=/usr/sbin:$PATH:$ORACLE_HOME/bin

export LD_LIBRARY_PATH=$ORACLE_HOME/lib:/lib:/usr/lib;
export CLASSPATH=$ORACLE_HOME/jlib:$ORACLE_HOME/rdbms/jlib;

alias cdob='cd $ORACLE_BASE'
alias cdoh='cd $ORACLE_HOME'
alias tns='cd $ORACLE_HOME/network/admin'
alias envo='env | grep ORACLE'

umask 022

if [ $USER = "oracle" ]; then
    if [ $SHELL = "/bin/ksh" ]; then
       ulimit -u 16384 
       ulimit -n 65536
    else
       ulimit -u 16384 -n 65536
    fi
fi

envo
  • 在root用户下创建目录结构
代码语言:javascript
复制
# ORACLE_BASE – /ora01/app/oracle
# ORACLE_HOME – /ora01/app/oracle/product/12.2.0/db_1

mkdir -p /ora01/app/oracle/product/12.2.0/db_1
chown oracle:oinstall -R /ora01

备注:在Oracle Enterprise Linux 7 /tmp数据存储在tmpfs上,它消耗内存,而且太小。使用systemctl mask tmp.mount将其恢复为存储,笔者的tmp单独挂载出来的,此步骤没有操作

  • 准备安装数据库
代码语言:javascript
复制
# su - oracle

unzip linuxamd64_12201_database.zip -d /ora01

# 定义oracle用户的环境变量,并查看
alias envo cdob cdoh tns
alias envo='env | grep ORACLE'
alias cdob='cd $ORACLE_BASE'
alias cdoh='cd $ORACLE_HOME'
alias tns='cd $ORACLE_HOME/network/admin'

eg:
[oracle@yb-oracle ~]$ envo
ORACLE_UNQNAME=ORA12C
ORACLE_SID=ORA12C
ORACLE_BASE=/ora01/app/oracle
ORACLE_HOSTNAME=yb-oracle.paic.com.cn
ORACLE_BIN=/ora01/app/oracle/product/12.2.0/db_1/bin # 后面追加的
ORACLE_HOME=/ora01/app/oracle/product/12.2.0/db_1

-- 执行别名 cdob & cdoh
[oracle@yb-oracle ~]$ cdob
[oracle@yb-oracle oracle]$ cdoh
[oracle@yb-oracle db_1]$ pwd
/ora01/app/oracle/product/12.2.0/db_1

oracle配置文件更改

oracle主要配置文件

  • db_install.rsp: 用于安装oracle二进制文件,以静默模式安装/升级数据库
  • dbca.rsp: 用于在静默模式下安装/配置/删除数据库
  • netca.rsp: 用于在静默模式下为oracle数据库配置简单网络
代码语言:javascript
复制
$ cd /ora01/database/response/
$ ls
dbca.rsp db_install.rsp  netca.rsp
  • 安装oracle
代码语言:javascript
复制
# 编辑db_install.rsp前备份
cp db_install.rsp /ora01/database/response/db_install.rsp.bak

# eg:
$ egrep -v "^#|^$" /ora01/database/response/db_install.rsp 
oracle.install.responseFileVersion=/oracle/install/rspfmt_dbinstall_response_schema_v12.2.0
oracle.install.option=INSTALL_DB_SWONLY
UNIX_GROUP_NAME=oinstall
INVENTORY_LOCATION=/ora01/app/oraInventory
ORACLE_HOME=/ora01/app/oracle/product/12.2.0/db_1
ORACLE_BASE=/ora01/app/oracle
oracle.install.db.InstallEdition=EE
oracle.install.db.OSDBA_GROUP=dba
oracle.install.db.OSOPER_GROUP=oper
oracle.install.db.OSBACKUPDBA_GROUP=backupdba
oracle.install.db.OSDGDBA_GROUP=dgdba
oracle.install.db.OSKMDBA_GROUP=kmdba
oracle.install.db.OSRACDBA_GROUP=racdba
oracle.install.db.rac.configurationType=
oracle.install.db.CLUSTER_NODES=
oracle.install.db.isRACOneInstall=
oracle.install.db.racOneServiceName=
oracle.install.db.rac.serverpoolName=
oracle.install.db.rac.serverpoolCardinality=
oracle.install.db.config.starterdb.type=
oracle.install.db.config.starterdb.globalDBName=
oracle.install.db.config.starterdb.SID=
oracle.install.db.ConfigureAsContainerDB=
oracle.install.db.config.PDBName=
oracle.install.db.config.starterdb.characterSet=
oracle.install.db.config.starterdb.memoryOption=
oracle.install.db.config.starterdb.memoryLimit=
oracle.install.db.config.starterdb.installExampleSchemas=
oracle.install.db.config.starterdb.password.ALL=
oracle.install.db.config.starterdb.password.SYS=
oracle.install.db.config.starterdb.password.SYSTEM=
oracle.install.db.config.starterdb.password.DBSNMP=
oracle.install.db.config.starterdb.password.PDBADMIN=
oracle.install.db.config.starterdb.managementOption=
oracle.install.db.config.starterdb.omsHost=
oracle.install.db.config.starterdb.omsPort=
oracle.install.db.config.starterdb.emAdminUser=
oracle.install.db.config.starterdb.emAdminPassword=
oracle.install.db.config.starterdb.enableRecovery=
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=
PROXY_HOST=
PROXY_PORT=
PROXY_USER=
PROXY_PWD=
COLLECTOR_SUPPORTHUB_URL=
  • 配置文件更改完成后,执行命令安装如下:
代码语言:javascript
复制
cd /ora01/database
./runInstaller -silent -responseFile /ora01/database/response/db_install.rsp -ignorePrereq -ignoreSysPrereqs
  • 以root用户运行下面两个脚本
代码语言:javascript
复制
/ora01/app/oraInventory/orainstRoot.sh
/ora01/app/oracle/product/12.2.0/db_1/root.sh
  • 配置ORACLE_BIN,验证安装
代码语言:javascript
复制
$ sqlplus / as sysdba

SQL*Plus: Release 12.2.0.1.0 Production on Thu Sep 20 14:25:10 2018

Copyright (c) 1982, 2016, Oracle.  All rights reserved.
Connected to an idle instance.
  • 配置网络

更改配置文件

代码语言:javascript
复制
cd /ora01/database/response
cp netca.rsp netca.rsp.bak
  • 以标准配置启动LISTENER
代码语言:javascript
复制
netca -silent -responseFile /ora01//database/response/netca.rsp

lsnrctl start
  • 检查LISTENER 状态
代码语言:javascript
复制
lsnrctl status

配置数据库

代码语言:javascript
复制
# 创建数据库目录及flash recovery 目录
mkdir /ora01/app/oracle/oradata
mkdir /ora01/app/oracle/flash_recovery_area
  • 备份response文件
代码语言:javascript
复制
cd /ora01/database/response
cp dbca.rsp dbca.rsp.bak

# eg:
[oracle@yb-oracle response]$ egrep -v "^#|^$" dbca.rsp
responseFileVersion=/oracle/assistants/rspfmt_dbca_response_schema_v12.2.0
  bName=ORA12C.dbaora.com
▽id=ORA12C
databaseConfigType=
RACOneNodeServiceName=
policyManaged=
createServerPool=
serverPoolName=
cardinality=
force=
pqPoolName=
pqCardinality=
createAsContainerDatabase=true
numberOfPDBs=1
pdbName=PORA12C1
useLocalUndoForPDBs=
pdbAdminPassword=Oracle12c
nodelist=
templateName=General_Purpose.dbc
sysPassword=Oracle12c
systemPassword=Oracle12c
oracleHomeUserPassword=
emConfiguration=DBEXPRESS
emExpressPort=5500
runCVUChecks=
dbsnmpPassword=Oracle12c
omsHost=
omsPort=
emUser=
emPassword=
dvConfiguration=
dvUserName=
dvUserPassword=
dvAccountManagerName=
dvAccountManagerPassword=
olsConfiguration=
datafileJarLocation=
datafileDestination=/ora01/app/oracle/oradata
recoveryAreaDestination=/ora01/app/oracle/flash_recovery_area
storageType=FS
diskGroupName=
asmsnmpPassword=
recoveryGroupName=
characterSet=AL32UTF8
nationalCharacterSet=AL16UTF16
registerWithDirService=
dirServiceUserName=
dirServicePassword=
walletPassword=
listeners=LISTENER
variablesFile=
variables=
initParams=
sampleSchema=true
memoryPercentage=
databaseType=OLTP
automaticMemoryManagement=FALSE
totalMemory=4096
  • 执行数据库安装
代码语言:javascript
复制
cd /ora01/database/
dbca -silent -createDatabase -responseFile /ora01/database/response/dbca.rsp
Copying database files
1% complete
13% complete
25% complete
Creating and starting Oracle instance
26% complete
30% complete
31% complete
35% complete
38% complete
39% complete
41% complete
Completing Database Creation
42% complete
43% complete
44% complete
46% complete
47% complete
50% complete
Creating Pluggable Databases
55% complete
75% complete
Executing Post Configuration Actions
100% complete
Look at the log file "/ora01/app/oracle/cfgtoollogs/dbca/ORA12C/ORA12C.log" for further details.
  • 确认连接
代码语言:javascript
复制
sqlplus / as sysdba

SQL*Plus: Release 12.2.0.1.0 Production on Thu Sep 20 11:34:00 2018

Copyright (c) 1982, 2016, Oracle.  All rights reserved.


Connected to:
Oracle Database 12c Enterprise Edition Release 12.2.0.1.0 - 64bit Production

SQL> show parameter db_name

NAME                                 TYPE        VALUE
------------------------------------ ----------- ------------------------------
db_name                              string      ORA12C
SQL> alter session set container=PORA12C1;

Session altered.
SQL> show con_id

CON_ID
------------------------------
3
SQL> show con_name

CON_NAME
------------------------------
PORA12C1
SQL> select DBMS_XDB_CONFIG.GETHTTPSPORT 
  2  from dual;

GETHTTPSPORT
------------
           0

SQL> exit
Disconnected from Oracle Database 12c Enterprise Edition Release 12.2.0.1.0 - 64bit Production
  • 编辑“/etc/oratab”文件,将ORA12C的重启标志设置为“Y”
代码语言:javascript
复制
ORA12C:/ora01/app/oracle/product/12..0/db_1:Y

到此,oracle安装已经全部完成

安装oracle报错

代码语言:javascript
复制
 [oracle@yb-oracle response]$ dbca -silent -createDatabase -responseFile /ora01/database/response/dbca.rsp
[FATAL] [DBT-11211] The Automatic Memory Management option is not allowed when the total physical memory is greater than 4GB.
   CAUSE: The current total physical memory is 15GB.

解决: automaticMemoryManagement=FALSE


> [FATAL] [DBT-06103] The port (5,500) is already in use.
   ACTION: Specify a free port.

解决:hosts解析问题,eg:oracleip yb-oracle yb-oracle.example.com
本文参与 腾讯云自媒体分享计划,分享自作者个人站点/博客。
原始发表:2018年09月20日,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • CentOS7上静默(silent)模式安装Oracle12C Release 2 (12.2)
    • 安装依赖
      • 系统设置
        • 安装依赖包
          • 配置oracle用户的环境变量
            • oracle配置文件更改
              • 配置数据库
                • 安装oracle报错
                相关产品与服务
                对象存储
                对象存储(Cloud Object Storage,COS)是由腾讯云推出的无目录层次结构、无数据格式限制,可容纳海量数据且支持 HTTP/HTTPS 协议访问的分布式存储服务。腾讯云 COS 的存储桶空间无容量上限,无需分区管理,适用于 CDN 数据分发、数据万象处理或大数据计算与分析的数据湖等多种场景。
                领券
                问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档