数据库

位置:IT落伍者 >> 数据库 >> 浏览文章

recover database in time point


发布日期:2018年12月06日
 
recover database in time point

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

NOCURRENT

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;

OWNERNAME

TABLESPACE_NAMETO_CHAR(CREATION_TI

SYSSALGRADE

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 CorporationAll 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\SYSTEMDBFto 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\INDXDBFto 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\UNDOTBSDBFonline;

数据库已更改

SQL> alter database datafile C:\ORACLE\ORADATA\CLONE\INDXDBF online;

数据库已更改

SQL> alter database datafile C:\ORACLE\ORADATA\CLONE\TOOLSDBFonline;

数据库已更改

SQL> alter database datafile C:\ORACLE\ORADATA\CLONE\USERSDBFonline;

数据库已更改

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)

上一篇:Oracle数据库定时Jobs作业的使用方法

下一篇:oracle数据库运算:intersect和minus运算