linux系统静默安装oracle12c数据库

一、硬件条件

  • 分辨率:至少 1024x768
  • RAM:数据库安装至少需要 1 GB RAM。推荐 2 GB RAM。

使用如下命令查看内存情况

详细可参考oracle数据库安装的服务器硬件清单官方文档

二、系统条件

我们这里使用的系统是基于 Red Hat Enterprise Linux 7 的 CentOS 7 ,系统位数为 64 位,在支持范围内。注意的是 Oracle 官方并未支持 Ubuntu

查看系统信息(内核、系统版本、系统位数)

三、服务器配置条件

  • /tmp 目录空间:至少 1 GB
  • 交换空间:如果内存在 1 GB ~ 2 GB,就为内存大小的 1.5 倍。如果内存在 2 GB ~ 16 GB 之间,就等于内存大小

磁盘存储空间

最小本地磁盘存储空间为 7.5 GB 。可使用 df -hT 命令查看

如果共享内存不够,可以使用如下命令添加:

/bin/dd if=/dev/zero of=/swap bs=1M count=3096
/sbin/mkswap /swap 
/sbin/swapon /swap

四、前期准备

安装依赖包

需要安装的依赖包参考官方文档必须安装的依赖包-官方文档

yum -y install binutils compat-libcap1 compat-libstdc++-33 compat-libstdc++-33*.i686 bc elfutils-libelf-devel gcc gcc-c++ glibc*.i686 glibc glibc-devel glibc-devel*.i686 ksh libgcc*.i686 libgcc libstdc++ libstdc++*.i686 libstdc++-devel libstdc++-devel*.i686 libaio libaio*.i686 libaio-devel libaio-devel*.i686 make sysstat unixODBC unixODBC*.i686 unixODBC-devel unixODBC-devel*.i686 libXp unzip rlwrap

修改内核参数

添加 /etc/sysctl.conf 文件的内容如下:

vim /etc/sysctl.conf
fs.aio-max-nr = 1048576
fs.file-max = 6815744
kernel.shmall = 2097152
kernel.shmmax = 4294967295
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

修改内核参数官方参考文档

修改完成后使用如下命令生效:

修改内核限制参数

修改 /etc/security/limits.d/20-nproc.conf 文件内容如下:

[root@master ~]# vim /etc/security/limits.d/20-nproc.conf
*          soft    nproc     4096
root       soft    nproc     unlimited
oracle   soft   nofile    1024
oracle   hard   nofile    65536
oracle   soft   nproc     16384
oracle   hard   nproc     16384
oracle   soft   stack     10240
oracle   hard   stack     32768
oracle   hard   memlock   134217728
oracle   soft   memlock   134217728

五、创建用户和组

创建oracle用户和组

[root@master ~]# groupadd -g 1001 dba
[root@master ~]# useradd -g dba -m -u 1001 oracle
[root@master ~]# echo "oracle"|passwd --stdin oracle

配置oracle用户无密登陆,输入visudo写入如下参数

visudo
oracle ALL=(ALL) NOPASSWD: ALL

创建必要目录

[root@master ~]# mkdir -p /u01/app/oracle/product/12.2.0/xe
[root@master ~]#  mkdir -p /u01/app/oraInventory
[root@master ~]# chown -R oracle:dba /u01
[root@master ~]# sudo chmod -R 775 /u01

关闭selinux和防火墙

[root@master ~]# sed -i 's/SELINUX=*/SELINUX=disabled/g' /etc/selinux/config 
[root@master ~]# setenforce 0
[root@master ~]# systemctl stop firewalld
[root@master ~]# systemctl disable firewalld

修改环境变量

添加到 /etc/profile 内容如下

[root@master ~]# vim /etc/profile
export ORACLE_HOSTNAME=master              
export ORACLE_UNQNAME=xe
export ORACLE_BASE=/u01/app/oracle   
export ORACLE_HOME=$ORACLE_BASE/product/12.2.0/xe  
export ORACLE_SID=xe                

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

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

生效

[root@master ~]# source /etc/profile

