重庆思庄Oracle、Redhat认证学习论坛

 找回密码
 注册

QQ登录

只需一步,快速开始

搜索
查看: 21|回复: 0

[Oracle] 将10G的数据库库异机还原到11.2.0.4数据库中,并将库升级到11.2.0.4(一、准备工作)

[复制链接]
发表于 6 天前 | 显示全部楼层 |阅读模式
本帖最后由 王亮 于 2020-9-13 15:49 编辑

主要步骤:
一,环境检查(源库)
1,将11g中的utlu112i.sql,cp到源主机上,进行升级检查;
2,通过dbupgdiag.sql脚本来检查源库的一致性,如果有无效对象,@ utlrp.sql可以进行进行重编译
3,对源库进行备份

二,迁移到新
主机1,修改相对应的pfile文件,因为10g里面的参数在11g中有些是废弃的;
2,启动数据库到nomount下,恢复控制文件,恢复全库
。3,恢复数据库;
三,进行升级

操作步骤

-将11.2.0.4中的utlu112i.sql脚本复制到源库,检查升级条件
SQL> spool upgrade_info.log
SQL> @ / home / oracle / utlu112i.sql
Oracle数据库11.2升级前信息工具09-02-2020 18:02:55

****************************************************** ********************
数据库:
**************************** **********************************************
->名称:ORCL
->版本:10.2.0.4.0-
>兼容:10.2.0.4.0-
>块大小:8192-
>平台:Linux x86 64位
->时区文件:V4

****************************************************** ********************
表空间:[在当前环境中进行调整]
******************** ******************************************************
-> SYSTEM表空间足以进行升级。
....最小所需大小:752 MB
.... AUTOEXTEND所需的额外空间:252 MB-
> UNDOTBS1表空间足以进行升级。
....最小所需大小:450 MB-
> SYSAUX表空间足以进行升级。
....最小所需大小:458 MB
.... AUTOEXTEND需要的额外空间:208 MB-
> TEMP表空间足以进行升级。
....最小所需大小:61 MB
.... AUTOEXTEND所需的额外空间:32 MB-
>示例表空间足以进行升级。
....最小所需大小:69 MB

****************************************************** ********************
闪回:关闭
******************************* ***********************************************
******* ****************************************************** *************
更新参数:[更新Oracle Database 11.2 init.ora或spfile]
*********************** ***************************************************
警告:->“ sga_target”需要增加到至少672 MB
警告:->“ java_pool_size”需要增加到至少128 MB

****************************************************** ********************
重命名参数:[更新Oracle Database 11.2 init.ora或spfile]
**************** ****************************************************** ****
-未找到重命名的参数。无需更改。

****************************************************** ********************
过时/不建议使用的参数:[更新Oracle Database 11.2 init.ora或spfile]
************** ****************************************************** ******
-> background_dump_dest 11.1已被替换为
“ diagnostic_dest”
-> user_dump_dest 11.1 DEPRECATED替换为
“ diagnostic_dest”
-> core_dump_dest 11.1 DEPRECATED替换为
“ diagnostic_dest”

****************************************************** ********************
组件:[以下数据库组件将被升级或安装]
***************** ****************************************************** ***
-> Oracle目录视图[升级]有效
-> Oracle软件包和类型[升级]有效
--JServer JAVA虚拟机[升级]有效
--Oracle XDK for Java [升级]有效
-> Oracle工作区管理器[升级]有效
-> OLAP分析工作区[升级]有效
-> OLAP目录[升级]有效--EM
存储库[升级]有效
-> Oracle Text [升级]有效
-> Oracle XML数据库[升级]有效
-> Oracle Java软件包[升级]有效
-> Oracle interMedia [升级]有效
->空间[升级]有效
->数据挖掘[升级]有效
->表达式过滤器[升级]有效
->规则管理器[升级]有效期
-> Oracle OLAP API [升级]有效期

