怎么把数据从oracle11迁到oracle12

怎么把数据从oracle11迁到oracle12,第1张

oracle 11.1可以直接升级到12.1的版本,详细可以见mos相关可以直接升级的指导

os:RHEL 5.5

oracle:11.1.0.7, 单实例

方式:采用out-of place的升级方式

11.1的ORACLE_HOME为/u01/app/oracle/product/11.1.7/db_1

12.1的ORACLE_HOME为/u01/app/oracle/product/12.1.0/db_1

1,rman备份原有数据库

2,安装oracle 12的软件到/u01/app/oracle/product/12.1.0/db_1

3,清除回收站,检查无效的对像和无效的组件,确认隐含参数使用情况.必须的对像.

例12c xdb是必须要组件,

4,收集gater_dictionary_stats和gather_fixed_objects_stats,aud$对像清空,

5,对数据库库进行逻辑检查 ,rman:backup validate check logical database

6,在11.1的库实行升级预检查.SQL>@/u01/app/oracle/product/12.1.0/db_1/rdbms/admin/preupgrd.sql

该过程会生成一个log文件,对于其中的问题需要解决然后才能升级.

7, 使用12C的orapwd生成新的密码文件主,使用原来的spfile生成一个pfile。

8,关闭原来的实例,使用新的ORACLE_HOME启动数据库

[oracle@localhost ~]$ export ORACLE_HOME=/u01/app/oracle/product/12.1.0/db_1

[oracle@localhost ~]$ sqlplus /nolog

SQL*Plus: Release 12.1.0.1.0 Production on Sat May 10 13:34:57 2014

Copyright (c) 1982, 2013, Oracle. All rights reserved.

SQL>conn / as sysdba

Connected to an idle instance.

SQL> startup upgrade pfile='/home/oracle/12.ora'

ORACLE instance started.

9, 并行运行脚本(12c新特性),并行度8,会启动16个并行服务器进程.

[oracle@localhost admin]$ /u01/app/oracle/product/12.1.0/db_1/perl/bin/perl catctl.pl -n 8 catupgrd.sql

Serial Phase #:54 Files: 1 Time: 157s

Serial Phase #:55 Files: 1 Time: 141s

Serial Phase #:56 Files: 1 Time: 48s

Grand Total Time: 2439s

10,以正常的方式启动数据,并且创建spfile

SQL>startup nomount pfile='/home/oracle/12.ora'

ORACLE instance started.

Total System Global Area 2288205824 bytes

Fixed Size 2290848 bytes

Variable Size1275071328 bytes

Database Buffers 989855744 bytes

Redo Buffers 20987904 bytes

SQL>create spfile from pfile='/home/oracle/12.ora'

File created.

SQL>shutdown immediate

ORA-01507: database not mounted

ORACLE instance shut down.

SQL>startup

ORACLE instance started.

Total System Global Area 2288205824 bytes

Fixed Size 2290848 bytes

Variable Size1275071328 bytes

Database Buffers 989855744 bytes

Redo Buffers 20987904 bytes

Database mounted.

Database opened.

11,重新收集gather_dictionary_stats和gather_fixed_objects_stats

SQL>exec dbms_stats.gather_dictionary_stats

PL/SQL procedure successfully completed.

SQL>exec dbms_stats.gather_fixed_objects_stats

PL/SQL procedure successfully completed.

12,重新编译无效对像

SQL>@utlprp 8 (cpu核数的一到两倍)

TIMESTAMP

--------------------------------------------------------------------------------

COMP_TIMESTAMP UTLRP_BGN 2014-05-10 14:40:44

.................

13, 运行utlu121s.sql和utluiobj.sql检查无效的对像.

1、如果两台服务器,存在的表结构什么的都一样,可以使用冷备份全库,把所有的数据文件、日志、归档日志等全拷贝过去(如果是linux系统,要使用oracle用户 *** 作,否则会产生文件权限问题)

2、RMAN的异机恢复

3、EXPDP/IMPDP 全库导出、全库导入(注意版本问题,低往高可以,反之不可以)!

1、如果两台服务器,存在的表结构什么的都一样,可以使用冷备份全库,把所有的数据文件、日志、归档日志等全拷贝过去(如果是linux系统,要使用oracle用户 *** 作,否则会产生文件权限问题)

2、RMAN的异机恢复

3、EXPDP/IMPDP 全库导出、全库导入(注意版本问题,低往高可以,反之不可以)

【上面3种方法,任选其中1种,都可以,希望可以帮到你】


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/sjk/9990550.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-04
下一篇 2023-05-04

发表评论

登录后才能评论

评论列表(0条)

保存