Oracle数据库冷备迁移需要停源库,仅适用于快速克隆数据量不大的数据库
1、查找源库数据文件、日志文件、临时文件、控制文件和参数文件相应位置
A)查看数据文件位置:select name from v$datafile;
B)查看日志文件位置:select member from v$logfile;
C)查看临时文件位置:select name from v$tempfile;
D)查看控制文件位置:show parameter control;
E)查看参数文件位置:show parameter spfile;
2.停源库
3.在目标机器上创建相应的目录
A)数据文件、临时文件、控制文件和日志文件的目录
B)dump文件相关目录(adump,bdump,cdump,udump),这几个目录可以在源库的参数文件中查看,如果目标和源不一样,需要修改目标环境的参数文件
mkdir -p /oracle/admin/gmisorcl/adump;
mkdir -p /oracle/admin/gmisorcl/bdump;
mkdir -p /oracle/admin/gmisorcl/cdump;
mkdir -p /oracle/admin/gmisorcl/udump;
4.传输文件
通过FTP(BIN模式)将数据文件,控制文件,日志文件从源库拷贝到目标机器上(需保证源和目录一致)。当然如果源目录比较乱,而这次又希望目标机器整洁点,那就需要通过重建控制文件来实现,步骤6将详解
5.启动目标库,OK!
6.通过重建控制文件来重新规划数据库文件分布
A)将源库启动到mount状态
SQL>startup mount;
B)备份控制文件
SQL>alter database backup controlfile to trace;
C)找到trace文件(包含控制文件的创建脚本),在udump目录下。
show parameter dump;
D)编辑创建新控制文件的脚本,主要修改数据文件和日志文件的路径
create controlfile reuse database "GMISOARCL" noresetlogs noarchivelog maxlogfile 16 xxxxxxx xxxxxxx xxxxxxx logfile group 1( '/xxxx/xxxx/redo01_a.log', '/xxxx/xxxx/redo01_b.log' )size 200M, group 2( '/xxxx/xxxxx' )size 200 datafile '/xxx/xxx/xxx/system01.dbf'; ...... ...... character set AL32UTF8;
E)将源机器的数据文件、日志文件FTP拷贝到目标机器新目录下
F)目标机器重建控制文件
目标机器上启动数据库到nomount状态下,然后执行步骤D中脚本即可
G)启动数据,并重建临时表空间(相应的脚本在trace文件中)
SQL>recover database;
SLQ>alter database open;
原创文章,作者:306829225,如若转载,请注明出处:https://blog.ytso.com/275512.html