Oracle数据库恢复应SQL,Oracle数据库数据恢复验证笔记

这些年做数据恢复单子,经常碰到Oracle案例,当我们把数据恢复出来以后,我们怎样才能让用户看到oracle数据库里的东西,而不是一个一个oracle数据文件,以下是我总结出来的,对oracle初学者以及从事数据恢复业务的工程师会很有用的,这是我当年花了很多精力总结出来的一些经验,零零散散,都是我一点一滴做出来的。

1、冷备份需要的是在数据库shutdown的情况下,拷贝controlfile,pfile,datafile,redo logfile。

2、按照同样的目录结构,在新的机器做好,拷贝相应的文件到相应的目录。

3、假设pfile文件在:D:Oracleadmindsserverpfileinit.ora,在新的机器上运行:

oradim -NEW -SRVC OracleServiceDSSERVER -STARTMODE manual -PFILE “D:Oracleadmindsserver1pfileinit.ora”

在服务里生成一个新的实例管理服务,启动方式为手工。

4、然后在D:oracleora81networkADMINlistener.ora添加

(SID_DESC =

(GLOBAL_DBNAME = dsserver)

(ORACLE_HOME = D:oracleora81)

(SID_NAME = dsserver)

)

5、运行lsnrctl,stop,然后start,看看dsserver监听情况

6、运行:oradim -STARTUP -SID dsserver -STARTTYPE srvc,inst 启动数据库实例

7、用原来dsserver用户登陆:

在D:oracleora81networkADMINtnsnames.ora文件中添加相应的选项,如下 :

DSSERVER_QINTL =

(DESCRIPTION =

(ADDRESS_LIST =

(ADDRESS = (PROTOCOL = TCP)(HOST = qintl)(PORT = 1521))

)

(CONNECT_DATA = (SID = dsserver)(SERVER = DEDICATED))

)

或者oracle dba studio连接

8、顺利的话,一切ok!

*****************************************************************************************************************

对于windows,服务启动后,并不代表数据库就启动了i

解决目录结构不一样的问题

如果路径发生变化,比如controlfile发生变化,需要修改pfile中controlfile的路径,如果数据文件路径发生变化,需要在mount后,rename datafile到新路径。

connect sys/qintl@dsserver_qintl as sysdba

connect /as sysdba

startup mount pfile=D:oracleadmindsserver1pfileinit.ora

startup mount pfile=/ora/ora9/admin/gpdx/pfile/init.ora.7122005111153

startup pfile=/ora/ora9/admin/gpdx/pfile/init.ora.7122005111153

startup mount pfile=/oracle/initLYGADB.ora.112007223616

startup nomount pfile=/oracle/initLYGADB.ora.112007223616

alter database datafile ‘/oradata/LYGADB/LSA_IMAGE.DBF’ offline drop;

移动数据文件

alter database rename file ‘e:test.dbf’ to ‘d:test.dbf’;

alter database rename file ‘D:oracleoradatadsserverDBSTAR_IND_L.ORA’ to ‘D:oracleoradatadsserverdbfDBSTAR_IND_L.ORA’;

SQL> alter database rename file ‘/opt/oracle/test.dbf’ to ‘/opt/oracle/oradata/conner/test.dbf’;

Database altered.

重做日志文件不能更改路径?

SQL> recover database until cancel;

SQL> alter database open resetlogs;//重建日志文件

recover database;

SQL> alter database open;

Database altered.

orapwd file=/home/oracle/oracle/product/10.2.0/db_1/dbs/orapw password=oracle entries=10

orapwd file=d:oracleora81DATABASEPWDorcl.ORA password=oracle entries=10

SQL> select name from v$datafile;

移动成功

SQL> alter database drop logfile group 1;

SQL> alter database add logfile group 1 (’D:oracleoradatadsserver1/log1.log’,

‘D:oracleoradatadsserver1log101.log’)size 50m;

总结步骤:

1、sqlplus /nolog

2、SQL>connect as sysdba

3、SQL>startup mount pfile=D:oracleadmindsserverpfileinit.ora

4、SQL> select name from v$datafile; //查看原来数据文件位置

5、alter database rename file ‘D:oracleoradatadsserverDBSTAR_IND_L.ORA’ to ‘D:oracleoradatadsserverdbfDBSTAR_IND_L.ORA’; //挨个更新数据文件位置

6、SQL> alter database open; //打开数据库

7、SQL> select name from v$datafile; //查看更改后的数据

rem 创建用户 DBSTAR

CREATE USER “DBSTAR” PROFILE “DEFAULT” IDENTIFIED BY “qintl”

DEFAULT TABLESPACE “USERS” TEMPORARY TABLESPACE “TEMP” ACCOUNT UNLOCK;

GRANT “CONNECT” TO “DBSTAR”;

GRANT “RESOURCE” TO “DBSTAR”;

ALTER USER “DBSTAR” DEFAULT ROLE ALL;

database 必须的文件:数据文件(data files),Control files,redo log files。

可选的文件:parameters file,passwordfile,archived log files。

没有重做日志文件的冷备份恢复

1) startup mount

2) alter database open resetlogs;

It will re-create redo logs based on information in control files.

本文由达思总工程师覃廷良撰写,转载请注明出处

浏览数: 次 星期日, 08月 14th, 2011

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值