通过DBUA升级 Oracle 11g到Oracle12c版本

Oracle 11g升级到Oracle12c

Oracle11g数据库环境准备与数据备份

环境:

oracle11.2.0.4 to oralce12.2.0.1

升级方案:

升级方案很多种,我们ORACLE培训课程第8阶段有所讲所有的升级方案,我们这里采用DBUA官方建议的方法

1、手工通过upgrade方式,执行大量的脚本去手工升级

2、dbua图形方式升级(官方推荐的)

oracle安装目录备份

修改主机名:

hostname hefeidb

vi /etc/hostname

停所有的数据库服务

oracle数据库备份

cd /backup

tar /cvf /backup/oracle.tar /oracle

停机时间长:启动mount状态,完整备份

不停机时间短:在线备份+归档

mkdir /backup/hferpdb

sql 复制代码
rman target / 

CONFIGURE CONTROLFILE AUTOBACKUP ON; 
run
{ 
allocate channel d1 type disk; 
allocate channel d2 type disk; 
backup format '/backup/hfhsdb/hferpdbfull_%U' database include current controlfile; 
release channel d1; 
release channel d2; 
} 

Oracle12c安装过程

用oracle用户,上传linuxx64_12201_database.zip,

su - oracle

mkdir -p /oracle/app/oracle/product/12.2.0/db_1

chown -R oracle:oinstall /oracle/app/oracle/product/12.2.0

chmod -R 775 /oracle/app/oracle/product/12.2.0

修改环境变量:

oracle@hefeidb:/home/oracle]$cp ~/.bash_profile ~/.bash_profile.bak

