第9章 rman 恢复
9.2.4.2 恢复服务器端初始化参数文件(spfile) 8
9.6.2 blockrecover还原和恢复一个或多个块列表 14
1、Rman 恢复主要对应两个操作:
数据库修复(restore)、数据库恢复(recover)
(1)数据库修复(restore):利用备份集的数据文件来替换已经损坏的数据库文件或将其恢复到一个新的位置。利用恢复目录或控制文件来获取备份信息,并从中选择最合适的备份进行修复操作。选择原则:选择距离恢复目录时刻最近;优先选择镜像复制,其次才是备份集。
(2)数据库恢复(recover):应用所有重做日志,将数据库恢复到崩溃前的状态,或应用部分redo,将数据库恢复到指定的时间点。
2、通过rman执行数据库恢复可以分成三个部分解读:
(1)将数据库置于正确的状态:mount/open。一般整库恢复的话需要在mount状态下操作,表空间或数据文件级的恢复也可以在open状态下操作。
(2)执行完全或不完全恢复。
(3)打开数据库(resetlogs或noresetlogs)
3、rman恢复中的自动化
在restore过程中,若备份集中某个备份片段出现错误(如I/O错误),rman会自动寻找备份片段的冗余复制,获取相同数据块的内容视图修复,若没有冗余的备份,rman会尝试寻找之前备份集中是否有使用的备份,直至匹配,若都没有匹配则报错。
执行restore过程中也有一个优化的原则,若要修复的文件已经存在,rman会首先对该未年检进行检查(rman只检查数据文件头,而不会检查数据文件中所有的数据块),若该文件已经是最新的状态,则restore会自动跳过该文件,以节省操作时间。也可以在执行restore时指定force子句强制恢复。
上述所体现的自动化,也是rman的优于其他备份/恢复方式的体现。
4、增量恢复和应用重做日志
执行recover时,如创建了增量备份,则rman首选增量备份进行恢复,(效率更高),因为增量备份中只记录了修改的数据块,恢复时也只需要对这些块做恢复就可以了,而应用重做日志需要解析。但重做日志依然很重要,重做日志时刻都在生成,但增量备份不可能时刻创建,故大多数情况下,都需要应用重做日志。
5、还原和恢复的实质
(1)关键文件和非关键文件
关键文件包括:控制文件的任何副本、system表空间的一部分的数据文件、当前撤销表空间的一部分的数据文件。关键文件受损意味着数据库实例将终止,且在损坏被修复之前不能重新打开。 关键数据文件的丢失并不意味着数据丢失,但意味着时间的丢失。
非关键文件包括:多重联机日志文件、临时文件、非system表空间或当前撤销表空间的一部分的数据文件。非关键文件受损时数据库可以保持打开或可以被打开。
(2)不完整恢复和完整恢复
完整恢复:任意数目的数据文件的损坏都可以用完整恢复来修复(没有数据丢失),还原受损的文件,应用重做使它们保持最新。 完整恢复的4个步骤:
使受损的数据文件脱机,还原受损的文件,恢复受损的文件,使恢复的文件联机。
不完整恢复意味着还原数据库(整个数据库)并只应用重做至某个特定点。
不完整恢复的4个步骤:加载数据库,还原所有数据文件,恢复数据库至某个点,用重置日志打开数据库。
不完整恢复操作的三个选项:
Until tiime/ until scn/ until sequence
语法:
Run {startup mount;
Set untiil time=”to_date(‘27-10-08 10:00:00’,’dd-mm-yy hh24:mi:ss’)”;
Restore database;
Recover database;
Alter database open resetlogs;}
或
Restore database until time ‘sysdate -7’;
Recover database until time ‘27-oct-08’;
完全介质恢复:当前数据库只剩下控制文件和spfile,其他数据文件丢失。但是之前创建过整库的备份,并且执行备份操作之后,所有的归档文件和重做日志都还在,可以将数据库恢复到崩溃前那一刻的状态。
执行完全介质恢复的三个步骤:
(1)启动到数据到加载状态:
Rman>startup mount;
(2)执行恢复操作
Rman>restore database;
Rman>recover database skip tablespace temp;
Skip tablespace是可选参数,跳过表空间,如临时表空间,即使不显式地指定跳过临时表空间,也不会对其进行恢复。因为临时表空间没有备份。
(3)打开数据库
Rman>alter database open;
上述操作是假设数据库在归档模式下进行的,如果是非归档模式的话,在执行restore之前,首先需要恢复备份的控制文件,并且在执行了restore和recover之后,必须以open resetlogs方式打开数据库。
数据库既可以是mount状态,也可以是open状态。
Rman> sql ‘ alter tablespace users1 offline immediate’;
Rman> sql ‘ alter tablespace users2 offline immediate’;
Rman>restore tablespace users1,users2;
Rman>recover tablespace users1,users2;
Rman>sql ‘alter tablespace users1 online;
Rman>sql ‘alter tablespace users2 online;
Rman> sql ‘alter database datafile 6 offline
Rman > restore datafile 6
Rman>recover datafile 6
Rman > sql ‘alter database datafile 6 online
若由于磁盘文件损坏导致数据文件无法访问,那么恢复时数据文件可能无法再恢复到原路径,必须在执行restore命令之前,给数据文件制定新的路径,方式如下:
Rman > alter database datafile 6 offline
RMAN> run {
2> set newname for datafile 6 to '/u01/data/backup/users01.dbf';
3> restore datafile 6;
4> switch datafile 6;
5> recover datafile 6;
6> }
Rman>alter database datafile 6 online
如果只是为了在恢复数据文件后应用归档文件,那并不需要手动对归档文件进行恢复,rman会在recover的时候自动对适当的归档进行恢复。
单独恢复归档文件一般是有特别的需求,如创建了Data Guard环境,standby端丢失了部分归档文件,必须从primary端重新获取。
恢复归档文件也非常灵活,rman的recover命令中提供了多种限定条件,可以精确指定恢复哪些备份的归档文件。Eg
Rman > restore archivelog sequence between 20 and 30;
也可以通过set命令将恢复的归档不放在log_archive_dest_1指定的路径下。
Rman> run{
2>set archivelog destination to ‘/u01/data/backup/’;
3>restore archivelog sequence between 35 and 40;
4>set archivelog destination to ‘/u01/data/backup/’;
5>restore archivelog sequence between 41 and 45;
1、从自动备份中恢复
由于没有了控制文件,目标数据库只能启动到nomount状态,但在启动数据库之前,必须(1)首先通过set命令设置DBID;
Rman>set dbid=1804284502;
如何获得目标数据库的DBID?
方法一:创建自动备份时,如果没有更改其命名方式,文件名中包含DBID
方法二:查看之前生成的rman备份日志,当使用rman登录目录数据库,最先输出的信息中就会显示出目标数据库的DBID
方法三:连接到目标端数据库之后,查询v$DATABASE视图也可以获得。
(2)启动数据库到nomount状态:
Rman>startup nomount;
(3)恢复至默认路径下:
Rman>restore controlfile from autobackup ;
恢复到指定路径下:
Rman>restore controlfile fo ‘/u01/data/backup’ from autobackup;
说明:如果在执行备份操作前,修改过自动备份的默认路径的话,那么此时执行上述命令会提示你找不到备份文件,此时需要重新设置一下自动备份的路径。在nocatalog模式下修改控制文件自动备份的保存路径时,不要使用configure命令(configure命令进行的配置为永久配置,默认需要保存到目标数据库控制文件的,而此处控制文件不村子,因此configure会失败,此时需用到set)
Eg: set设置控制文件自动备份的路径
Rman>set controlfile autobackup format for device type disk to ‘/u01/data/backup’;
然后执行restore命令
Rman>restore controlfile from autobackup;
提示:使用备份的控制文件进行恢复之后,必须recover database,并且以open resetlogs方式打开数据库。
2、从备份集中恢复
Rman>set dbid=1804284502;
Rman>startup nomount;
Rman>restore controlfile from ‘/u/data/backup/c-1804284502-20170411-15’;
rman在备份控制文件时会自动备份spfile。Spfile的恢复较为容易,数据库在运行过程中会在alter文件中留下数据库启动时的初始化参数信息。Rman的恢复如下:
Rman>set dbid=1804284502;
Rman>startup nomount;
Rman>restore spfile from autobackup; 恢复到默认路径
或
Rman>restore spfile to ‘/tmp/spfiletmp.ora’ from autobackup;
或
Rman>restore spfile to ‘/tmp/spfiletmp.ora’ from ‘/u01/data/backup/c-1804284502-20170411-16’;
查看表空间及其关联数据文件:
SQL>
select ts.tablespace_name,df.file_name,df.file_id,df.status
from dba_tablespaces ts,
(select tablespace_name,file_id,file_name,status
from dba_data_files
union all
select tablespace_name,file_id,file_name,status
from dba_temp_files) df
where ts.tablespace_name=df.tablespace_name
;
TABLESPACE_NAME FILE_NAME FILE_ID STATUS
-------------------- ---------------------------------------- ---------- ------------------
USERS1 /u01/data/test/users02.dbf 5 AVAILABLE
USERS /u01/data/test/users01.dbf 4 AVAILABLE
UNDOTBS1 /u01/data/test/undotbs01.dbf 3 AVAILABLE
SYSAUX /u01/data/test/sysaux01.dbf 2 AVAILABLE
SYSTEM /u01/data/test/system01.dbf 1 AVAILABLE
SQL>
Eg:归档模式下有备份,数据文件datafile 5被删除,导致数据库无法开启。
Rman > restore datafile 5 ;
Rman > recover datafile 5;
Rman > alter database open;
只有在某些特定条件下(丢失的数据文件,从其创建时刻起所有的重做日志都还在),才有可能在没有备份的情况下恢复丢失的数据文件。
并不是所有数据文件都能够被恢复(如system表空间的数据文件丢失或损失,除非借助备份,否组无法直接恢复。),不是所有的数据文件都需要恢复(例如临时表空间文件)
Eg: 数据文件datafile 4被删除。恢复过程如下:
首先通过alter database create datafile 命令重建一个该文件,如果是由于磁盘损坏导致的数据文件的丢失,可能原路径已经无法访问,此时可以在创建数据文件时,指定一个新的路径。
Sql > alter database create datafile ‘/u01/data/test/users01.dbf’ as ‘/u01/data/test/users01.dbf’
Sql > recover datafile 4;
Sql > alter database open;
或rman的方式
RMAN> list backup of datafile 7;
specification does not match any backup in the repository
RMAN> shutdown immediate;
database closed
database dismounted
Oracle instance shut down
RMAN> startup;
connected to target database (not started)
Oracle instance started
database mounted
RMAN-00571: ===========================================================
RMAN-00569: =============== ERROR MESSAGE STACK FOLLOWS ===============
RMAN-00571: ===========================================================
RMAN-03002: failure of startup command at 04/13/2017 18:26:41
ORA-01157: cannot identify/lock data file 7 - see DBWR trace file
ORA-01110: data file 7: '/u01/data/test/users04'
RMAN> restore datafile 7;
Starting restore at 2017:04:13 18:27:29
allocated channel: ORA_DISK_1
channel ORA_DISK_1: SID=18 device type=DISK
creating datafile file number=7 name=/u01/data/test/users04
restore not done; all files read only, offline, or already restored
Finished restore at 2017:04:13 18:27:30
RMAN> recover datafile 7;
Starting recover at 2017:04:13 18:27:36
using channel ORA_DISK_1
starting media recovery
media recovery complete, elapsed time: 00:00:00
Finished recover at 2017:04:13 18:27:36
RMAN> alter database open;
database opened
RMAN>
联机重做日志的状态:
Usused:表示重未用过。一般刚创建或open resetlogs打开后,联机重做日志组为这一状态。
Current:表示当前的
Active:表示活动的非当前日志文件。有可能已经完成归档或未被归档,活动的日志文件在crash恢复时会被用到。Active状态意味着,检查点尚未完成,如果日志文件循环使用再次达到该文件,数据库将处于停顿的状态,在alter日志中,可以看到类似的记录。
此时可以查看v$session_wait,
dbwr进程(sid=2)正在进行db file parallel write.日志文件必须等待dbwr完成检查点触发的写操作之后才能被覆盖。若参数log_checkpoints_to_alter为true的,还可以在alter文件中清晰地看到检查点的增进和完成情况。
Clearing:日志正在清空,当执行alter database clear logfile语句时该日志组会变为这种状态,语句执行完后,操作的日志组状态表为unused.
Clearing_current:日志正在清空,但是由于清空时出错如I/o设备无法访问,导致清空工作不能顺序完成,则该日志组就会被置于这种状态。
Inactive: 不活动状态,表示该组日志中的内容已经归档或顺利写入数据文件,该组日志可被继续使用。
Eg: 模拟删除/u01/data/testredo01.log, redo01的状态为inactive
恢复过程如下:
Sql > alter database clear logfile group 1;
Sql>alter database open;
在数据库运行过程中,非当前的联机重做日志损坏不一定会导致数据库崩溃,因为非当前日志暂时并未使用到,数据库还能正常的运行,不过一旦数据库切换到损坏的联机重做日志文件是,就会发现该文件无法访问而导致报错。
Eg: 被删除的日志文件为当前重做日志文件。 (状态为current)
该状态会丢失数据,只能执行不完全恢复。
SQL> startup mount;
ORA-32004: obsolete or deprecated parameter(s) specified for RDBMS instance
ORACLE instance started.
Total System Global Area 830930944 bytes
Fixed Size 2257800 bytes
Variable Size 536874104 bytes
Database Buffers 289406976 bytes
Redo Buffers 2392064 bytes
Database mounted.
SQL> alter database clear logfile group 3;
Database altered.
SQL> alter database clear logfile group 1;
alter database clear logfile group 1
*
ERROR at line 1:
ORA-00350: log 1 of instance test (thread 1) needs to be archived
ORA-00312: online log 1 thread 1: '/u01/data/test/redo01.log'
SQL> recover database until cancel;
Media recovery complete.
SQL> alter database open resetlogs;
Database altered.
SQL>
1、源库完整备份(包括归档日志,数据文件,控制文件)
2、目标库初始化参数文件配置(有关路径的参数要保持一致),创建密码文件
3、目标库建立目录并启动到nomout状态,配置监听和网络
4、恢复控制文件到加载状态。(拷贝备份的数据文件、控制文件、归档日志文件)
RMAN> set dbid=1804284502; (原库的dbid)
RMAN>restore controlfile from '/u01/app/oracle/fast_recovery_area/TEST/autobackup/2017_04_13/o1_mf_s_941227934_dgytryv9_.bkp';
Rman > alter database nomount;
Rman > catalog start with ‘path’ (备份文件存放路径)
Rman> restore database;
Rman> recove database;
Rman> alter database open resetlogs;
创建的热备份并不是一致性备份,源端的归档是拷贝过来了,但是联机重做日志并没有随备份集复制过来。故....
若异机的目录路径不一致,则:
Rman > catalog start with ‘paht’
Rman> set newname for datafile1 to ‘path’
.
.
.
Rman > restore database ;
Rman> switch datafile all;
Rman >recover database;
.
.
.
Eg: 模拟datafile 7出现故障
备份:
RMAN> backup as copy datafile 7 format '/u01/data/backup/datafile07.dbf';
恢复:
RMAN> run
2> {sql 'alter database datafile 7 offline';
3> set newname for datafile 7 to '/u01/data/backup/datafile07.dbf';
4> switch datafile 7; 等同于sql*plus中执行的alter database rename file命令。
5> recover datafile 7;
6> sql 'alter database datafile 7 online';}
Rman备份数据文件时,若遇到坏块的情况则备份失败,当备份失败时,可以通过set maxcorrupt关键字再次运行备份,完成备份后,在视图v$database_block_corruption选项中查看块损坏的范围。
Eg: rman备份可以继续,直到遇到的受损块不超过3个。(可以自定义该数值)
Rman > run{
Set maxcorrupt for datafile 7 to 3;
Backup datafile 7;}
不检查物理坏块:
RMAN> backup nochecksum datafile 7;
检查逻辑坏块:
RMAN> backup check logical datafile 7 ;
9.6.2 blockrecover还原和恢复一个或多个块列表
RMAN> blockrecover datafile 7 block 5;
RMAN> blockrecover datafile 7 block 5,6,7 datafile 6 block 1,2,3;
RMAN> blockrecover datafile 7 block 5,6,7 datafile 6 block 1,2,3 from backupset 1092;
RMAN> blockrecover datafile 7 block 5,6,7 datafile 6 block 1,2,3 from tag monthy_whole;
RMAN> blockrecover corruption list ; 还原和恢复视图中列出的每个块。
依靠目标数据库的备份集创建一个duplicate数据库(数据库副本),可以复制整个数据库,也可以仅包含目标数据库的部分表空间。目标数据库和duplicate数据库可以在不同的机器上,也可以在相同的机器上。
(1)创建辅助实例
(2)运行duplicate命令
注意必须指定nofilenamecheck参数
同本地不同路径结构的复制。区别在于异机db_name相同,但本地db_name不能相同。
1、创建辅助实例的秘钥文件
orapwd file=orapwtest password=test
2、配置初始化参数文件
以*DEST结尾的参数要注意修改
设置Db_file_name_convert参数,让其自动转换数据文件路径
设置Log_file_name_convert参数,让其自动转换日志文件路径
并保证对应目录存在
3、启动辅助实例
Duplicate 必须以spfile启动,如若不然,则要在执行duplicate时指定pfile参数
Export ORACLE_SID=test
Sql > create spfile from ‘/u01/app/oracle/product/11.2.0/db_1/dbs/inittest.ora’
Sql > startup nomount
4、配置监听和网络服务名
Listener.ora文件
(SID_DESC =
(ORACLE_HOME=/u01/app/oracle/product/11.2.0/db_1)
(SID_NAME = test)
)
tnsnames.ora文件
test=
(DESCRIPTION =
(ADDRESS_LIST =
(ADDRESS = (PROTOCOL = TCP)(HOST = 192.168.10.244)(PORT = 1521))
)
(CONNECT_DATA =
(SERVICE_NAME = test)
)
)
9.7.2.3.2 启动目标数据库到mount或open模式并验证备份是否有效
RMAN> list backup of database;
using target database control file instead of recovery catalog
List of Backup Sets
===================
BS Key Type LV Size Device Type Elapsed Time Completion Time
------- ---- -- ---------- ----------- ------------ -------------------
42 Full 1.05G DISK 00:00:38 2017:04:14 02:20:52
BP Key: 52 Status: AVAILABLE Compressed: NO Tag: TAG20170414T022014
Piece Name: /u01/app/oracle/fast_recovery_area/ORACLE/backupset/2017_04_14/o1_mf_nnndf_TAG20170414T022014_dgzjbyl4_.bkp
List of Datafiles in backup set 42
File LV Type Ckp SCN Ckp Time Name
---- -- ---- ---------- ------------------- ----
1 Full 1665472 2017:04:14 02:20:14 /u01/data/oracle/system01.dbf
2 Full 1665472 2017:04:14 02:20:14 /u01/data/oracle/sysaux01.dbf
3 Full 1665472 2017:04:14 02:20:14 /u01/data/oracle/undotbs01.dbf
4 Full 1665472 2017:04:14 02:20:14 /u01/data/oracle/users01.dbf
5 Full 1665472 2017:04:14 02:20:14 /u01/data/oracle/users02.dbf
6 Full 1665472 2017:04:14 02:20:14 /u01/data/oracle/rmantbs01.dbf
RMAN>
Rman target sys/oracle@oracle auxiliary sys/test@test
Rman > duplicate target database to “test”;
另1:若db_file_name_convert和log_file_name_convert参数没有指定则可以用set newname for datafile to ‘path’转换数据文件,次方式恢复的数据库联机日志文件和临时文件的路径会在系统的默认的位置,恢复完成后可手动调整:
也可以将set newname换成configure auxname . Configure auxname是在run块外面执行的,在duplicate命令执行完成后,清除configure auxname.(eg: configure auxname for datafile 1 clear;)
RMAN> run {
2> set newname for datafile 1 to '/u01/data/test/system01.dbf';
3> set newname for datafile 2 to '/u01/data/test/sysaux01.dbf';
4> set newname for datafile 3 to '/u01/data/test/undotbs01.dbf';
5> set newname for datafile 4 to '/u01/data/test/users01.dbf';
6> set newname for datafile 5 to '/u01/data/test/users02.dbf';
7> set newname for datafile 6 to '/u01/data/test/rmantbs01.dbf';
8> set newname for datafile 7 to '/u01/data/test/users03.dbf';
9> duplicate target database to "test";
10> }
SQL> select member from v$logfile;
MEMBER
--------------------------------------------------------------------------------
/u01/data/test/TEST/onlinelog/o1_mf_3_dgzw43kg_.log
/u01/app/test/fast_recovery_area/TEST/onlinelog/o1_mf_3_dgzw43n6_.log
/u01/data/test/TEST/onlinelog/o1_mf_2_dgzw42b8_.log
/u01/app/test/fast_recovery_area/TEST/onlinelog/o1_mf_2_dgzw42dx_.log
/u01/data/test/TEST/onlinelog/o1_mf_1_dgzw411y_.log
/u01/app/test/fast_recovery_area/TEST/onlinelog/o1_mf_1_dgzw415n_.log
6 rows selected.
SQL> alter database drop logfile group 1 ; (保证日志已经规定或没有使用)
SQL> alter database add logfile group 2('/u01/data/test/redo02.dbf') size 50m;
SQL >alter tablespace temp add tempfile '/u01/data/test/temp01.dbf' size 50m;
SQL> alter tablespace temp drop tempfile 1;
另2:或者也可以按如下方式进行:
Rman > duplicate target database to "test"
pfile='/u01/app/oracle/product/11.2.0/db_1/dbs/inittest.ora'
db_file_name_convert='/u01/data/oracle','/u01/data/test'
logfile
'/u01/data/test/redo01.log' size 50m,
'/u01/data/test/redo02.log' size 50m,
'/u01/data/test/redo03.log' size 50m;
仅在部分数据库上执行不完整恢复的技术。实质上,不完整恢复必须应用整个库,TSPSITR依据目标数据库的表空间的一个子集来创建辅助数据库,仅在此子集上执行不完整恢复,然后使用辅助数据库的表空间来替代目标数据库中的表空间。
(1)在一个逻辑上独立的表空间中,重要表中的行数据受损或被删除。
(逻辑上独立是指其他表空间中的对象与其不存在索引或父/子关系)
(2)误用数据定义语言(DDL)更改了表空间中的一个或多个表的结构,因此无法使用闪回表来恢复这些表。
(3)使用了purge选项删除了表。
(1)使用随机生成的名称启动辅助实例。
(2)将控制文件还原到辅助实例,并加载辅助数据库。
(3)将恢复集的数据文件还原到辅助数据库。
(4)将辅助集的数据文件还远到辅助数据库。
(5)将辅助数据库恢复到期望的时间点
(6)从辅助数据库中导出已恢复表空间的字典元数据。
(7)将恢复表空间的字典元数据导入到目标数据库中。
(8)删除所有辅助文件。
故TSPITR不能恢复已经删除的表空间,若重命名了表空间,则无法将其恢复到重命名之前的时间点。
目标时间: 将表空间恢复到哪个时间点或SCN
恢复集:包含将要予以恢复的表空间的数据文件组
辅助集:恢复表空间需要的其他数据文件,如system,undo或temp表空间的数据文件
辅助目标:存储辅助文件集的临时位置,包括联机重做日志文件、归档重做日志文件和恢复过程中创建的控制文件副本。
1、验证表空间的依赖性(数据字典ts_pitr_check)
要恢复的表空间必须是自包含的,不依赖于不予恢复的其他表空间中的对象。
Eg:检查名为pitr的表空间中的对象是否依赖其他表空间中的任何对象以及其他表空间中的对象是否依赖于pitr表空间中的对象。
(reason列: reason why tablespace point-in-time recovery cannot proceed)
SQL>
select OBJ1_OWNER,OBJ1_NAME,TS1_NAME,
OBJ2_OWNER,OBJ2_NAME,TS2_NAME
from ts_pitr_check
where
ts1_name='PITR' and ts2_name!='PITR'
or (ts1_name!='PITR' and ts2_name='PITR');
no rows selected
SQL>
2、确定执行TSPITR后会丢失哪些对象(视图ts_pitr_objects_to_be_droopped)
确定恢复表空间后将要丢失的在目标时间之后创建的任何对象。
SQL> select owner,name,to_char(creation_time,'yyyy-mm-dd:hh24:mi:ss') create_time
from ts_pitr_objects_to_be_dropped where tablespace_name='pitr'
and creation_time > to_date('2017-04-14:15:50:09','yyyy-mm-dd:hh24:mi:ss');
Rman> Recover tablespace pitr until time ‘18-12-08 09:01:00’
Auxiliary destination ‘/u01/data/oracle’;
Rman >sql ‘alter tablespace interface online’;
(1)创建一个表空间:
Create tablespace pitr datafile ‘/u01/data/oracle/pitr01.dbf’ size 20m;
(2)创建表
Create table t1(c1 date) tablespace pitr;
Insert into t1 values(sysdate);
Commit
(3)
Export nls_date_format=”dd-mm-yy hh24:mi:ss
(4)
Backup database
(5)
select sysdate from dual;
Drop table t1;
(6)
Recover tablespace pitr until time ‘18-12-08 09:01:00’
Auxiliary destination ‘/u01/data/oracle’; (目录而不是文件,确保参数db_create_file_dest与该路径一直)
来自 “ ITPUB博客 ” ,链接:http://blog.itpub.net/31411496/viewspace-2138227/,如需转载,请注明出处,否则将追究法律责任。
转载于:http://blog.itpub.net/31411496/viewspace-2138227/