oracle查找复制数据库,oracle数据库复制 – 提供7*24专业数据库(Oracle,SQL Server,MySQL等)恢复和Oracle技术服务@Tel:+86 13429648788 -...

oracle数据库复制就是对当前的库进行拷贝(使用拷贝库用于测试、还原操作等)

1、本实验规划

使用的是同一个数据库服务器上做的拷贝试验

原数据库oracle_sid=orcl,准备新建数据库oracle_sid=xff,新建的数据库的文件放置符合ofm标准,也就是说,数据文件、控制文件、联机归档日志文件放置oradata/xff下面,一些日志记录文件放置在admin/xff下

2、用户管理方式复制数据库:

1)新建相关文件夹mkdir(省略)

2)准备xff的pfile文件

在orcl数据库中执行create pfile=’c:\orclpfile.txt’ from spfile;

修改orclpfile.txt文件,使用替换法,把所有的orcl替换成xff(替换的时候大致看下哦)

3)准备xff的控制文件

在orcl数据库中执行alter database backup controlfile to trace as ‘c:\b.txt’;

选择Set #2. RESETLOGS case部分,除掉其中的注释,把reuse修改为set处理后的大概结果如下:

CREATE CONTROLFILE set DATABASE "XFF" RESETLOGS ARCHIVELOG

MAXLOGFILES 16

MAXLOGMEMBERS 3

MAXDATAFILES 100

MAXINSTANCES 8

MAXLOGHISTORY 292

LOGFILE

GROUP 1 'C:\ORACLE\PRODUCT\10.2.0\ORADATA\XFF\REDO01.LOG' SIZE 50M,

GROUP 2 'C:\ORACLE\PRODUCT\10.2.0\ORADATA\XFF\REDO02.LOG' SIZE 50M,

GROUP 3 'C:\ORACLE\PRODUCT\10.2.0\ORADATA\XFF\REDO03.LOG' SIZE 50M

DATAFILE

'C:\ORACLE\PRODUCT\10.2.0\ORADATA\XFF\SYSTEM01.DBF',

'C:\ORACLE\PRODUCT\10.2.0\ORADATA\XFF\UNDOTBS01.DBF',

'C:\ORACLE\PRODUCT\10.2.0\ORADATA\XFF\SYSAUX01.DBF',

'C:\ORACLE\PRODUCT\10.2.0\ORADATA\XFF\USERS01.DBF',

'C:\ORACLE\PRODUCT\10.2.0\ORADATA\XFF\XFF01.DBF'

CHARACTER SET AL32UTF8

;

4)alter database begin backup;

开始把orcl中的数据库文件,复制到xff的文件夹中

alter database end backup;

5)在dos下执行oradim -new -sid xff -intpwd oracle(建立oracle_sid=xff,并创建用户名为sys,密码为oracle的秘密文件)(删除oradim -DELETE -SID xff )

6)在dos下执行set oracle_sid=xff,因为没有配置tns的相信,手工设置oracle_sid

7)sqlplus sys/oracle as sysdba;连接到xff数据库

8)使用startup pfile=’c:\orclpfile.txt’ nomount 把xff数据库至于nomount状态

9)使用刚刚(3)中准备的创建控制文件的脚步,创建控制文件

10)使用在xff的sqlplus 环境下使用set logsource ‘path’指定归档日志位置(path为归档日志路径),

然后使用recover database using backup controlfile until cancel;

按照提示看看对应的文件是否存在,如果不存在查找下硬盘上是否有该文件,如果都不存在,尝试着使用联机日志文件恢复

11)使用alter database open resetlogs 打开数据库

12)建立临时文件

ALTER TABLESPACE TEMP ADD TEMPFILE ‘C:\ORACLE\PRODUCT\10.2.0\ORADATA\xff\TEMP01.DBF’

SIZE 20971520 REUSE AUTOEXTEND ON NEXT 655360 MAXSIZE 32767M

13)配置listener和tns,数据库复制工作完成

3、rman复制数据库

1)备份数据库rman

backup database include current controlfile plus archivelog format=’c:\%U.bak’;

2)创建spfile文件

create spfile=’%oracle_home%\database\spfilexff.ora’ from pfile=’c:\b.txt’;

3)登录xff把数据库设置到nomount模式

4)run{

set newname for datafile 1 to 'C:\ORACLE\PRODUCT\10.2.0\ORADATA\XFF\SYSTEM01.DBF';

set newname for datafile 2 to 'C:\ORACLE\PRODUCT\10.2.0\ORADATA\XFF\undotbs01.DBF';

set newname for datafile 3 to 'C:\ORACLE\PRODUCT\10.2.0\ORADATA\XFF\sysaux01.DBF';

set newname for datafile 4 to 'C:\ORACLE\PRODUCT\10.2.0\ORADATA\XFF\users01.DBF';

set newname for datafile 5 to 'C:\ORACLE\PRODUCT\10.2.0\ORADATA\XFF\xff01.DBF';

set newname for tempfile 1 to 'C:\ORACLE\PRODUCT\10.2.0\ORADATA\XFF\\TE.DBF';

duplicate target database to xff logfile

'C:\ORACLE\PRODUCT\10.2.0\ORADATA\XFF\redo01.log' size 10m,

'C:\ORACLE\PRODUCT\10.2.0\ORADATA\XFF\redo02.log' size 10m,

'C:\ORACLE\PRODUCT\10.2.0\ORADATA\XFF\redo03.log' size 10m;

}

--note:1、需要加上temp表空间的转换,不然会报错

--2、在运行run之前,要确保在xff中的除本rman之外的所有用户均以退出

其他与用户复制oracle操作一致。和用户操作比起来,这个不用手工创建控制文件,只要创建spfile或者pfile(注意默认路径和名称)就可以了,其他的均有rman帮我们搞定

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值