升级前环境:
操作系统: 32位 Redhat Enterprise Linux 5
数据库: 32位 ORACLE
10.2.0.1
升级后环境:
操作系统 : 64位 Redhat Enterprise Linux 4
数据库: 64位 ORACLE
10.2.0.1
1.:首先对 数据库进行冷备份,
进行冷备份前,根据spfile制作一pfile文件
create pfile from
spfile;
制作一控制文件的文本,alter database backup controlfile to
trace;
关闭数据库,对数据库进行备份
备份文件内容如下
$ORACLE_BASE/admin/ORACLE_SID
--
$ORACLE_BASE/oradata/ORACLE_SID
--数据文件,日志文件,控制文件,
$ORACLE_HOME/dbs/
--口令文件,pfile文件等
2:把备份文件复制到对应的目录下,
3:修改pfile文件,根据新的文件位置修改:
*.audit_file_dest='/u01/app/oracle/admin/test/adump'
*.background_dump_dest='/u01/app/oracle/admin/test/bdump'
*.core_dump_dest='/u01/app/oracle/admin/test/cdump'
*.db_recovery_file_dest='/u01/app/oracle/flash_recovery_area'
*.user_dump_dest='/u01/app/oracle/admin/test/udump'
*.control_files='/u02/oradata/test/control01.ctl','/u02/oradata/test/control02.ctl','/u02/oradata/test/control03.ctl'
再在pfile文件中添加:
_SYSTEM_TRIG_ENABLED = false
4:根据pfile文件启动数据库到nomount状态
export
ORACLE_SID=test
sqlplus /nolog
conn / as sysdba
startup nomount
[pfile='']
5:重建控制文件
如果64位的系统上的ORACLE数据文件,日志文件的位置与32位相同,则不需要重建控制,如不同则需要根据前面备份的控制文件TRACE脚本重建控制文件。
把原有的控制文件改名或删除,重建控制文件。
CREATE
CONTROLFILE REUSE DATABASE "TEST" NORESETLOGS NOARCHIVELOG
MAXLOGFILES
16
MAXLOGMEMBERS 3
MAXDATAFILES 100
MAXINSTANCES 8
MAXLOGHISTORY 5840
LOGFILE
GROUP 1 '/u02/oradata/test/redo01.log' SIZE
50M,
GROUP 2 '/u02/oradata/test/redo02.log' SIZE 50M,
GROUP 3
'/u02/oradata/test/redo03.log' SIZE 50M,
-- STANDBY
LOGFILE
DATAFILE
'/u02/oradata/test/system01.dbf',
'/u02/oradata/test/undotbs01.dbf',
'/u02/oradata/test/sysaux01.dbf',
'/u02/oradata/test/users01.dbf',
CHARACTER SET
ZHS16GBK
;
6:打开数据库
alter database open;
7:添加 临时文件
alter
tablespace temp add tempfile '/u02/oradata/test/temp01.dbf' size
1024m;
8:关闭数据库
shutdown immediate
9:
sqlplus /nolog
conn / as
sysdba
startup upgrade [pfile='']
@
?/rdbms/admin/utlirp.sql
后关闭数据库,并正常启动数据库:
shutdown
immediate
startup[pfile='']
@
?/rdbms/admin/utlrp.sql
在执行这步骤的时候,会有点问题,执行完毕后,查看alert日志,发现
ORA-07445: exception encountered: core dump [_intel_fast_memcpy.A()+10] [SIGSEGV]
这个时候重建
OLAP
执行: @ ?/olap/admin/olap.sql
后再重新执行 @
?/rdbms/admin/utlrp.sql,就没有报错误了。
10:关闭数据库,去除PFILE文件中的 _SYSTEM_TRIG_ENABLED
参数
启动数据库,到这里升级结束
阅读(1132) | 评论(0) | 转发(0) |