****************************************************** ********************
杂项警告
**************************************************** **********************
警告:->数据库使用的时区文件早于版本11
。....在发行版迁移之后,建议DBMS_DST包
....用于将10.2.0.4.0数据库时区版本
.... 升级到新版本随附的最新版本。
警告:->数据库包含具有过时的优化器统计信息的架构。
....有关升级
数据库之前更新....模式统计信息的说明,请参阅升级指南。
....具有过时统计信息的组件模式:
.... SYS
.... WMSYS
.... OLAPSYS
.... SYSMAN
.... CTXSYS
.... XDB
.... MDSYS
警告:->数据库在升级之前包含INVALID对象。
....无效的SYS / SYSTEM对象列表已写入
.... registration $ sys_inv_objs。
....非SYS / SYSTEM对象的列表已写入
.... registration $ nonsys_inv_objs。
....升级后使用utluiobj.sql来识别
由于升级而导致的任何新的无效....对象。
.... USER PUBLIC有1个无效对象。
.... USER SYS具有2个INVALID对象。
警告:->数据库包含架构,这些架构的对象取决于网络
软件包。
....有关配置网络ACL的说明,请参阅《升级指南》。
警告:->数据库中存在EM数据库控制存储库。
....不支持EM Database Control的直接降级。有关
升级前保存EM数据的说明,请参阅....升级指南。
警告:->回收站正在使用中。
....您的回收站已打开,它包含
.... 19个对象。要求
....升级之前回收站是空的
....数据库。
....命令:PURGE DBA_RECYCLEBIN
....必须在执行升级之前立即执行。


PL / SQL过程成功完成。

SQL>假脱机;

-根据前面的脚本结果,调整相应设置

SQL>显示参数sga_target

NAME TYPE VALUE
------------------------------------ ----------- --- ---------------------------
sga_target大整数512M

SQL> alter system set sga_target = 672M scope = spfile;

系统已更改。

SQL>显示参数java_pool_size

名称类型值
------------------------------------ ------ ----- ------------------------------
java_pool_size大整数0
SQL> alter system set java_pool_size = 128M scope = spfile ;

系统已更改。

-编辑无效对象

SQL> @?/ rdbms / admin / utlrp.sql

TIMESTAMP
-------------------------------- ------------------------------------------------
COMP_TIMESTAMP UTLRP_BGN 2020-09-02 18:23:28

DOC>以下PL / SQL块调用UTL_RECOMP来重新编译
数据库中的无效DOC>对象。重新编译时间
与数据库中DOC>无效对象的数量成正比,因此
在包含大量无效
DOC>对象的数据库上执行此命令可能要花费DOC>较长的时间。
DOC>
DOC>使用以下查询跟踪重新编译进度:
DOC>
DOC> 1.查询返回剩余的无效对象数。此
DOC>编号应随时间减少。
DOC> SELECT COUNT(*)FROM obj $ WHERE status IN(4,5,6);
DOC>
DOC> 2.查询返回到目前为止已编译的对象数。此号码
DOC>
DOC> SELECT COUNT(*)from UTL_RECOMP_COMPILED;
DOC>
DOC>此脚本
根据可用的CPU数量(参数cpu_count)乘以
DOC> 乘以每个CPU的线程数(参数parallel_threads_per_cpu)自动选择串行或并行重新编译DOC> 。
DOC>在RAC上,此数字被添加到所有RAC节点上。
DOC>
DOC> UTL_RECOMP使用DBMS_SCHEDULER创建用于并行
DOC>重新编译的作业。创建作业时没有实例关联,因此
DOC>可以跨RAC节点迁移。使用以下查询来验证
DOC>是否正在创建并正确运行UTL_RECOMP作业:
DOC>
DOC> 1。
DOC>在dba_scheduler_jobs中选择job_name
DOC> WHERE job_name如'UTL_RECOMP_SLAVE_%';
DOC>
DOC> 2.查询正在运行的UTL_RECOMP作业
DOC>从dba_scheduler_running_jobs
DOC> SELECT job_name DOC> WHERE job_name如'UTL_RECOMP_SLAVE_%';
DOC>

