1、备份32位数据库上的pfile。
2、shutdown 32位数据库,进行冷备份全库。
3、装好64 位的oracle。
4、用备份好的32位数据库的pfile启动64位oracle。
5、 在64位平台下编绎所有对象
SQL> @?/rdbms/admin/utlirp.sql
6. 重建数据字典(10.2.0.5)
SQL> @$ORACLE_HOME/rdbms/admin/catupgrd.sql
大约40多分钟,提示有部分无效对象,需要编绎这些无效对象。
7. 执行如下过程编绎失效对象
SQL> startup;
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
8、重新通过spfile启动
SQL> shutdown immediate;
SQL> create spfile from pfile;
SQL> startup;
9. 测试数据库
归档模式
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> 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