下载oracle12c

点击官方下载页面 然后找到 Oracle Database 12c Release 2,点击 File 1,然后同意协议。

下载到 /home/oracle 目录下,当然也可以选择你自己想放置的位置。

需要注意的是,Oracle 会强制用户注册后才能下载它的应用程序,所以需要先进行注册登录后才能下载。

切换到oracle用户解压软件包

[oracle@master ~]$ unzip linuxx64_12201(12.2.0.1.0)_database.zip

备份响应文件,以防误操作

[oracle@master ~]$ cd database/response/
[oracle@master response]$ cp db_install.rsp db_install.rsp.bak
[oracle@master response]$ cp netca.rsp netca.rsp.bak
[oracle@master response]$ cp dbca.rsp dbca.rsp.bak

配置安装响应文件

修改 /home/oracle/database/response/db_install.rsp 文件内容如下:

vim /home/oracle/database/response/db_install.rsp
oracle.install.responseFileVersion=/oracle/install/rspfmt_dbinstall_response_schema_v12.2.0  
oracle.install.option=INSTALL_DB_SWONLY    # 30 行安装类型,INSTALL_DB_SWONLY 表示只装数据库软件
UNIX_GROUP_NAME=xe
INVENTORY_LOCATION=/u01/app/oraInventory  # 42 行
ORACLE_HOME=/u01/app/oracle/product/12.2.0/xe    # 46 行 oracle 家目录
ORACLE_BASE=/u01/app/oracle       # 51 行 基础目录
oracle.install.db.InstallEdition=EE     # 63 行 oracle 版本 EE 表示企业版
oracle.install.db.OSDBA_GROUP=dba       # 80 行
oracle.install.db.OSOPER_GROUP=dba      # 86 行
oracle.install.db.OSBACKUPDBA_GROUP=dba   # 91 行  
oracle.install.db.OSDGDBA_GROUP=dba   # 96 行
oracle.install.db.OSKMDBA_GROUP=dba    # 101 行
oracle.install.db.OSRACDBA_GROUP=dba    # 106 行
oracle.install.db.config.starterdb.type=GENERAL_PURPOSE     # 180 行
oracle.install.db.config.starterdb.globalDBName=xe    # 185 行
oracle.install.db.config.starterdb.SID=xe      # 190 行
oracle.install.db.config.starterdb.characterSet=AL32UTF8    # 216 行
SECURITY_UPDATES_VIA_MYORACLESUPPORT=false      # 386 行
DECLINE_SECURITY_UPDATES=true    # 398 行

配置监听响应文件

修改 /home/oracle/database/response/dbca.rsp 文件内容如下:

