OS:windows 2003
当前库wolf ,现复制库bb.
1、拷贝oradata下的wolf文件夹中的数据文件到新文件夹bb下
2、拷贝admin下的wolf文件夹中的dump文件到新文件夹bb下
3、在wolf库中创建pfile.
create pfile from spfile.
在c:\oracle \product\10.2.0\db_1\databse\ 下生成:initwolf.ora
修改initwolf.ora文件名为initbb.ora
将initbb中的所有wolf的字段都改为bb.
4. 备份控制文件为trace文件:
alter database backup controlfile to trace as 'bb.sql'
在c:\oracle \product\10.2.0\db_1\databse\ 下生成:bb.sql
修改controlfile生成的trace文件aactl.sql,把里面 create controlfile 那行中 reuse "wolf" 改成 set "bb" ;路径全改为新文件夹bb的路径
修改后的文件如下:
STARTUP NOMOUNT pfile=C:\ORACLE\PRODUCT\10.2.0\DB_1\DATABASE\INITbb.ora
CREATE CONTROLFILE set DATABASE "bb" RESETLOGS NOARCHIVELOG
MAXLOGFILES 16
MAXLOGMEMBERS 3
MAXDATAFILES 100
MAXINSTANCES 8
MAXLOGHISTORY 292
LOGFILE
GROUP 1 'C:\ORACLE\PRODUCT\10.2.0\ORADATA\bb\REDO01.LOG' SIZE 50M,
GROUP 2 'C:\ORACLE\PRODUCT\10.2.0\ORADATA\bb\REDO02.LOG' SIZE 50M,
GROUP 3 'C:\ORACLE\PRODUCT\10.2.0\ORADATA\bb\REDO03.LOG' SIZE 50M
-- STANDBY LOGFILE
DATAFILE
'C:\ORACLE\PRODUCT\10.2.0\ORADATA\bb\SYSTEM01.DBF',
'C:\ORACLE\PRODUCT\10.2.0\ORADATA\bb\UNDOTBS01.DBF',
'C:\ORACLE\PRODUCT\10.2.0\ORADATA\bb\SYSAUX01.DBF',
'C:\ORACLE\PRODUCT\10.2.0\ORADATA\bb\USERS01.DBF',
'C:\ORACLE\PRODUCT\10.2.0\ORADATA\bb\EXAMPLE01.DBF'
CHARACTER SET ZHS16GBK;
ALTER DATABASE OPEN RESETLOGS;
ALTER TABLESPACE TEMP ADD TEMPFILE 'C:\ORACLE\PRODUCT\10.2.0\ORADATA\bb\TEMP01.DBF'
SIZE 22020096 REUSE AUTOEXTEND ON NEXT 655360 MAXSIZE 32767M;
ALTER DATABASE RENAME GLOBAL_NAME TO bb;
5 .使用oradim创建新进程服务bb: oradim -new -sid bb
同时拷贝密码文件PWDwolf.ora,修改成新的文件名PWDbb.ora
c:\oracle \product\10.2.0\db_1\databse\ PWDbb.ora
6. 删除bb下的控制文件.
7.重新建立控制文件.
c:\set ORACLE_SID=bb
sqlplus / nolog
conn /as sysdba
8. 最后完成阶段出现了这样的问题:
alter database open;
alter database open
*
ERROR 位于第 1 行:
ORA-01589: 要打开数据库则必须使用 RESETLOGS 或 NORESETLOGS 选项
SQL> alter database open noresetlogs;
alter database open noresetlogs
*
ERROR 位于第 1 行:
ORA-01610: 使用 BACKUP CONTROLFILE 选项的恢复必须已完成
SQL> ALTER DATABASE OPEN RESETLOGS;
ALTER DATABASE OPEN RESETLOGS
*
ERROR 位于第 1 行:
ORA-01195: 文件1的联机备份需要更多的恢复来保持一致性
ORA-01110: 数据文件 1: 'D:\ORACLE\ORADATA\FLY\SYSTEM01.DBF'
SQL> RECOVER DATABASE;
ORA-00283: 恢复会话因错误而取消
ORA-01610: 使用 BACKUP CONTROLFILE 选项的恢复必须已完成。
SQL> recover database using backup controlfile;
???????????????
指定日志: {=suggested | filename | AUTO | CANCEL}
输入: c:\oracle\product\10.2.0\oradata\redo01.log
ORA-00310: 存档日志包含序列 1;要求序列 2
ORA-00334: 归档日志: 'D:\ORA90\ORADATA\ICE\REDO01.LOG'
SQL> recover database using backup controlfile;
???????????????
指定日志: {=suggested | filename | AUTO | CANCEL}
输入: c:\oracle\product\10.2.0\oradata\redo02.log
已应用的日志。
完成介质恢复。
SQL> alter database open resetlogs;
数据库已更改。
SQL> select tablespace_name from user_tablespaces;
TABLESPACE_NAME
------------------------------
SYSTEM
UNDOTBS1
SYSAUX
TEMP
USERS
EXAMPLE
完成^^^^^^^
来自 “ ITPUB博客 ” ,链接:http://blog.itpub.net/21340813/viewspace-615189/,如需转载,请注明出处,否则将追究法律责任。
转载于:http://blog.itpub.net/21340813/viewspace-615189/