熱點推薦:
您现在的位置: 電腦知識網 >> 編程 >> Oracle >> 正文

recover database in time point

2013-11-13 12:47:15  來源: Oracle 

  SQL> startup
  ORACLE 例程已經啟動
  
  Total System Global Area  bytes
  Fixed Size          bytes
  Variable Size        bytes
  Database Buffers      bytes
  Redo Buffers         bytes
  ORA: ???????C:\oracle\ora\DATABASE\PWDtestdbORA
  
  SQL> alter database open;
  
  數據庫已更改
  
  SQL> create table arch (status varchar()) tablespace users;
  
  表已創建
  
  SQL> alter system switch logfile;
  
  系統已更改
  
  SQL> insert into arch select ok from dba_objects;
  
  已創建
  
  SQL> commit;
  
  提交完成
  
  SQL> insert into arch select * from arch;
  
  已創建
  
  SQL> /
  
  已創建
  
  SQL> /
  
  已創建
  
  SQL> /
  
  已創建
  
  SQL> commit;
  
  提交完成
  
  SQL> alter system switch logfile;
  
  系統已更改
  
  SQL> commit;
  
  提交完成
  
  SQL> select GROUP#SEQUENCE#archived STATUS from v$log;
  
    GROUP# SEQUENCE# ARC STATUS
  
             NO CURRENT
             YES INACTIVE
             YES ACTIVE
  
  
  
  SQL> alter database backup controlfile to c:\backupctl;
  
  數據庫已更改
  
  SQL> select count(*) from arch;
  
   COUNT(*)
  
    
  
  SQL> select to_char(sysdateYYYYMMDD:HH:MI:SS) from dual;
  
  TO_CHAR(SYSDATEYY
  
  :::
  
  alter system switch logfile;
  
  系統已更改
  
  SQL> drop table arch;
  
  表已丟棄
  
  SQL> create table salgrade (grade numberlosal numberhisal number) tablespace users;
  
  表已創建
  
  
  SQL> select ownernametablespace_name
        to_char(creation_timeYYYYMMDD:HH:MI:SS)
     from systs_pitr_objects_to_be_dropped
     where tablespace_name in (USERS)
      and creation_time > to_date(:::YYYYMMDD:HH:MI:SS)
     order by tablespace_name creation_time;
  
  OWNER             NAME
  
  TABLESPACE_NAME        TO_CHAR(CREATION_TI
  
  SYS              SALGRADE
  USERS             :::
  
  SQL> alter tablespace users offline for recover;
  
  表空間已更改
  
  ~~~~~~~~~~~~~~~~
  克隆數據庫
  ~~~~~~~~~~~~~~~~
  oradim new sid clone intpwd clone
  
  set oracle_sid=clone
  創建初始化文件initCLONEora
  增加*lock_name_space=CLONE
  注意db_name跟主數據庫一樣
  歸檔路徑也可以一樣以便於恢復時使用默認的路徑
  
  SQL> create pfile=C:\oracle\ora\database\initCLONEora from spfile;
  
  文件已創建
  
  shutdown
  
  set ORACLE_SID=CLONE
  
  C:\Documents and Settings\lifengfang>sqlplus sys/clone as sysdba
  
  SQL*Plus: Release Production on 星期一 ::
  
  Copyright (c) Oracle Corporation All rights reserved
  
  已連接到空閒例程
  
  SQL> startup nomount pfile=C:\oracle\ora\database\initCLONEora
  ORACLE 例程已經啟動
  
  Total System Global Area  bytes
  Fixed Size          bytes
  Variable Size        bytes
  Database Buffers      bytes
  Redo Buffers         bytes
  SQL> alter database mount clone database;
  
  SQL> select name from v$datafile;
  
  NAME
  
  
  C:\ORACLE\ORADATA\TESTDB\SYSTEMDBF
  C:\ORACLE\ORADATA\TESTDB\UNDOTBSDBF
  C:\ORACLE\ORADATA\TESTDB\INDXDBF
  C:\ORACLE\ORADATA\TESTDB\TOOLSDBF
  C:\ORACLE\ORADATA\TESTDB\USERSDBF
  
  SQL> alter database rename file c:\ORACLE\ORADATA\TESTDB\SYSTEMDBF to c:ORACLE\ORADATA\CLONE\SYSTEMDBF ;
  
  數據庫已更改
  
  SQL> alter database rename file c:\ORACLE\ORADATA\TESTDB\UNDOTBSDBF to c:ORACLE\ORADATA\CLONE\UNDOTBSDBF;
  
  數據庫已更改
  
  SQL> alter database rename file c:\ORACLE\ORADATA\TESTDB\INDXDBF  to c:ORACLE\ORADATA\CLONE\INDXDBF  ;
  
  數據庫已更改
  
  SQL> alter database rename file c:\ORACLE\ORADATA\TESTDB\TOOLSDBF  to c:ORACLE\ORADATA\CLONE\TOOLSDBF ;
  
  數據庫已更改
  
  SQL> alter database rename file c:\ORACLE\ORADATA\TESTDB\USERSDBF  to c:ORACLE\ORADATA\CLONE\USERSDBF ;
  
  數據庫已更改
  
  SQL>
  SQL>
  SQL> alter database datafile C:\ORACLE\ORADATA\CLONE\SYSTEMDBF online;
  
  數據庫已更改
  
  SQL> alter database datafile C:\ORACLE\ORADATA\CLONE\UNDOTBSDBF online;
  
  數據庫已更改
  
  SQL> alter database datafile C:\ORACLE\ORADATA\CLONE\INDXDBF   online;
  
  數據庫已更改
  
  SQL> alter database datafile C:\ORACLE\ORADATA\CLONE\TOOLSDBF  online;
  
  數據庫已更改
  
  SQL> alter database datafile C:\ORACLE\ORADATA\CLONE\USERSDBF online;
  
  數據庫已更改
  
  SQL> RECOVER DATABASE USING BACKUP CONTROLFILE UNTIL TIME :::;
  
  ORA: 更改 (在 // :: 生成) 對於線程 是必需的
  ORA: 建議: C:\ORACLE\ORADATA\TESTDB\ARCHIVE_DBF
  ORA: 更改 對於線程 是按序列 # 進行的
  
  指定日志: {<RET>=suggested | filename | AUTO | CANCEL}
  
  ORA: 更改 (在 // :: 生成) 對於線程 是必需的
  ORA: 建議: C:\ORACLE\ORADATA\TESTDB\ARCHIVE_DBF
  ORA: 更改 對於線程 是按序列 # 進行的
  ORA: 此恢復不再需要日志文件 C:\ORACLE\ORADATA\TESTDB\ARCHIVE_DBF
  
  指定日志: {<RET>=suggested | filename | AUTO | CANCEL}
  
  ORA: 更改 (在 // :: 生成) 對於線程 是必需的
  ORA: 建議: C:\ORACLE\ORADATA\TESTDB\ARCHIVE_DBF
  ORA: 更改 對於線程 是按序列 # 進行的
  ORA: 此恢復不再需要日志文件 C:\ORACLE\ORADATA\TESTDB\ARCHIVE_DBF
  
  指定日志: {<RET>=suggested | filename | AUTO | CANCEL}
  
  已應用的日志
  完成介質恢復
  
  在clone庫exp該表空間
  exp SYS/clone TRANSPORT_TABLESPACE=y TABLESPACES=(users) TTS_FULL_CHECK=y file=expatdmp
  
  在主數據庫中
  DROP TABLESPACE users INCLUDING CONTENTS;
  
  在主庫
  imp TRANSPORT_TABLESPACE=y FILE=expatdmp
  DATAFILES=(C:\ORACLE\ORADATA\CLONE\USERSDBF)
From:http://tw.wingwit.com/Article/program/Oracle/201311/16580.html
    推薦文章
    Copyright © 2005-2013 電腦知識網 Computer Knowledge   All rights reserved.