客户的32位Oracle数据库系统磁盘出现损坏,庆幸的是Oracle数据库完好无损。客户要求将数据库迁移到新购的设备上,新设备内存为64
客户的32位Oracle数据库系统磁盘出现损坏,庆幸的是Oracle数据库完好无损。客户要求将数据库迁移到新购的设备上,,新设备内存为64G,系统RedHat 6.2 64位,直接拷贝数据文件肯定是不行的,因为Oracle 的存储过程在32位和64位平台下的wordsize不同,虽然用户的存储过程可以在使用时自行完成重新编译,但Oracle的系统存储过程确需要我们来手工转换。
Oracle 单实例 从32位 迁移到 64位 方法
在CentOS 6.4下安装Oracle 11gR2(x64)
Oracle 11gR2 在VMWare虚拟机中安装步骤
Debian 下 安装 Oracle 11g XE R2
总结,迁移过程如下:
1:备份Oracle数据库
2:备份控制文件到trace(以备需要新建控制文件)
SQL> alter database backup controlfile to trace;
Database altered.
SQL> oradebug setmypid
已处理语句。
SQL> oradebug tracefile_name
/u01/app/admin/easy/udump/easy_ora_18830.trc
SQL>;主机 cat /u01/app/admin/easy/udump/easy_ora_18830.trc
......
--
-- 设置 #1。 NORESETLOGS case
--
-- 以下命令将创建一个新的控制文件并使用它
-- 打开数据库。
-- 恢复管理器使用的数据将丢失。
-- 离线媒体恢复可能需要额外日志
-- 仅当所有在线日志的当前版本
-- 可用时才使用此
-- 挂载创建的控制文件后,以下内容SQL
-- 语句将数据库置于适当的
-- 保护模式:
-- ALTER DATABASE SET STANDBY DATABASE TO MAXIMIZE PERFORMANCE
STARTUP NOMOUNT
CREATE CONTROLFILE REUSE DATABASE "EASY" NORESETLOGS NOARCHIVELOG
MAXLOGFILES 16
MAXLOGMEMBERS 3
MAXDATAFILES 100
MAXINSTANCES 8
MAXLOGHISTORY 292
LOGFILE
组 1 '/ora数据/easy/redo01.log'大小11200K,
第 2 组 '/oradata/easy/redo02.log' 大小 11200K
-- 备用日志文件
数据文件
'/oradata/easy/system01.dbf',
'/oradata/easy/ undotbs01.dbf',
'/oradata/easy/sysaux01.dbf',
'/oradata/easy/users01.dbf'
字符集 ZHS16GBK
;
-- 重新命令-创建化身表
--下面的日志名称必须更改为
-磁盘上的现有文件名。每个分支中的任何一个日志文件都可用于
-- 重新创建化身记录。
-- ALTER DATABASE REGISTER LOGFILE '/u01/app/flash_recovery_area/EASY/archivelog/2014_11_05/o1_mf_1_1_%u_.arc ';
-- ALTER DATABASE REGISTER LOGFILE '/u01/app/flash_recovery_area/EASY/archivelog/2014_11_05/o1_mf_1_1_%u_.arc';
-- 如果任何数据文件恢复备份,则需要恢复,
-- 或者如果上次关闭不是正常或立即的。
恢复数据库
-- 数据库现在可以正常打开。
ALTER DATABASE OPEN;
-- 将临时文件添加到临时文件的命令表空间。
-- 在线临时文件具有完整的空间信息。
-- 其他临时文件可能需要调整。
ALTER TABLESPACE TEMP ADD TEMPFILE '/oradata/easy/temp01.dbf'
SIZE 20971520 REUSE AUTOEXTEND ON NEXT 655360 MAXSIZE 32767M;
-- 临时文件添加结束。
--
-- 设置 #2。 RESETLOGS case
--
-- 以下命令将创建一个新的控制文件并使用它
-- 打开数据库。
-- 恢复管理器使用的数据将丢失。
-- 在线日志的内容将丢失,所有备份将
-- 失效。仅当在线日志损坏时才使用此选项。
-- 挂载创建的控制文件后,以下 SQL
-- 语句会将数据库置于适当的
-- 保护模式:
-- ALTER数据库 设置备用数据库以最大化性能
启动NOMOUNT
创建控制文件重用数据库“简单”重置日志 NOARCHIVELOG
MAXLOGFILES 16
MAXLOGMEMBERS 3
MAXDATAFILES 100
最大实例 8
最大日志历史记录 292
日志文件
组1'/oradata/easy/redo01.log' 大小11200K,
组2'/oradata/easy/redo02.log' 大小11200K
--备用日志文件
数据文件
'/oradata/easy/system01.dbf',
'/oradata/easy/undotbs01.dbf',
'/oradata/easy/sysaux01.dbf',
'/oradata/easy/ users01.dbf'
字符集 ZHS16GBK
;
-- 重新创建 incarnation 表的命令
-- 下面的日志名称必须更改为
-- 磁盘上现有的文件名。每个分支中的任何一个日志文件都可用于
-- 重新创建化身记录。
-- ALTER DATABASE REGISTER LOGFILE '/u01/app/flash_recovery_area/EASY/archivelog/2014_11_05/o1_mf_1_1_%u_.arc ';
-- ALTER DATABASE REGISTER LOGFILE '/u01/app/flash_recovery_area/EASY/archivelog/2014_11_05/o1_mf_1_1_%u_.arc';
-- 如果任何数据文件恢复备份,则需要恢复,
-- 或者如果上次关闭不是正常或立即的。
使用备份控制文件恢复数据库
-- 现在可以打开数据库,清零在线日志。
ALTER DATABASE OPEN RESETLOGS;
- - 将临时文件添加到临时表空间的命令。
-- 在线临时文件具有完整的空间信息。
-- 其他临时文件可能需要调整。
ALTER TABLESPACE TEMP ADD TEMPFILE '/oradata/easy/temp01.dbf'
大小 20971520 在下一个 655360 上重复使用自动扩展 MAXSIZE 32767M;
-- 临时文件添加结束。
--
更多详情见请继续阅读下一页的精彩内容: