大虾救命!!我的服务器瘫了

404 2005-09-20 10:07:31
oracle8.1.7,归档模式,服务器硬盘坏了,现在硬盘里的东西一点也找不会来.
我现在手头有备份,但我不会恢复,各位大虾教我!
有如下备份:前天联机备份的数据文件、联机日志、控制文件,昨天备份的归档日志

谢谢!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
...全文
236 8 打赏 收藏 转发到动态 举报
写回复
用AI写文章
8 条回复
切换为时间正序
请发表友善的回复…
发表回复
andzen 2005-10-06
  • 打赏
  • 举报
回复
lynx挺能钻研,偷懒的,强,
java_augur 2005-10-04
  • 打赏
  • 举报
回复
mark
404 2005-09-20
  • 打赏
  • 举报
回复
再顶
404 2005-09-20
  • 打赏
  • 举报
回复
ojaoja 2005-09-20
  • 打赏
  • 举报
回复
把你的备份脚本贴出来,才能判断怎么回复。
另外把机器配置也贴出来。
lynx 2005-09-20
  • 打赏
  • 举报
回复
pls reffer:

如何克隆(复制)ORACLE数据库?
环境: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%\ARCHIVE

2、为克隆数据库建立参数文件

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>SHUTDOWN

2、将源数据库中的所有数据库文件拷贝到目标数据库对应路径
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

成功打开,表示克隆成功。
bierbin 2005-09-20
  • 打赏
  • 举报
回复
来学习一下,帮顶!
不过很奇怪楼主新备分之后很快就坏了……是试验学习么?
yang_kun 2005-09-20
  • 打赏
  • 举报
回复
如果备份的文件是dmp,那么重装oracle直接导入就可以了.
如果不是,那么重装oracle后,将现有日志文件覆盖新的日志文件,然后
SVRMGR> connect internal
SVRMGR> startup mount
SVRMGR> alter database open;
不知此种方法是否可以,可以试试

17,377

社区成员

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

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