#PL / SQL过程成功完成。


时间戳
------------------------------------------------- -------------------------------
COMP_TIMESTAMP UTLRP_END 2020-09-02 18:23:31


PL / SQL过程已成功完成。

DOC>以下查询报告已编译
带有错误的DOC> 的对象数(带有错误编译的对象的状态设置为3)
DOC> obj $)。如果该数目比预期的大,请检查
与每个对象一起报告的错误DOC>消息(使用SHOW ERRORS),以查看它们的
DOC>是否指向系统配置错误或必须
重新定义这些对象的资源约束,然后再尝试重新编译这些对象。
DOC>

有错误的对象
-------------------
                  0

DOC>以下查询报告
DOC>重新编译期间捕获的错误数。如果此数字不为零,请查询
表UTL_RECOMP_ERRORS中的错误DOC>消息,以查看这些错误
DOC>中是否有任何错误是由于配置错误或资源限制而导致的,必须先
修复DOC>才能成功编译对象。


重新编译期间的错误
---------------------------
                          0


成功完成PL / SQL过程。

->记录无效对象:

SQL> select * from Registry $ sys_inv_objs;

未选择任何行

-调整表空间的大小
SQL> alter database datafile'/u01/app/oradata/orcl/system01.dbf'resize 800M;

数据库已更改。

SQL> alter database datafile'/u01/app/oradata/orcl/sysaux01​​.dbf'调整大小500M;

数据库已更改。

SQL> alter database datafile'/u01/app/oradata/orcl/example01.dbf'调整大小100M;

数据库已更改。

SQL> alter database tempfile'/u01/app/oradata/orcl/temp01.dbf'调整大小100M;

数据库已更改。

SQL>创建撤消表空间undotbs2数据文件'/u01/app/oradata/orcl/undotbs02.dbf'大小300M;

表空间已创建。

SQL> alter system set undo_tablespace = undotbs2 scope = both;

系统已更改。

SQL>更改系统集undo_tablespace = undotbs2;           

系统已更改。

SQL>创建撤消表空间undotbs2数据文件'/u01/app/oradata/orcl/undotbs02.dbf'大小500M;

表空间已创建。

SQL> alter system set undo_tablespace = undotbs2 scope = both;

系统已更改。

SQL>删除表空间UNDOTBS1,包括内容和数据文件;

表空间已删除。


SQL>创建撤消表空间undotbs1数据文件'/u01/app/oradata/orcl/undotbs01.dbf'大小500M;

表空间已创建。

SQL> alter system set undo_tablespace = undotbs1 scope = both;

系统已更改。

SQL>删除表空间UNDOTBS2,包括内容和数据文件;

表空间已删除。

SQL>


-源库执行PURGE DBA_RECYCLEBIN
SQL> --PURGE DBA_RECYCLEBIN;

已清除DBA Recyclebin。

-源库收集系统信息执行dbms_stats.gather_dictionary_stats;

##在升级前创建字典统计信息—

##否则预升级工具(utlu102i.sql)会花费更长时间

SQL> EXECUTE dbms_stats.gather_dictionary_stats;

PL / SQL过程成功完成。

-源库创建pfile文件
SQL>从spfile创建pfile ='/ home / oracle / pfile.ora';
文件已创建。



回复

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则

QQ|手机版|小黑屋|重庆思庄Oracle、Redhat认证学习论坛 ( 渝ICP备12004239号-4 )

GMT+8, 2020-9-19 08:05 , Processed in 0.098127 second(s), 21 queries .

重庆思庄学习中心论坛-重庆思庄科技有限公司论坛

© 2001-2020

快速回复 返回顶部 返回列表