vim /home/oracle/database/response/dbca.rsp
responseFileVersion=/oracle/assistants/rspfmt_dbca_response_schema_v12.2.0
gdbName=xe    # 32 行
sid=xe      # 42 行
databaseConfigType=SI  # 52 行
policyManaged=false     # 74 行
createServerPool=false     # 88 行
force=false    # 127 行
createAsContainerDatabase=true     # 162 行
numberOfPDBs=1       # 172 行
pdbName=pdbxe     # 182 行
useLocalUndoForPDBs=true  # 192 行
templateName=/u01/app/oracle/product/12.2.0/xe/assistants/dbca/templates/General_Purpose.dbc          # 223 行
runCVUChecks=false     # 284 行
omsPort=0        # 313 行
dvConfiguration=false      # 341 行
olsConfiguration=false    # 391 行
datafileJarLocation={ORACLE_HOME}/assistants/dbca/templates    # 401 行
datafileDestination={ORACLE_BASE}/oradata/{DB_UNIQUE_NAME}      # 411 行
recoveryAreaDestination={ORACLE_BASE}/fast_recovery_area/{DB_UNIQUE_NAME}   # 421 行
storageType=FS        # 431 行
characterSet=AL32UTF8          # 468 行
nationalCharacterSet=AL16UTF16       # 478 行
registerWithDirService=false        # 488 行
listeners=LISTENER         # 526 行
variables=DB_UNIQUE_NAME=xe,ORACLE_BASE=/u01/app/oracle,PDB_NAME=,DB_NAME=xe,ORACLE_HOME=/u01/app/oracle/product/12.2.0/xe,SID=xe        # 546 行
initParams=undo_tablespace=UNDOTBS1,memory_target=796MB,processes=300,db_recovery_file_dest_size=2780MB,nls_language=AMERICAN,dispatchers=(PROTOCOL=TCP) (SERVICE=xeXDB),db_recovery_file_dest={ORACLE_BASE}/fast_recovery_area/{DB_UNIQUE_NAME},db_block_size=8192BYTES,diagnostic_dest={ORACLE_BASE},audit_file_dest={ORACLE_BASE}/admin/{DB_UNIQUE_NAME}/adump,nls_territory=AMERICA,local_listener=LISTENER_XE,compatible=12.2.0,control_files=("{ORACLE_BASE}/oradata/{DB_UNIQUE_NAME}/control01.ctl", "{ORACLE_BASE}/fast_recovery_area/{DB_UNIQUE_NAME}/control02.ctl"),db_name=cdb1,audit_trail=db,remote_login_passwordfile=EXCLUSIVE,open_cursors=300       # 555 行
sampleSchema=false            # 565 行
memoryPercentage=40           # 574 行
databaseType=MULTIPURPOSE        # 584 行
automaticMemoryManagement=true       # 594 行
totalMemory=0         # 604 行

六、安装

运行 runInstaller 安装 Oracle 软件:

[oracle@master ~]$ cd /home/oracle/database/
[oracle@master database]$ ./runInstaller -silent -force -ignorePrereq -ignoreSysPrereqs -noconfig -responseFile /home/oracle/database/response/db_install.rsp
报错[INS-32038] The operating system group specified for central inventory (oraInventory) ownership is invalid.
    CAUSE: User performing installation is not a member of the operating system group specified for central inventory(oraInventory) ownership.

解决办法:

在etc下面使用root用户创建oraInst.loc 文件,添加以下内容

cat /etc/oraInst.loc  
inventory_loc=/data/oracle/oraInventory 
inst_group=dba

开始安装

使用以下命令实时跟踪安装日志信息

[oracle@master database]$ tail -fn 30  /u01/app/oraInventory/logs/installActions2020-05-21_03-56-35PM.log

查看安装日志出现如下界面需要切回root执行以下两个脚本文件

/u01/app/oracle/product/12.2.0/xe/root.sh

出现如下信息表示安装成功

七、配置监听

使用 netca 配置监听。

[oracle@master database]$ netca -silent -responseFile /home/oracle/database/response/netca.rsp

出现如下界面表示配置成功

查看监听端口

建立数据库

使用 dbca 建立初始数据库和数据:

[oracle@master database]$ dbca -silent -createDatabase -responseFile /home/oracle/database/response/dbca.rsp

在输出时会提示输入 SYS ,SYSTEM,PDBADMIN 这三个数据库用户的密码,我们这里输入 cnbugs123 。

[WARNING] [DBT-06801] Specified Fast Recovery Area size (2,780 MB) is less than the recommended value.
   CAUSE: Fast Recovery Area size should at least be three times the database size (2,730 MB).
   ACTION: Specify Fast Recovery Area Size to be at least three times the database size.
Enter SYS user password: 

Enter SYSTEM user password: 

Enter PDBADMIN User Password: 

[WARNING] [DBT-06801] Specified Fast Recovery Area size (2,780 MB) is less than the recommended value.
   CAUSE: Fast Recovery Area size should at least be three times the database size (3,571 MB).
   ACTION: Specify Fast Recovery Area Size to be at least three times the database size.
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
49% complete
50% complete
Creating Pluggable Databases
55% complete
75% complete
Executing Post Configuration Actions
100% complete
Look at the log file "/u01/app/oracle/cfgtoollogs/dbca/xe/xe.log" for further details.

登陆oracle数据库

至此静默安装oracle12c完成

发表评论

后才能评论