说明: 官方推荐迁移到相同版本,比如:10.2.0.1(32)迁移到10.2.0.1(64)。 再进行升级到10.2.0.5(64)。 一、环境介绍
源库 操作系统版本:OEL5.8 32bit 数据库版本:10.2.0.1 32bit 数据库sid名:orcl 测试库 操作系统版本:OEL5.8 x64 数据库版本:10.2.0.5 x64 数据库sid名:orcl 二、源库
1. 关闭源库 # su - oracle $ sqlplus / as sysdba; SQL> shutdown immediate; 2. 打包备份/u01/app/oracle/oradata目录为oradata.tar.gz 3. 打包备份/u01/app/oracle/product/10.2.0/db_1/dbs目录为dbs.tar.gz 4. 将oradata.tar.gz dbs.tar.gz 拷贝到测试库。 三、测试库
1. 关闭测试库, 2. 将oradata.tar.gz恢复到/u01/app/oracle/oradata目录 3. 将dbs.tar.gz 恢复到/u01/app/oracle/product/10.2.0/db_1/dbs目录 4. 创建备库pfile文件 说明: 由于源库与迁移库的目录位置与实例名都是一样的,所以控制文件与参数文件内容不需要重建与修改。 # su - oracle [oracle@rman ~]$ sqlplus / as sysdba; SQL*Plus: Release 10.2.0.5.0 - Production on D25 21:05:39 2013 Copyright (c) 1982, 2010, Oracle. All Rights Reserved. Connected to an idle instance. SQL> create pfile from spfile; File created. SQL> quit Disconnected 5. 修改pfile文件 #增加如下参数文件 _SYSTEM_TRIG_ENABLED = false $ vi /u01/app/oracle/product/10.2.0/db_1/dbs/initorcl.ora orcl.__db_cache_size=448790528 orcl.__java_pool_size=4194304 orcl.__large_pool_size=4194304 orcl.__shared_pool_size=146800640 orcl.__streams_pool_size=0 *.audit_file_dest='/u01/app/oracle/admin/orcl/adump' *.background_dump_dest='/u01/app/oracle/admin/orcl/bdump' *.compatible='10.2.0.1.0' *.control_files='/u01/app/oracle/oradata/orcl/control01.ctl','/u01/app/oracle/oradata/orcl/control02.ctl','/u01/app/oracle/oradata/orc l/control03.ctl' *.core_dump_dest='/u01/app/oracle/admin/orcl/cdump' *.db_block_size=8192 *.db_domain='' *.db_file_multiblock_read_count=16 *.db_name='orcl' *.db_recovery_file_dest='/u01/app/oracle/flash_recovery_area' *.db_recovery_file_dest_size=2147483648 *.dispatchers='(PROTOCOL=TCP) (SERVICE=orclXDB)' *.job_queue_processes=10 *.log_archive_format='%t_%s_%r.dbf' *.open_cursors=300 *.pga_aggregate_target=201326592 *.processes=150 *.remote_login_passwordfile='EXCLUSIVE' *.sga_target=605028352 *.undo_management='AUTO' *.undo_tablespace='UNDOTBS1' *.user_dump_dest='/u01/app/oracle/admin/orcl/udump' _SYSTEM_TRIG_ENABLED = false 6. 通过pfile创建spfile文件,并通过升级模式启动
[oracle@rman ~]$ sqlplus / as sysdba; SQL*Plus: Release 10.2.0.5.0 - Production on 25 21:18:41 2013 Copyright (c) 1982, 2010, Oracle. All Rights Reserved. Connected to an idle instance. SQL> create spfile from pfile; File created. SQL> SQL> startup upgrade ; ORACLE instance started. Total System Global Area 608174080 bytes Fixed Size 2022696 bytes Variable Size 155189976 bytes Database Buffers 448790528 bytes Redo Buffers 2170880 bytes Database mounted. Database opened. SQL> 7. 在64位平台下编绎所有对象
SQL> @?/rdbms/admin/utlirp.sql 8. 重建数据字典(10.2.0.5)
SQL> @$ORACLE_HOME/rdbms/admin/catupgrd.sql 大约40多分钟,提示有部分无效对象,需要编绎这些无效对象。 9. 执行如下过程编绎失效对象
SQL> conn / as sysdba; SQL> @?/rdbms/admin/utlrp.sql 开另一窗口查看执行进程,只到0才能完成。 SQL> SELECT COUNT(*) FROM obj$ WHERE status IN (4, 5, 6);
COUNT(*) ---------- 0 SQL> select object_name,object_type,owner from dba_objects where status <>'VALID'; 0 10. 关闭数据库,修改参数文件,去掉增加的参数。
(1) 修改pfile参数文件 $ vi /u01/app/oracle/product/10.2.0/db_1/dbs/initorcl.ora #去掉以下参数 _SYSTEM_TRIG_ENABLED = false (2) 重新通过spfile启动 SQL> shutdown immediate; SQL> create spfile from pfile; SQL> startup; 11. 测试数据库
归档模式 SQL> archive log list; Database log mode Archive Mode Automatic archival Enabled Archive destination USE_DB_RECOVERY_FILE_DEST Oldest online log sequence 13 Next log sequence to archive 15 Current log sequence 15 原来账号与数据 SQL> conn abc/abc; Connected. SQL> select * from tab; TNAME TABTYPE CLUSTERID ------------------------------ ------- ---------- ABC TABLE 查看数据库版本情况 SQL> select * from v$version;
BANNER ---------------------------------------------------------------- Oracle Database 10g Enterprise Edition Release 10.2.0.5.0 - 64bi PL/SQL Release 10.2.0.5.0 - Production CORE 10.2.0.5.0 Production TNS for Linux: Version 10.2.0.5.0 - Production NLSRTL Version 10.2.0.5.0 - Production
本文出自 “koumm的linux技术博客” 博客,请务必保留此出处http://koumm.blog.51cto.com/703525/1258365
|