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)