暂无图片
暂无图片
2
暂无图片
暂无图片
暂无图片

linux静默安装oracle 19c单实例并补丁升级19.11

原创 kiki 2022-02-23
4190

软件包下载

https://www.oracle.com/database/technologies/oracle-database-software-downloads.html

RU补丁下载

MOS文档号2118136.2->选择 Oracle Database Updates (Versions 12.2 & higher) 19.0.0.0

OPatch 工具包下载

https://updates.oracle.com/download/6880880.html
选择对应的数据库版本以及操作系统平台,点击download

PS:此次环境部署 安装包和补丁包均放在/home/soft目录下

**Oracle 19c 单实例 19.3.0静默安装

安装依赖包

\[root@server ras\]# cat /etc/redhat-release  
CentOS Linux release 7.6.1810 (Core)  
\[root@server ras\]#yum install -y compat-libcap1 compat-libstdc++-33 gcc-c++ ksh libaio-devel libstdc++-devel elfutils-libelf-devel fontconfig-devel libXrender-devel

创建用户

\[root@server ras\]# groupadd oinstall  
\[root@server ras\]# groupadd dba  
\[root@server ras\]# groupadd asmdba  
\[root@server ras\]# groupadd backupdba  
\[root@server ras\]# groupadd dgdba  
\[root@server ras\]# groupadd kmdba  
\[root@server ras\]# groupadd racdba  
\[root@server ras\]# groupadd oper  
\[root@server ras\]# useradd -g oinstall -G dba,asmdba,backupdba,dgdba,kmdba,racdba,oper -m oracle  

创建所需目录及修改所属用户和组

\[root@server ~\]# mkdir -p /home/app/oracle/product/19.3.0/dbhome\_1  
\[root@server ~\]# chown oracle:oinstall /home/app -R  
\[root@server ~\]# mkdir -p /home/soft  
\[root@server home\]# chown oracle:oinstall /home/soft  
\[root@server home\]# chown oracle:oinstall /home/soft/LINUX.X64\_193000\_db\_home.zip  
\[root@server home\]# chown oracle:oinstall /home/soft/p6880880\_190000\_LINUX.zip  
\[root@server home\]# chown oracle:oinstall /home/soft/p32545013\_190000\_Linux-x86-64.zip

配置HOSTS解析

\[root@server ras\]# ifconfig | grep 10  
inet 10.2.3.4 netmask 255.255.255.0 broadcast 10.2.3.255  
\[root@server ras\]# echo "10.2.3.4 server" >> /etc/hosts  
\[root@server ras\]# cat /etc/hosts  
127.0.0.1 localhost localhost.localdomain localhost4 localhost4.localdomain4  
::1 localhost localhost.localdomain localhost6 localhost6.localdomain6  
10.2.3.4 server

修改内核文件

\[root@server ~\]# cat >> /etc/sysctl.conf << EOF  
fs.aio-max-nr = 1048576  
fs.file-max = 6815744  
kernel.shmall = 3038592  
kernel.shmmax = 12446072832  
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  
EOF  

PS:shmmax的值,oracle官方建议至少是物理内存的1/2;shmall=shmmax/page_size

使配置生效

\[root@server ~\]# sysctl -p

关闭selinux和firewalld

vi /etc/selinux/config  
SELINUX=disabled  
  
\[root@server ~\]# systemctl stop firewalld  
\[root@server ~\]# systemctl disable firewalld  
Removed symlink /etc/systemd/system/multi-user.target.wants/firewalld.service.  
Removed symlink /etc/systemd/system/dbus-org.fedoraproject.FirewallD1.service. 

设置环境变量(oracle用户下)

\[oracle@server ~\]$ cat >> .bash\_profile << EOF  
export ORACLE\_BASE=/home/app/oracle  
export ORACLE\_HOME=/home/app/oracle/product/19.3.0/dbhome\_1  
export ORACLE\_BIN=/home/app/oracle/product/19.3.0/dbhome\_1/bin  
export PATH=/bin:/usr/bin:$PATH  
export PATH=$ORACLE\_HOME/bin:$PATH  
export ORACLE\_SID=testcdb  
export NLS\_LANG="AMERICAN\_CHINA.ZHS16GBK"  
export LD\_LIBRARY\_PATH=$ORACLE\_HOME/lib:$ORACLE\_HOME/rdbms/lib:$ORACLE\_HOME/network/lib:/lib:/usr/lib  
export CLASSPATH=$ORACLE\_HOME/jlib:$ORACLE\_HOME/rdbms/jlib:$ORACLE\_HOME/network/jlib  
EOF

使配置文件生效

\[oracle@server bin\]$ source ~/.bash\_profile

修改shell限制

\[root@server app\]# cat >> /etc/security/limits.conf << EOF  
@oinstall soft nofile 2048  
@oinstall hard nofile 65536  
@oinstall soft nproc 16384  
@oinstall soft stack 10240  
EOF

安装Oracle软件

解压缩到$ORACLE_HOME

\[oracle@server ~\]$ cd /home/app/oracle/product/19.3.0/dbhome\_1  
\[oracle@server dbhome\_1\]$ unzip -q /home/soft/LINUX.X64\_193000\_db\_home.zip -d $ORACLE\_HOME  