oracle@hefeidb:/home/oracle\]$vi \~/.bash_profile ```sql \#export PATH PS1="[`whoami`@`hostname`:"'$PWD]$' export PS1 export TMP=/tmp export LANG=en_US export TMPDIR=$TMP export ORACLE_UNQNAME=hefeidb ORACLE_SID=hefeidb; export ORACLE_SID ORACLE_BASE=/oracle/app/oracle; export ORACLE_BASE ORACLE_HOME=$ORACLE_BASE/product/12.2.0/db_1; export ORACLE_HOME ORACLE_TERM=xterm; export ORACLE_TERM NLS_DATE_FORMAT="yyyy-mm-dd HH24:MI:SS"; export NLS_DATE_FORMAT NLS_LANG=AMERICAN_AMERICA.ZHS16GBK;export NLS_LANG PATH=.:$PATH:$HOME/.local/bin:$HOME/bin:$ORACLE_BASE/product/12.2.0/db_1/bin:$ORACLE_HOME/bin; export PATH THREADS_FLAG=native; export THREADS_FLAG umask=022 ``` 验证: \[root@hefeidb backup\]# su - oracle Last login: Sun Aug 27 16:11:11 CST 2023 on pts/1 \[oracle@hefeidb:/home/oracle\]$env \|grep ORACLE ```sql ORACLE_UNQNAME=hefeidb ORACLE_SID=hefeidb ORACLE_BASE=/oracle/app/oracle ORACLE_TERM=xterm ORACLE_HOME=/oracle/app/oracle/product/12.2.0/db_1 ``` 解压12c的安装软件 \[oracle@hefeidb:/backup\]$unzip linuxx64_12201_database.zip 运行vnc安装: \[oracle@hefeidb:/backup\]$vncserver \[oracle@hefeidb:/backup/database\] ./runInstaller ![image-20241125145532863](https://i-blog.csdnimg.cn/img_convert/53878fec5e51d652fc4689b830cdd88f.png) ![image-20241125145539921](https://i-blog.csdnimg.cn/img_convert/5205b6769f8185a67a0c07822bd715ff.png) ![image-20241125145547186](https://i-blog.csdnimg.cn/img_convert/0a2fe3531df02a01fc452ef0597971b1.png) ![image-20241125145553719](https://i-blog.csdnimg.cn/img_convert/967f8b4c14e582f1cd18c6be00a44aa1.png) ![image-20241125145602054](https://i-blog.csdnimg.cn/img_convert/7ebfcd8f3e6ad09ae1aee23aa1d85570.png) ![image-20241125145608561](https://i-blog.csdnimg.cn/img_convert/c1cd07a1b26ad9c1b762e7a5c6670be6.png) ![image-20241125145613520](https://i-blog.csdnimg.cn/img_convert/d9085c7176b389bd639face2c9da65aa.png) #### 安装监听: 监听端口改成1522,后面升级完后再改回1521. netca ![image-20241125145658822](https://i-blog.csdnimg.cn/img_convert/f57e1714c55fd9a9fd6da7194fb81044.png) ![image-20241125145705385](https://i-blog.csdnimg.cn/img_convert/f2f9954e4e9d7f32626aadb24906e883.png) ### Oracle11g数据库升级检查与测试 \[oracle@hefeidb:/home/oracle\]$source \~/.bash_profile.bak \[oracle@hefeidb:/home/oracle\]$env \|grep ORACLE ORACLE_UNQNAME=hefeidb ORACLE_SID=hefeidb ORACLE_BASE=/oracle/app/oracle ORACLE_TERM=xterm ORACLE_HOME=/oracle/app/oracle/product/11.2.0/db_1 \[oracle@hefeidb:/home/oracle\]$which sqlplus \[oracle@hefeidb:/home/oracle\]$source \~/.bash_profile.bak \[oracle@hefeidb:/home/oracle\]$/oracle/app/oracle/product/11.2.0/db_1/bin/sqlplus "/as sysdba" #### 运行preupgrade.jar ,生产检查脚本 \[oracle@hefeidb:/backup\]$unzip preupgrade_12201_cbuild_20_lf.zip \[oracle@hefeidb:/backup\]$source \~/.bash_profile.bak --【到之前的环境变量里面去】 \[oracle@hefeidb:/backup\]$java -jar preupgrade.jar ![image-20241125145835897](https://i-blog.csdnimg.cn/img_convert/cccb433a5198bd71621d117d39d7c830.png) \[oracle@hefeidb:/oracle/app/oracle/product/12.2.0/db_1/rdbms/admin\]$more /oracle/app/oracle/cfgtoollogs/hefeidb/preupgrade/preupgrade.log #### 数据库表空间修改 ![image-20241125150006069](https://i-blog.csdnimg.cn/img_convert/aedf374f7cbde3c2f86d19d07a728f0f.png) \[oracle@hefeidb:/backup\]$/oracle/app/oracle/product/11.2.0/db_1/bin/sqlplus "/as sysdba" SQL\> select name from v$datafile; SQL\> alter database datafile '/oradata/hefeidb/system01.dbf' resize 1010m; #### em管理器修改 ![image-20241125150046649](https://i-blog.csdnimg.cn/img_convert/4b9be4b165b3be06a3bf48fd01f42fb3.png) \[oracle@hefeidb:/oracle/app/oracle/product/12.2.0/db_1/rdbms/admin\]$cp emremove.sql .../.../.../.../11.2.0/db_1/rdbms/admin/ \[oracle@hefeidb:/oracle/app/oracle/product/12.2.0/db_1/rdbms/admin\]$emctl stop dbconsole \[oracle@hefeidb:/oracle/app/oracle/product/12.2.0/db_1\]$/oracle/app/oracle/product/11.2.0/db_1/bin/sqlplus "/as sysdba" SQL\> SET ECHO ON; SQL\> SET SERVEROUTPUT ON; SQL\> @?/rdbms/admin/emremove.sql SQL\> @/oracle/app/oracle/cfgtoollogs/hefeidb/preupgrade/preupgrade_fixups.sql #### 升级前收集信息 ![image-20241125150211166](https://i-blog.csdnimg.cn/img_convert/5f818465fccc7405bb268a138350d6ff.png) #### 检查无效对象 SQL\> @$ORACLE_HOME/rdbms/admin/utlrp.sql ### Oracle11g升级到Oracle12c过程 用vnc连接到oracle,要在12c的环境下面运行dbua进行升级 ![image-20241125150249378](https://i-blog.csdnimg.cn/img_convert/bf5965b757da0c4caf560680ef6b81de.png) ![image-20241125150255299](https://i-blog.csdnimg.cn/img_convert/a65c51be12e6b0124f2d93bb23ecfd4b.png) ![image-20241125150300620](https://i-blog.csdnimg.cn/img_convert/bedbb5703f0cfe62fb9a492007ed33f0.png) ![image-20241125150307926](https://i-blog.csdnimg.cn/img_convert/03426c741e114a0f52954a6f95f3c706.png) ![image-20241125150317085](https://i-blog.csdnimg.cn/img_convert/80584416f0eda575beb8a68abdb0e12d.png) ### Oracle11g到Oracle12c后期检查 #### 升级后执行的脚本 再12c执行 /oracle/app/oracle/cfgtoollgs/hefeidb/preupgrade/postupgrade_fixups.sql ![image-20241125150352575](https://i-blog.csdnimg.cn/img_convert/82791c7d81c8d932cacfa1e42166d340.png) ![image-20241125150358061](https://i-blog.csdnimg.cn/img_convert/3c7ee1fc4275af796d18d99cc1703f52.png) #### 升级完成后的检查 dbupgdiag.sql ![image-20241125150414643](https://i-blog.csdnimg.cn/img_convert/ce8a223c4295d7e284d883ecf223431d.png) #### 对象检查 hcheck.sql /etc/oratab ![image-20241125150439751](https://i-blog.csdnimg.cn/img_convert/c706ec05b79916de4ed66d9d25ae11fa.png) #### show parameter compat alter system set compatble='12.2.0.1.0' scope=spfile; #### show parameter list alter system set local_listener=''; #### 启停数据库测试 ![image-20241125150533009](https://i-blog.csdnimg.cn/img_convert/f925a97ab4e80437ea9ff6047967ac23.png)

相关推荐
小wanga8 分钟前
【MySQL】索引特性
android·数据库·mysql
wpp030325 分钟前
GaussDB SQL查询与子查询:从入门到性能调优
数据库
云之兕38 分钟前
MyBatis 如何使用
数据库·mybatis
TDengine (老段)1 小时前
TDengine 语言连接器(R语言)
大数据·数据库·物联网·r语言·时序数据库·tdengine·iotdb
日行月白1 小时前
Day14:关于MySQL的索引——创、查、删
数据库·mysql
异常君2 小时前
深入解析 InnoDB 死锁:从案例到方案,全流程透视指南
数据库·后端·mysql
꧁坚持很酷꧂2 小时前
Qt实现文件传输服务器端(图文详解+代码详细注释)
开发语言·数据库·qt
苏牧keio2 小时前
安装MySQL8.0
数据库
半糖土豆爱编码_2 小时前
【mysql】Mac 通过 brew 安装 mysql 、启动以及密码设置
数据库·mysql·macos
Lary_Rock2 小时前
ubuntu20.04 Android14编译环境配置
大数据·数据库·elasticsearch