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

embedded/2024/11/28 7:05:45/

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/embedded/141122.html

相关文章

记录一次在生产环境中更换 SSL 证书的操作

本文将记录一次在生产环境中更换 SSL 证书的过程,包括准备工作、遇到的问题和解决方案,以及如何重启和重新加载 Nginx 服务以使更改生效。 1. 确认证书过期 SSL 证书通常具有有效期,当证书过期时,用户访问网站时会看到浏览器警告…

HBase运维需要掌握的技能(1)

作为 HBase 运维人员,我们需要掌握一定的 HBase 和 Hadoop 生态系统相关的知识,特别是与系统安装、配置、性能调优、故障排除等相关的技能。以下是 HBase 运维人员需要掌握的核心知识点: HBase 是一个分布式的、面向列的 NoSQL 数据库&#…

LLamafactory API部署与使用异步方式 API 调用优化大模型推理效率

文章目录 背景介绍第三方大模型API 介绍LLamafactory 部署API大模型 API 调用工具类项目开源 背景介绍 第三方大模型API 目前,市面上有许多第三方大模型 API 服务提供商,通过 API 接口向用户提供多样化的服务。这些平台不仅能提供更多类别和类型的模型…

1、SpringBoo中Mybatis多数据源动态切换

我们以一个实例来详细说明一下如何在SpringBoot中动态切换MyBatis的数据源。 一、需求 1、用户可以界面新增数据源相关信息,提交后,保存到数据库 2、保存后的数据源需要动态生效,并且可以由用户动态切换选择使用哪个数据源 3、数据库保存了多个数据源的相关记录后,要求…

MySQL查询缓存详解

一、查询缓存的基本概念 MySQL 的查询缓存是一种用于存储查询结果的内存区域。当一个查询被执行时,MySQL 首先检查查询缓存中是否已经存在相同的查询结果。如果存在,直接从查询缓存中返回结果,而无需再次执行查询语句,从而大大提高…

龙头股的走势判断-龙头股的两种走势形态-如何避开常见四种陷进

强势龙头股的两种走势形态-一气呵成形态与空中加油形态。 主力操作强势龙头股的两种惯用手法,强势股短期内股价涨幅较大,如果按强势龙头股走势表现划分的话,可以将其划分为一气呵成式和空中加油式两种。 上图强势龙头股的两种拉升走势。 一…

Vue Promise的使用,界面使用异步线程循环执行方法(模拟线程)

目录 1.定义开始和退出标识 2.定义开始方法--异步 3.定义循环方法,以及控制规则 4.定义业务方法 1.定义开始和退出标识 为的是能控制开始和结束,记得销毁时要结束循环,否则方法会一直被执行 data() {return {isrunning: false, // 轮询…

16 —— Webpack多页面打包

需求&#xff1a;把 黑马头条登陆页面-内容页面 一起引入打包使用 步骤&#xff1a; 准备源码&#xff08;html、css、js&#xff09;放入相应位置&#xff0c;并改用模块化语法导出 原始content.html代码 <!DOCTYPE html> <html lang"en"><head&…