安装Oracle软件(静默安装)

[oracle@server dbhome_1]$ cd ORACLE\_HOME/install/response \[oracle@server response\] ls -lrt
total 20
-rw-r–r--. 1 oracle oinstall 19932 Feb 6 2019 db_install.rsp
[oracle@server response]$ cp db_install.rsp db_install.rsp.bak

编辑db_install.rsp

\[oracle@zbglxtdb response\]$ vi db\_install.rsp 

主要是修改以下参数

oracle.install.option=INSTALL\_DB\_SWONLY  
UNIX\_GROUP\_NAME=oinstall  
INVENTORY\_LOCATION=/home/app/oraInventory  
ORACLE\_BASE=/home/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.rootconfig.executeRootScript=false  


开始安装软件

**\[oracle@server dbhome\_1\]$ ./runInstaller -silent -responseFile /home/app/oracle/product/19.3.0/dbhome\_1/install/response/db\_install.rsp**  
Launching Oracle Database Setup Wizard...  
  
You can find the log of this install session at:  
/tmp/InstallActions2022-02-23\_11-16-08AM/installActions2022-02-23\_11-16-08AM.log  
  
As a root user, execute the following script(s):  
1\. /home/app/oraInventory/orainstRoot.sh  
2\. /home/app/oracle/product/19.3.0/dbhome\_1/root.sh  
  
Execute /home/app/oraInventory/orainstRoot.sh on the following nodes:  
\[server\]  
Execute /home/app/oracle/product/19.3.0/dbhome\_1/root.sh on the following nodes:  
\[server\]  
  
  
Successfully Setup Software with warning(s).  
Moved the install session logs to:  
/home/app/oraInventory/logs/InstallActions2022-02-23\_11-16-08AM  

创建数据库(命令行静默创建)

相应模板存放位置

软件/home/app/oracle/product/19.3.0/install/response/db\_install.rsp  
监听/home/app/oracle/product/19.3.0/dbhome\_1/assistants/netca/netca.rsp  
建库/home/app/oracle/product/19.3.0/dbhome\_1/assistants/dbca/dbca.rsp  

配置监听

执行以下命令通过netca.rsp文件创建监听

\[oracle@server dbhome\_1\]$ netca /silent /responseFile /home/app/oracle/product/19.3.0/dbhome\_1/assistants/netca/netca.rsp  
  
Parsing command line arguments:  
Parameter "silent" = true  
Parameter "responsefile" = /home/app/oracle/product/19.3.0/dbhome\_1/assistants/netca/netca.rsp  
Done parsing command line arguments.  
Oracle Net Services Configuration:  
Profile configuration complete.  
Oracle Net Listener Startup:  
Running Listener Control:  
/home/app/oracle/product/19.3.0/dbhome\_1/bin/lsnrctl start LISTENER  
Listener Control complete.  
Listener started successfully.  
Listener configuration complete.  
Oracle Net Services configuration successful. The exit code is 0  

查看监听状态

\[oracle@server bin\]$ lsnrctl status

创建数据库

编辑响应文件

[oracle@server dbca]$ cd /home/app/oracle/product/19.3.0/dbhome_1/assistants/dbca
[oracle@server dbca]$ cp dbca.rsp dbca.rsp.bak
[oracle@server dbca]$ vi dbca.rsp
#主要修改以下参数(Oracle 建议, 输入的口令长度不应少于 8 个字符, 至少包含 1 个大写字符, 1 个小写字符和 1 个数字 [0-9])
gdbName=testcdb
sid=testcdb
databaseConfigType=SI
templateName=General_Purpose.dbc
sysPassword=Password_123
systemPassword=Password_123
emConfiguration=DBEXPRESS
dbsnmpPassword=Password_123
datafileDestination=/home/app/oracle/oradata
characterSet=ZHS16GBK
totalMemory=8192

如果要创建容器数据库,则还需要配置以下参数,如果是多个pdb则以pdbname为前缀

createAsContainerDatabase=true  
numberOfPDBs=1  
pdbName=yhggi  
pdbAdminPassword=password  

执行安装

\[oracle@server dbca\]$ dbca -silent -createDatabase -responseFile /home/app/oracle/product/19.3.0/dbhome\_1/assistants/dbca/dbca.rsp  

准备执行数据库操作
已完成 10%
复制数据库文件
已完成 40%
正在创建并启动 Oracle 实例
已完成 42%
已完成 46%
已完成 50%
已完成 54%
已完成 60%
正在进行数据库创建
已完成 66%
已完成 70%
执行配置后操作
已完成 100%
数据库创建完成。有关详细信息, 请查看以下位置的日志文件:

/home/app/oracle/cfgtoollogs/dbca/testcdb。  

数据库信息:
全局数据库名:testcdb
系统标识符 (SID):testcdb
有关详细信息, 请参阅日志文件

"/home/app/oracle/cfgtoollogs/dbca/testcdb/testcdb.log"。  
\[oracle@server dbca\]$ ps -ef|grep pmon  
oracle 525 1 0 20:42 ? 00:00:00 ora\_pmon\_testcdb  
oracle 5955 19793 0 20:43 pts/1 00:00:00 grep --color=auto pmon  
\[oracle@server dbca\]$ sqlplus / as sysdba  
  
