通过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

安装监听:

监听端口改成1522,后面升级完后再改回1521.

netca

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

oracle@hefeidb:/oracle/app/oracle/product/12.2.0/db_1/rdbms/admin$more /oracle/app/oracle/cfgtoollogs/hefeidb/preupgrade/preupgrade.log

数据库表空间修改

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管理器修改

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

升级前收集信息

检查无效对象

SQL> @$ORACLE_HOME/rdbms/admin/utlrp.sql

Oracle11g升级到Oracle12c过程

用vnc连接到oracle,要在12c的环境下面运行dbua进行升级

Oracle11g到Oracle12c后期检查

升级后执行的脚本

再12c执行

/oracle/app/oracle/cfgtoollgs/hefeidb/preupgrade/postupgrade_fixups.sql

升级完成后的检查

dbupgdiag.sql

对象检查

hcheck.sql

/etc/oratab

show parameter compat

alter system set compatble='12.2.0.1.0' scope=spfile;

show parameter list

alter system set local_listener='';

启停数据库测试

相关推荐
程序边界1 分钟前
迁移评估不再拍脑袋,这个数据迁移工具的量化报告把我救了(上)
数据库
阿狗童鞋34 分钟前
Redis实战指南
数据库·redis·缓存
lupai2 小时前
维修保养记录精准版 API 对接实战指南
数据库·python
2601_952196364 小时前
计算机科学与技术专业应届生投商业分析岗,需要哪些额外能力?
数据库·oracle
皮皮学姐分享-ppx4 小时前
地级市、省级人才政策强度测算(2000-2025)
大数据·数据库·人工智能·百度·高考
晚安日记wanna5 小时前
大厂禁 JOIN 的真正原因,拆到第四层才清楚
数据库·后端·面试
java1234_小锋5 小时前
Redis 宣布正式接入 AI
数据库·人工智能·redis
这个DBA有点耶5 小时前
数据融合平台的下一代形态:数据库内核自己就能融合,为什么还要ETL?
数据库·架构·aigc
数据库小学妹5 小时前
MySQL大表怎么优化?2亿行表的分区归档与冷热分离实战
数据库·mysql·分库分表·分区表·数据库运维·冷热分离
91刘仁德5 小时前
RAG实战 - 向量数据库(Milvus)
数据库·milvus