一、移植前提:
1、操作系统满足Oracle数据库版本的安装条件。
2、数据库版本一致二、源数据库端的操作: 1、检查数据库是否归档,如果没归档,则归档。
sqlplus "/as sysdba"
SQL>archive log list; 如果数据库工作在非归档模式下,则要打开归档。 在数据库mount状态下,
1.SQL>alter system set archivelogs;
2.SQL>alter database open;
2.SQL>alter database backup controlfile to trace; --备份数据库的控制文件,用来在目的端重建。
3.SQL>shutdown immediate --此时数据库干净关闭,数据的SCN号保持一致。
4.从告警日志中找到控制文件的备份踪迹。
找到alter_[ORACLE_SID].log,这里是alert_PROD.log 这个文件是系统运行日志里面可以查看到,控制文件
备份的位置.其中有shift+ g 到文件的最后,往回看,看到" Backup controlfile written to trac
e file /u03/DEV/db/tech_st/11.1.0/admin/PROD_dev01/diag/rdbms/prod/PROD/trace/PROD_ora_2654332.trc"
一般和告警日志在同一个目录。
或者用
show parameter diag命令查看控制文件备份trc的放置路径,然后找到最新的trc,里面就有备份信息。 5.生成控制文件sql脚本。
然后把倒数第一个 startup nomount 到alter database open resetlogs,指令中间的留下来其余删除,结果类似如下:
STARTUP NOMOUNT
CREATE CONTROLFILE set DATABASE "ERP" RESETLOGS ARCHIVELOG --这里要把 reuse 改成set,还不理解为什么。
MAXLOGFILES 16
MAXLOGMEMBERS 2
MAXDATAFILES 30
MAXINSTANCES 1
MAXLOGHISTORY 292
LOGFILE
GROUP 1 "/u01/app/oracle/oradata/erp/redo01.log" SIZE 10M BLOCKSIZE 512,
GROUP 2 "/u01/app/oracle/oradata/erp/redo02.log" SIZE 10M BLOCKSIZE 512,
GROUP 3 "/u01/app/oracle/oradata/erp/redo03.log" SIZE 10M BLOCKSIZE 512,
GROUP 4 "/u01/app/oracle/oradata/erp/redo04.log" SIZE 10M BLOCKSIZE 512,
GROUP 5 "/u01/app/oracle/flash_recovery_area/ERP/onlinelog/o1_mf_5_7wc3dk6b_.log" SIZE 100M BLOCKSIZE 512
-- STANDBY LOGFILE
DATAFILE
"/u01/app/oracle/oradata/erp/system01.dbf",
"/u01/app/oracle/oradata/erp/sysaux.dbf",
"/u01/app/oracle/oradata/erp/undo01.dbf",
"/u01/app/oracle/oradata/erp/rbs01.dbf",
"/u01/app/oracle/oradata/erp/user01.dbf"
CHARACTER SET WE8ISO8859P1;
--RECOVER DATABASE USING BACKUP CONTROLFILE 这个注释掉
ALTER DATABASE OPEN RESETLOGS;
6.把上面脚本保存成 clt.sql 文件。
三、数据和文件的迁移 1.把数据库的init<$ORACLE_SID>.ora拷贝 目的数据库的 $ORACLE_HOME/dbs目录下,
2.把上面第6步生成的 clt.sql 拷贝的某个目录下,自己能想起来就行。
3.把上面控制文件中的出现并且目的服务器中不存在的目录建好,例如 mkdir -p /u01/app/oracle/oradata/erp
4.把源数据库中的数据文件拷贝到目标服务器上相应目录里,不存在就新建,可以sftp,也可以U盘拷贝。
伪代码:cp -R /u01/app/oracle/oradata/erp/* /u01/app/oracle/oradata/erp/
Oracle迁移到MySQL总结Oracle表空间利用率极低时的解决办法相关资讯 Oracle高级培训
- delete表的数据后恢复 (08/30/2012 08:59:58)
- 使用ASH信息,发现高CPUsession (08/14/2012 07:21:32)
- 如何阅读Oracle Errorstack Output (08/14/2012 07:15:47)
| - Oracle Apps Patching:adpatch( (08/16/2012 15:41:37)
- 话说V$SQL_MONITOR (08/14/2012 07:19:54)
- Oracle Apps DBA工具:ADADMIN使用 (08/14/2012 07:00:09)
|
本文评论 查看全部评论 (0)