如果备份的文件是dmp,那么重装oracle直接导入就可以了.
如果不是,那么重装oracle后,将现有日志文件覆盖新的日志文件,然后
SVRMGR> connect internal
SVRMGR> startup mount
SVRMGR> alter database open;
不知此种方法是否可以,可以试试
如果不是,那么重装oracle后,将现有日志文件覆盖新的日志文件,然后
SVRMGR> connect internal
SVRMGR> startup mount
SVRMGR> alter database open;
不知此种方法是否可以,可以试试
环境:WINDOWS 2000 SERVER, ORACLE 9.20
源数据库:ORA98
目标数据库:CLNE本试验是在本机上克隆一个数据库,照此,可以在另外一台机器上完成数据库的克隆。
STEP 1: 准备克隆数据库CLNE
1、创建克隆数据库路径:SET ORACLE_SID=CLNE
SET ORACLE_BASE = E:\ORACLE
SET ORACLE_HOME=E:\ORACLE\ORA92
SET ORACLE_DATA=E:\ORACLE\ORADATA\%ORACLE_SID%
SET ORACLE_ADMIN=%ORACLE_BASE%\ADMIN\%ORACLE_SID%
MD %ORACLE_ADMIN%
MD %ORACLE_ADMIN%\PFILE
MD %ORACLE_ADMIN%\BDUMP
MD %ORACLE_ADMIN%\CDUMP
MD %ORACLE_ADMIN%\UDUMP
MD %ORACLE_ADMIN%\CREATE
MD %ORACLE_DATA%
MD %ORACLE_DATA%\ARCHIVE2、为克隆数据库建立参数文件COPY E:\ORACLE\ADMIN\ORA98\PFILE\initOra98.ora
E:\ORACLE\ADMIN\CLNE\PFILE\initCLNE.ora 编辑修改initCLNE.ORA
将所有ORA98(源数据库名)替换为CLNE;3、为CLNE数据库创建新的数据库服务OracleServiceCLNE,使用的是CLNE内部口令。
C:>oradim –new –sid CLNE –intpwd CLNE
STEP 2:备份源数据库(冷备份)
1、连接到源数据库,并关闭。
C:>SQLPLUS /NOLOG
SQL>CONN SYS/****@ORA98 AS SYSDBA
SQL>SHUTDOWN2、将源数据库中的所有数据库文件拷贝到目标数据库对应路径
COPY E:\ORACLE\ORADATA\ORA98\*.* E:\ORACLE\ORADATA\CLNE
删除目标路径中的控制文件CONTROL01.CTL, CONTROL02.CTL, CONTROL03.CTL
STEP 3生成控制文件脚本
因为输入CREATE CONTROL 命令所需的全部文件需要一定的工作量,但有一条捷径可以方便地完成这个工作,可以让数据库产生创建一个新的控制文件所需的所有指令。C:>SQLPLUS /NOLOG
SQL>CONN SYS/****@ORA98 AS SYSDBA
SQL>ALTER DATABASE BACKUP CONTROLFILE TO TRACE RESETLOGS;运行上述命令,oracle服务器将会产生一个包含了创建控制文件所需的全部命令的文件,文件的位置由user_dum_dest初始化参数确定。SQL>SELECT value FROM v$parameter
WHERE name = ‘user_dump_dest’;
SQL>SHOW PARAMETER user_dump_dest;E:\ORACLE\ADMIN\ORA98\udump找到最近的类似于ora123.trc的跟踪文件,这里是E:\ORACLE\ADMIN\ORA98\udump \ora98_ora_2492.trc,将它拷贝到e:\oracle\admin\CLNE\create中新的文件名中:C:>COPY E:\ORACLE\ADMIN\ORA98\udump \ora98_ora_2492.trc
E:\oracle\admin\CLNE\create\create_control.sql编辑修改这个文件:
1) 删除脚本中的注视行;
2) 将CREATE CONTROLFILE命令中的REUSE换成SET关键字;
3) 将数据库名称ORA98都替换为CLNE;
4) 将每个数据文件及重做日志文件的所在位置从E:\ORACLE\ORADATA\ORA98目录下换到E:\ORACLE\ORADATA\CLNE 目录下;完成以上修改后,文件看起来如下:STARTUP NOMOUNT
CREATE CONTROLFILE set DATABASE "clne" RESETLOGS ARCHIVELOG
MAXLOGFILES 50
MAXLOGMEMBERS 5
MAXDATAFILES 100
MAXINSTANCES 1
MAXLOGHISTORY 226
LOGFILE
GROUP 1 'E:\ORACLE\ORADATA\clne\REDO01.LOG' SIZE 100M,
GROUP 2 'E:\ORACLE\ORADATA\clne\REDO02.LOG' SIZE 100M,
GROUP 3 'E:\ORACLE\ORADATA\clne\REDO03.LOG' SIZE 100M
DATAFILE
'E:\ORACLE\ORADATA\clne\SYSTEM01.DBF',
'E:\ORACLE\ORADATA\clne\UNDOTBS01.DBF',
'E:\ORACLE\ORADATA\clne\CWMLITE01.DBF',
'E:\ORACLE\ORADATA\clne\DRSYS01.DBF',
'E:\ORACLE\ORADATA\clne\EXAMPLE01.DBF',
'E:\ORACLE\ORADATA\clne\INDX01.DBF',
'E:\ORACLE\ORADATA\clne\ODM01.DBF',
'E:\ORACLE\ORADATA\clne\TOOLS01.DBF',
'E:\ORACLE\ORADATA\clne\USERS01.DBF',
'E:\ORACLE\ORADATA\clne\XDB01.DBF',
'E:\ORACLE\ORADATA\clne\PERFSTAT.DBF'
CHARACTER SET ZHS16GBK
STEP 4 运行控制文件脚本
E:>CD \ORACLE\ADMIN\CLNE\CREATE
E:>SQLPLUS /NOLOG
SQL>CONNECT SYS/**** AS SYSDBA注意:运行下列脚本之前,一定要删除目标路径E:\ORACLE\ORADATA\CLNE中的原有控制文件CONTROL01.CTL, CONTROL02.CTL, CONTROL03.CTL,否则,会产生错误。SQL>@create_control.sql
SQL>SHUTDOWN
SQL>EXIT
STEP 5 打开克隆数据库
C:>SQLPLUS /NOLOG
SQL>CONN SYS/**** AS SYSDBA
SQL>STARTUP MOUNT
SQL>ALTER DATABASE OPEN RESETLOGS成功打开,表示克隆成功。