ORACLE单实例静默安装和打补丁
静默安装
1.安装前准备
mkdir /opt/oracle mkdir /soft
2.配置本地yum源
3.上传rpm包到soft目录下
在root用户下操作
rpm -ivh oracle-database-preinstall-19c-1.0-1.el7.x86_64
根据提示下包,下完后重新执行
4.给目录赋权
chown -R oracle:oinstall /opt/oracle chmod -R 775 /opt/oracle
5.安装软件
rpm -ivh oracle-database-preinstall-19c-1.0-1.el7.x86_64.rpm
1
:*更改数据库名(可选,其中itpuxdb为更改过的名称)可选可不选
将CDB改为false 创建的就是PDB数据库,不然就是CDB数据库
cd /etc/sysconfig
cp oracledb_ORCLCDB-19c.conf oracledb_itpuxdb-19c.conf
cd /etc/init.d/
cp oracledb_ORCLCDB-19c oracledb_itpuxdb-19c
vim oracledb_itpuxdb-19c
(执行以下两个全局替换)
:%s/ORCLCDB/itpuxdb/g
:%s/ORCLPDB/itpuxpdb/g
6.创建数据库(如果你执行更改数据库名应更改下面的呢数据库名称)
/etc/init.d/oracledb_ORCLCDB-19c configure
7.环境配置
记得给oracle配置密码
passwd oracle
转到oracle用户下配置环境变量
su - oracle vim ~/.bashrc_profile 添加以下内容 export ORACLE_BASE=/opt/oracle export ORACLE_HOME=/opt/oracle/product/19c/dbhome_1 export ORACLE_UNQNAME=ORCLCDB export ORACLE_SID=ORCLCDB export PATH=$PATH:/opt/oracle/product/19c/dbhome_1/bin 保存退出 source ~/.bashrc_profile
8.检查数据库并启动
env | grep ORACLE sqlplus / as sysdba
补丁升级
1查看版本
1.进入oracle查看当前版本,记住当前版本,便于以后判断是否升级成功
sqlplus / as sysdba select * from product_component_version;
2查看Opatch版本
cd $ORACLE_HOME/OPatch ./opatch version
3.备份家目录(也可以打快照)
需要关闭数据库进行
sqlplus / as sysdba shutdown immediate exit
切换到root用户下备份
tar -zcvf /opt/oracle.tar.gz /opt/oracle
升级OPatch
在主机创建Opatch目录存放压缩包,压缩包直接放在oracle用户下
mkdir Opatch
赋权限 压缩包改成自己的版本
chown -R oracle:oinstall p6880880_190000_Linux-x86-64.zip chown -R oracle:oinstall p33515361_190000_Linux-x86-64.zip
解压opatch软件包到ORACLE目录下
unzip p6880880_180000_Linux-x86-64.zip -d $ORACLE_HOME
查看版本
$ORACLE_HOME/OPatch/opatch version
进行验证
$ORACLE_HOME/OPatch/opatch lsinventory -detail -oh $ORACLE_HOME
检测
解压补丁,改成自己的压缩包,oracle用户
unzip p33515361_190000_Linux-x86-64.zip
进入解压后的目录执行,冲突检测,结尾是succeeded则代表成功
$ORACLE_HOME/OPatch/opatch prereq CheckConflictAgainstOHWithDetail -ph ./
空间检测需要有15G以上
编辑文件
vim /tmp/patch_list_dbhome.txt
加入以下内容
/home/oracle/Opatch/33515361
根据自己的具体路径更改
进行空间检测
$ORACLE_HOME/OPatch/opatch prereq CheckSystemSpace -phBaseFile /tmp/patch_list_dbhome.txt
打补丁
1.关闭监听
lsnrctl stop
2.关闭数据库
sqlplus / as sysdba shu immediate;
、执行补丁
$ORACLE_HOME/OPatch/opatch apply
将更新的东西加载到数据库里面
sqlplus / as sysdba startup; alter pluggable database all open;
show pdbs查看
将更新的东西加载到数据库中 执行时间很长
cd $ORACLE_HOME/OPatch ./datapatch -verbose
进入oracle中执行@utlrp.sql
cd $ORACLE_HOME/rdbms/admin
sqlplus /nolog
conn / as sysdba;
@utlrp.sql
最后查看数据库版本,查看版本是否比一开始的高
select * from product_component_version;
补丁回退
关闭监听 lsnrctl stop lsnrctl start
关闭数据库
shu immediate exit ps -ef | grep sqlplus
查看需要回退的补丁id号,都在oracle用户下执行
opatch lsinventory
补丁回退
su - oracle cd $ORACLE_HOME/OPatch ./opatch rollback -id 35943157
启动实例,加载文件
lsnrctl start sqlplus / as sysdba startup
cd $ORACLE_HOME/OPatch ./datapatch -sanity_checks cd $ORACLE_HOME/OPatch ./datapatch -verbose
查看数据库名,回退到了一开始的版本
select * from product_component_version;