SQL\*Plus: Release 19.0.0.0.0 - Production on Wed Feb 23 20:52:31 2022  
Version 19.3.0.0.0  
  
Copyright (c) 1982, 2019, Oracle. All rights reserved.  
  
  
Connected to:  
Oracle Database 19c Enterprise Edition Release 19.0.0.0.0 - Production  
Version 19.3.0.0.0  
  
SQL>  
  

Oracle 19c 单实例 19.3.0 升级到19.11.0

检查OPatch工具版本

要安装19c的RU,OPatch 工具的版本必须大于 12.2.0.1.23。 在Oracle 19.3的版本中,OPatch版本是12.2.0.1.17的。 所以需要单独的更新OPatch。

\[oracle@server OPatch\]$ cd $ORACLE\_HOME/OPatch  
\[oracle@server OPatch\]$ ./opatch version  
OPatch Version: 12.2.0.1.17  
  
OPatch succeeded.  

备份Opatch,并解压最新Opatch包

cd $ORACLE\_HOME  
mv OPatch OPatch\_2022\_bak  

解压最新Opatch包

unzip /home/soft/p6880880\_190000\_LINUX.zip -d ./  

验证Opatch升级到12.2.0.1.23以上

\[oracle@server dbhome\_1\]$ cd OPatch  
\[oracle@server OPatch\]$ ./opatch version  
./opatch: 第 839 行:\[: 参数太多  
./opatch: 第 839 行:\[: 参数太多  
Java (1.7) could not be located. OPatch cannot proceed!  
OPatch returns with error code = 1  
  
#报错解决:将Opatch 的jre删除,将$ORACLE\_HOME 下的jdk/jre拷贝到Opatch目录下  
rm -rf $ORACLE\_HOME/Opatch/jre  
cp -r $ORACLE\_HOME/jdk/jre $ORACLE\_HOME/Opatch/

\[oracle@server OPatch\]$ ./opatch version  
OPatch Version: 12.2.0.1.29  
  
OPatch succeeded.  

查看OPatch是否冲突

\[oracle@server soft\]$ unzip p32545013\_190000\_Linux-x86-64.zip  
\[oracle@server soft\]$ cd 32545013  
**\[oracle@server 32545013\]$ $ORACLE\_HOME/OPatch/opatch prereq CheckConflictAgainstOHWithDetail -ph ./**  

应用patch(对于单实例,必须关闭待升级ORACLE HOME关联的所有实例和监听,并且包括退出所有的sqlplus窗口)
关闭监听

\[oracle@server 32545013\]$ lsnrctl stop  

关闭数据库

SQL> shutdown immediate  
Database closed.  
Database dismounted.  
ORACLE instance shut down.  
SQL> exit  
Disconnected from Oracle Database 19c Enterprise Edition Release 19.0.0.0.0 - Production  
Version 19.3.0.0.0  
\[oracle@server 32545013\]$ pwd  
/home/soft/32545013  
**\[oracle@server 32545013\]$ $ORACLE\_HOME/OPatch/opatch apply**  

加载变化的SQL到数据库

安装补丁之后,还需要将有变化的SQL加载到数据库中,这里可以直接运行Datapatch工具将这些修改的SQL重新加载到数据库中

启动数据库

\[oracle@server 32545013\]$ sqlplus / as sysdba  
  
SQL\*Plus: Release 19.0.0.0.0 - Production on Thu Feb 24 01:07:34 2022  
Version 19.11.0.0.0  
  
Copyright (c) 1982, 2020, Oracle. All rights reserved.  
  
Connected to an idle instance.  
  
SQL> startup  
ORACLE instance started.  
  
Total System Global Area 6442448976 bytes  
Fixed Size 8910928 bytes  
Variable Size 1090519040 bytes  
Database Buffers 5335154688 bytes  
Redo Buffers 7864320 bytes  
Database mounted.  
Database opened.  
SQL> exit  
Disconnected from Oracle Database 19c Enterprise Edition Release 19.0.0.0.0 - Production  
Version 19.11.0.0.0  

打datapatch

\[oracle@server 32545013\]$ $ORACLE\_HOME/OPatch/datapatch -verbos

启动并检查监听注册状态

\[oracle@server 32545013\]$ lsnrctl start  
\[oracle@server 32545013\]$ lsnrctl status  

编译失效对象

@$ORACLE\_HOME/rdbms/admin/utlrp.sql

最后修改时间:2022-02-25 18:51:38
「喜欢这篇文章,您的关注和赞赏是给作者最好的鼓励」
关注作者
【版权声明】本文为墨天轮用户原创内容,转载时必须标注文章的来源(墨天轮),文章链接,文章作者等基本信息,否则作者和墨天轮有权追究责任。如果您发现墨天轮中有涉嫌抄袭或者侵权的内容,欢迎发送邮件至:contact@modb.pro进行举报,并提供相关证据,一经查实,墨天轮将立刻删除相关内容。

评论