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

server/2024/11/29 16:03:02/

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_35">oracle数据库备份

cd /backup

tar /cvf /backup/oracle.tar /oracle

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

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

mkdir /backup/hferpdb

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

\#export PATHPS1="[`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

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

image-20241125145539921

image-20241125145547186

image-20241125145553719

image-20241125145602054

image-20241125145608561

image-20241125145613520

安装监听:

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

netca

image-20241125145658822

image-20241125145705385

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

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

数据库表空间修改

image-20241125150006069

[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

[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

检查无效对象

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

Oracle11g升级到Oracle12c过程

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

image-20241125150249378

image-20241125150255299

image-20241125150300620

image-20241125150307926

image-20241125150317085

Oracle11g到Oracle12c后期检查

升级后执行的脚本

再12c执行

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

image-20241125150352575

image-20241125150358061

升级完成后的检查

dbupgdiag.sql

image-20241125150414643

对象检查

hcheck.sql

/etc/oratab

image-20241125150439751

show parameter compat

alter system set compatble=‘12.2.0.1.0’ scope=spfile;

show parameter list

alter system set local_listener=‘’;

启停数据库测试

image-20241125150533009


http://www.ppmy.cn/server/145939.html

相关文章

ctfshow -web 89-115-wp

89. 显然,这里是需要绕过preg_match,绕过preg_match有三种方法 CTF 总结02:preg_match()绕过_pregmatch函数绕过-CSDN博客 90. 考intval。 这个与赣ctf有道题差不多,我是直接传入num4476a,intval(4476a&a…

Vue 开发中为什么要使用穿透符::deep()

在 Vue 开发中&#xff0c;有时候样式需要穿透才能生效&#xff0c;通常是因为使用了作用域样式 (scoped styles) 的缘故。 1. 什么是作用域样式 (scoped styles)? 在 Vue 单文件组件 (SFC) 中&#xff0c;使用 <style scoped> 声明的样式只会作用于当前组件的元素。Vu…

【Qt】QDateTimeEdit控件实现清空(不保留默认时间/最小时间)

一、QDateTimeEdit控件 QDateTimeEdit 提供了一个用于编辑日期和时间的控件。用户可以通过键盘或使用上下箭头键来增加或减少日期和时间值。日期和时间的显示格式根据设置的格式显示&#xff0c;可以通过 setDisplayFormat() 方法来设置。 二、如何清空 我在使用的时候&#…

第十二章 使用 BIND 提供域名解析服务

1. DNS 域名解析服务 相较于由数字构成的 IP 地址&#xff0c;域名更容易被理解和记忆&#xff0c;所以我们通常更习惯通过域名的方式来访问网络中的资源。但是&#xff0c;网络中的计算机之间只能基于 IP 地址来相互识别对方的身份&#xff0c;而且要想在互联网中传输数据&…

Anaconda3 2024 jupyter notebook 配置默认文件路径

我的版本如下&#xff1a; 第一步&#xff1a; 打开命令行anaconda prompt &#xff0c; 敲下面命令生成配置文件 jupyter notebook --generate-config 如下图&#xff1a; 修改配置jupyter_notebook_config.py 文件中搜索c.ServerApp.root_dir &#xff08; 对于 Anac…

windows 应用 UI 自动化实战

UI 自动化技术架构选型 UI 自动化是软件测试过程中的重要一环&#xff0c;网络上也有很多 UI 自动化相关的知识或资料&#xff0c;具体到 windows 端的 UI 自动化&#xff0c;我们需要从以下几个方面考虑&#xff1a; 开发语言 毋庸置疑&#xff0c;在 UI 自动化测试领域&am…

Spring Bean初始化流程

首先&#xff1a; 加载Bean定义(Configuration) 然后对于每个Bean&#xff1a; 1、实例化Bean&#xff08;应该是从Bean方法中获取&#xff0c;Bean方法里面包含new这个类型的代码&#xff09;2、依赖注入&#xff08;所依赖的Bean要经历相同的流程&#xff09;、调用Setter…

Docker化部署Flask:轻量级Web应用的快速部署方案

Flask是一个用Python编写的轻量级Web应用框架&#xff0c;以其简洁性和灵活性而受到开发者的喜爱。Docker作为一种流行的容器化技术&#xff0c;为应用的部署和管理提供了极大的便利。本文将探讨Flask的优点、Docker部署的好处&#xff0c;并详细介绍如何将Flask应用Docker化部…