克隆数据库时,创建控制文件问题

xeppp 2008-11-05 02:58:17
在同一台机器上,克隆一数据库
源数据库名为practice 目标数据库名为clne
1.我在practice库运行时,备份了所有数据文件(alter tablespace tb_name begin backup),并且copy到了clne相关的文件夹中。
2.修改init.ora 更改数据库名称、实例名及相关目录名称。
3.alter database backup controlfile to trace resetlogs --创建practice控制文件,
4.修改后的控制文件如下:
CREATE CONTROLFILE set DATABASE "clne" NORESETLOGS ARCHIVELOG
MAXLOGFILES 50
MAXLOGMEMBERS 5
MAXDATAFILES 100
MAXINSTANCES 1
MAXLOGHISTORY 113
LOGFILE
GROUP 1 'C:\ORACLE\ORADATA\clne\REDO01.LOG' SIZE 10M,
GROUP 2 'C:\ORACLE\ORADATA\clne\REDO02.LOG' SIZE 10M,
GROUP 3 'C:\ORACLE\ORADATA\clne\REDO03.LOG' SIZE 10M
DATAFILE
'C:\ORACLE\ORADATA\clne\SYSTEM01.DBF',
'C:\ORACLE\ORADATA\clne\UNDOTBS01.DBF',
'C:\ORACLE\ORADATA\clne\CWMLITE01.DBF',
'C:\ORACLE\ORADATA\clne\DRSYS01.DBF',
'C:\ORACLE\ORADATA\clne\EXAMPLE01.DBF',
'C:\ORACLE\ORADATA\clne\INDX01.DBF',
'C:\ORACLE\ORADATA\clne\TOOLS01.DBF',
'C:\ORACLE\ORADATA\clne\USERS01.DBF'
CHARACTER SET ZHS16GBK;
5.startup nomount pfile='c:\oracle\admin\clne\pfile\initclne.ora';
6.执行 第4步 修改的控制文件 就报错 如下:
CREATE CONTROLFILE set DATABASE "clne" NORESETLOGS ARCHIVELOG
*
ERROR 位于第 1 行:
请大侠帮忙解决吧 谢谢
...全文
99 6 打赏 收藏 转发到动态 举报
写回复
用AI写文章
6 条回复
切换为时间正序
请发表友善的回复…
发表回复
xeppp 2008-11-06
  • 打赏
  • 举报
回复
谢谢 楼上的热心

我这是热备份呀 并且是那台服务器不能停呀

范佩西_11 2008-11-06
  • 打赏
  • 举报
回复
你做的科隆相当于冷备份还原
冷备份与还原:
1、connect /nolog;
connect / as sysdba;
shutdown immediate;

2
copy oradata目录下的所有文件即:数据文件, 控制文件,redo文件
可以用以下命令来读取数据文件
select file#,status,enabled,name from v$datafile;数据文件
select * from v$controlfile;控制文件
select * from v$logfile;联机日志文件
3、重装oracle在相同的目录并建相同的实例。覆盖已备份的数据文件即可。

4、connect /nolog;
connect / as sysdba;
startup;
xeppp 2008-11-06
  • 打赏
  • 举报
回复
不是吧

我刚学到这呀 还没有接触Rman 呵呵
范佩西_11 2008-11-06
  • 打赏
  • 举报
回复
[Quote=引用 5 楼 xeppp 的回复:]
谢谢 楼上的热心

我这是热备份呀  并且是那台服务器不能停呀


[/Quote]
那用rman吧。rman比这个要简单的多。
vc555 2008-11-05
  • 打赏
  • 举报
回复
推荐LZ用RMAN来创建复制数据库。这样即不需要创建备库控制文件,也可以随意指定备库SID。
oracledbalgtu 2008-11-05
  • 打赏
  • 举报
回复
不是这么改的!
你应该先恢复一个名字一样的实例,
然后通过oracle提供的nid的命令来更改实例名.

[Quote=引用楼主 xeppp 的帖子:]
在同一台机器上,克隆一数据库
源数据库名为practice 目标数据库名为clne
1.我在practice库运行时,备份了所有数据文件(alter tablespace tb_name begin backup),并且copy到了clne相关的文件夹中。
2.修改init.ora 更改数据库名称、实例名及相关目录名称。
3.alter database backup controlfile to trace resetlogs --创建practice控制文件,
4.修改后的控制文件如下:
CREATE CONTROLFILE set DATABASE "clne" …
[/Quote]

17,377

社区成员

发帖
与我相关
我的任务
社区描述
Oracle 基础和管理
社区管理员
  • 基础和管理社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