|
1
|
查看归档是否开启 SQL> archive log list; Database log mode No Archive Mode Automatic archival Disabled Archive destination USE_DB_RECOVERY_FILE_DEST Oldest online log sequence 5 Current log sequence 7
开启归档 SQL> startup mount------------开启归档,数据库必须处于mount的状态; ORACLE instance started.
Total System Global Area 830930944 bytes Fixed Size 2257800 bytes Variable Size 536874104 bytes Database Buffers 285212672 bytes Redo Buffers 6586368 bytes Database mounted.
SQL> alter database archivelog;
Database altered. SQL> archive log list; Database log mode Archive Mode Automatic archival Enabled Archive destination USE_DB_RECOVERY_FILE_DEST Oldest online log sequence 5 Next log sequence to archive 7 Current log sequence 7
|
|
2 |
查看日志的变化 SQL> desc v$log; Name Null? Type ----------------------------------------- -------- ---------------------------- GROUP# NUMBER THREAD# NUMBER SEQUENCE# NUMBER BYTES NUMBER BLOCKSIZE NUMBER MEMBERS NUMBER ARCHIVED VARCHAR2(3) STATUS VARCHAR2(16) FIRST_CHANGE# NUMBER FIRST_TIME DATE NEXT_CHANGE# NUMBER NEXT_TIME DATE
SQL> select GROUP# STATUS from v$log;
STATUS ---------- 1 2 3 SQL> select group#,status,archived from v$log;
GROUP# STATUS ARC ---------- ---------------- --- 1 CURRENT NO 2 INACTIVE YES--------------内存中的数据已经同步到数据文件中,而且也已经归档 3 INACTIVE YES--------------已经归档,但是还没有同步到数据文件中
SQL> alter system switch logfile;------------切换日志,然后再看一下状态;
System altered.
SQL> select group#,status,archived from v$log;
GROUP# STATUS ARC ---------- ---------------- --- 1 ACTIVE YES 2 CURRENT NO 3 INACTIVE YES
|
|
3 |
SCN号:时间,一串数字,一直向前走,不会倒退的 SQL> select current_scn from v$database;
CURRENT_SCN ----------- 1025790
SQL> /
CURRENT_SCN ----------- 1025791
SQL> /
CURRENT_SCN ----------- 1025792 每查一次,SCN号就涨一次; 控制文件中记录着数据文件最后被写的时间; SQL> desc v$datafile; Name Null? Type ----------------------------------------- -------- ---------------------------- FILE# NUMBER CREATION_CHANGE# NUMBER CREATION_TIME DATE TS# NUMBER RFILE# NUMBER STATUS VARCHAR2(7) ENABLED VARCHAR2(10) CHECKPOINT_CHANGE# NUMBER-------记录着数据文件最后被写的时间,记录在控制文件中 CHECKPOINT_TIME DATE UNRECOVERABLE_CHANGE# NUMBER UNRECOVERABLE_TIME DATE LAST_CHANGE# NUMBER LAST_TIME DATE OFFLINE_CHANGE# NUMBER ONLINE_CHANGE# NUMBER ONLINE_TIME DATE BYTES NUMBER BLOCKS NUMBER CREATE_BYTES NUMBER BLOCK_SIZE NUMBER NAME VARCHAR2(513) PLUGGED_IN NUMBER BLOCK1_OFFSET NUMBER AUX_NAME VARCHAR2(513) FIRST_NONLOGGED_SCN NUMBER FIRST_NONLOGGED_TIME DATE FOREIGN_DBID NUMBER FOREIGN_CREATION_CHANGE# NUMBER FOREIGN_CREATION_TIME DATE PLUGGED_READONLY VARCHAR2(3) PLUGIN_CHANGE# NUMBER PLUGIN_RESETLOGS_CHANGE# NUMBER PLUGIN_RESETLOGS_TIME DATE SQL> select NAME,CHECKPOINT_CHANGE# from v$datafile;
NAME -------------------------------------------------------------------------------- CHECKPOINT_CHANGE# ------------------ /u01/app/oracle/oradata/enmoedu/system01.dbf 1024754-----------此数据文件最后被修改的SCN号
/u01/app/oracle/oradata/enmoedu/sysaux01.dbf 1024754
/u01/app/oracle/oradata/enmoedu/undotbs01.dbf 1024754
NAME -------------------------------------------------------------------------------- CHECKPOINT_CHANGE# ------------------ /u01/app/oracle/oradata/enmoedu/users01.dbf 1024754
/u01/app/oracle/oradata/enmoedu/example01.dbf 1024754
SQL> desc v$datafile_header;----------去抓现在文件的时间是多少? Name Null? Type ----------------------------------------- -------- ---------------------------- FILE# NUMBER STATUS VARCHAR2(7) ERROR VARCHAR2(18) FORMAT NUMBER RECOVER VARCHAR2(3) FUZZY VARCHAR2(3) CREATION_CHANGE# NUMBER CREATION_TIME DATE TABLESPACE_NAME VARCHAR2(30) TS# NUMBER RFILE# NUMBER RESETLOGS_CHANGE# NUMBER RESETLOGS_TIME DATE CHECKPOINT_CHANGE# NUMBER CHECKPOINT_TIME DATE CHECKPOINT_COUNT NUMBER BYTES NUMBER BLOCKS NUMBER NAME VARCHAR2(513) SPACE_HEADER VARCHAR2(40) LAST_DEALLOC_CHANGE# VARCHAR2(16) UNDO_OPT_CURRENT_CHANGE# VARCHAR2(40) SQL> select FILE#,NAME,CHECKPOINT_CHANGE# from v$datafile_header; SQL> select FILE#,NAME,CHECKPOINT_CHANGE# from v$datafile;
|
|
4 |
数据文件丢了恢复的过程; 普通数据文件的恢复; 首先查看一下都有什么表空间,然后删除; SQL> select tablespace_name from dba_tablespaces;
TABLESPACE_NAME ------------------------------ SYSTEM SYSAUX UNDOTBS1 TEMP USERS EXAMPLE
6 rows selected.
SQL> archive log list; Database log mode Archive Mode Automatic archival Enabled Archive destination USE_DB_RECOVERY_FILE_DEST Oldest online log sequence 6 Next log sequence to archive 8 Current log sequence 8 SQL> desc dba_data_files; Name Null? Type ----------------------------------------- -------- ---------------------------- FILE_NAME VARCHAR2(513) FILE_ID NUMBER TABLESPACE_NAME VARCHAR2(30) BYTES NUMBER BLOCKS NUMBER STATUS VARCHAR2(9) RELATIVE_FNO NUMBER AUTOEXTENSIBLE VARCHAR2(3) MAXBYTES NUMBER MAXBLOCKS NUMBER INCREMENT_BY NUMBER USER_BYTES NUMBER USER_BLOCKS NUMBER ONLINE_STATUS VARCHAR2(7) SQL> alter system switch logfile;------切换日志
System altered. SQL> alter system archive log current;----切换日志
System altered. SQL> select FILE#,NAME,CHECKPOINT_CHANGE# from v$datafile;
FILE# ---------- NAME -------------------------------------------------------------------------------- CHECKPOINT_CHANGE# ------------------ 1 /u01/app/oracle/oradata/enmoedu/system01.dbf 1026253
2 /u01/app/oracle/oradata/enmoedu/sysaux01.dbf 1026253
FILE# ---------- NAME -------------------------------------------------------------------------------- CHECKPOINT_CHANGE# ------------------
3 /u01/app/oracle/oradata/enmoedu/undotbs01.dbf 1026253
4 /u01/app/oracle/oradata/enmoedu/users01.dbf
FILE# ---------- NAME -------------------------------------------------------------------------------- CHECKPOINT_CHANGE# ------------------ 1026253
5 /u01/app/oracle/oradata/enmoedu/example01.dbf 1026253
SQL> select FILE#,NAME,CHECKPOINT_CHANGE# from v$datafile_header;---------直接从数据文件中读
FILE# ---------- NAME -------------------------------------------------------------------------------- CHECKPOINT_CHANGE# ------------------ 1 /u01/app/oracle/oradata/enmoedu/system01.dbf 1026596
2 /u01/app/oracle/oradata/enmoedu/sysaux01.dbf 1026596
FILE# ---------- NAME -------------------------------------------------------------------------------- CHECKPOINT_CHANGE# ------------------
3 /u01/app/oracle/oradata/enmoedu/undotbs01.dbf 1026596
4 /u01/app/oracle/oradata/enmoedu/users01.dbf
FILE# ---------- NAME -------------------------------------------------------------------------------- CHECKPOINT_CHANGE# ------------------ 1026596
5 /u01/app/oracle/oradata/enmoedu/example01.dbf 1026596 可以看出我们的example01.dbf的SCN号是不一样的;
|
|
5 |
进RMAN备份; [oracle@enmoedu dbs]$ rman target/
Recovery Manager: Release 11.2.0.4.0 - Production on Sun Mar 13 10:49:42 2016
Copyright (c) 1982, 2011, Oracle and/or its affiliates. All rights reserved.
connected to target database: ENMOEDU (DBID=163971148) RMAN> backup as copy database ;
Starting backup at 13-MAR-16 using target database control file instead of recovery catalog--------备份到控制文件中 allocated channel: ORA_DISK_1 channel ORA_DISK_1: SID=10 device type=DISK-----进程信息 channel ORA_DISK_1: starting datafile copy input datafile file number=00001 name=/u01/app/oracle/oradata/enmoedu/system01.dbf output file name=/u01/app/oracle/fast_recovery_area/ENMOEDU/datafile/o1_mf_system_cg9nvvbr_.dbf tag=TAG20160313T104203 RECID=2 STAMP=906374531 channel ORA_DISK_1: datafile copy complete, elapsed time: 00:00:15 channel ORA_DISK_1: starting datafile copy input datafile file number=00002 name=/u01/app/oracle/oradata/enmoedu/sysaux01.dbf output file name=/u01/app/oracle/fast_recovery_area/ENMOEDU/datafile/o1_mf_sysaux_cg9nwbfk_.dbf tag=TAG20160313T104203 RECID=3 STAMP=906374541 channel ORA_DISK_1: datafile copy complete, elapsed time: 00:00:03 channel ORA_DISK_1: starting datafile copy input datafile file number=00005 name=/u01/app/oracle/oradata/enmoedu/example01.dbf output file name=/u01/app/oracle/fast_recovery_area/ENMOEDU/datafile/o1_mf_example_cg9nwfhp_.dbf tag=TAG20160313T104203 RECID=4 STAMP=906374543 channel ORA_DISK_1: datafile copy complete, elapsed time: 00:00:03 channel ORA_DISK_1: starting datafile copy input datafile file number=00003 name=/u01/app/oracle/oradata/enmoedu/undotbs01.dbf output file name=/u01/app/oracle/fast_recovery_area/ENMOEDU/datafile/o1_mf_undotbs1_cg9nwjpk_.dbf tag=TAG20160313T104203 RECID=5 STAMP=906374545 channel ORA_DISK_1: datafile copy complete, elapsed time: 00:00:01 channel ORA_DISK_1: starting datafile copy copying current control file output file name=/u01/app/oracle/fast_recovery_area/ENMOEDU/controlfile/o1_mf_TAG20160313T104203_cg9nwkvd_.ctl tag=TAG20160313T104203 RECID=6 STAMP=906374547 channel ORA_DISK_1: datafile copy complete, elapsed time: 00:00:03 channel ORA_DISK_1: starting datafile copy input datafile file number=00004 name=/u01/app/oracle/oradata/enmoedu/users01.dbf output file name=/u01/app/oracle/fast_recovery_area/ENMOEDU/datafile/o1_mf_users_cg9nwo1y_.dbf tag=TAG20160313T104203 RECID=7 STAMP=906374549 channel ORA_DISK_1: datafile copy complete, elapsed time: 00:00:01 channel ORA_DISK_1: starting full datafile backup set channel ORA_DISK_1: specifying datafile(s) in backup set including current SPFILE in backup set channel ORA_DISK_1: starting piece 1 at 13-MAR-16 channel ORA_DISK_1: finished piece 1 at 13-MAR-16 piece handle=/u01/app/oracle/fast_recovery_area/ENMOEDU/backupset/2016_03_13/o1_mf_nnsnf_TAG20160313T104203_cg9nwp91_.bkp tag=TAG20160313T104203 comment=NONE channel ORA_DISK_1: backup set complete, elapsed time: 00:00:01 Finished backup at 13-MAR-16 SQL> alter system switch logfile;
System altered.
SQL> /
System altered.
SQL> /
System altered. 切换日志,代表过了好几天了; 此时再查一下; SQL> select FILE#,NAME,CHECKPOINT_CHANGE# from v$datafile_header;
FILE# ---------- NAME -------------------------------------------------------------------------------- CHECKPOINT_CHANGE# ------------------ 1 /u01/app/oracle/oradata/enmoedu/system01.dbf 1026829
2 /u01/app/oracle/oradata/enmoedu/sysaux01.dbf 1026829
FILE# ---------- NAME -------------------------------------------------------------------------------- CHECKPOINT_CHANGE# ------------------
3 /u01/app/oracle/oradata/enmoedu/undotbs01.dbf 1026829
4 /u01/app/oracle/oradata/enmoedu/users01.dbf
FILE# ---------- NAME -------------------------------------------------------------------------------- CHECKPOINT_CHANGE# ------------------ 1026829
5 /u01/app/oracle/oradata/enmoedu/example01.dbf 1026829
SQL> select FILE#,NAME,CHECKPOINT_CHANGE# from v$datafile;
FILE# ---------- NAME -------------------------------------------------------------------------------- CHECKPOINT_CHANGE# ------------------ 1 /u01/app/oracle/oradata/enmoedu/system01.dbf 1026829
2 /u01/app/oracle/oradata/enmoedu/sysaux01.dbf 1026829
FILE# ---------- NAME -------------------------------------------------------------------------------- CHECKPOINT_CHANGE# ------------------
3 /u01/app/oracle/oradata/enmoedu/undotbs01.dbf 1026829
4 /u01/app/oracle/oradata/enmoedu/users01.dbf
FILE# ---------- NAME -------------------------------------------------------------------------------- CHECKPOINT_CHANGE# ------------------ 1026829
5 /u01/app/oracle/oradata/enmoedu/example01.dbf 1026829
|
|
6 |
SQL> alter database datafile 5 offline;----告诉控制文件,让丢失的数据文件先下线;
Database
altered. SQL> select FILE# ,CHECKPOINT_CHANGE# ,NAME, STATUS from v$datafile;
FILE# CHECKPOINT_CHANGE# ---------- ------------------ NAME -------------------------------------------------------------------------------- STATUS ------- 1 999895 /u01/app/oracle/oradata/enmoedu/system01.dbf SYSTEM
2 999895 /u01/app/oracle/oradata/enmoedu/sysaux01.dbf ONLINE
FILE# CHECKPOINT_CHANGE# ---------- ------------------ NAME -------------------------------------------------------------------------------- STATUS -------
3 999895 /u01/app/oracle/oradata/enmoedu/undotbs01.dbf ONLINE
4 999895 /u01/app/oracle/oradata/enmoedu/users01.dbf
FILE# CHECKPOINT_CHANGE# ---------- ------------------ NAME -------------------------------------------------------------------------------- STATUS ------- ONLINE
5 999895 /u01/app/oracle/oradata/enmoedu/example01.dbf RECOVER
SQL> select file#,CHECKPOINT_CHANGE#,NAME,STATUS from v$datafile_header;
FILE# CHECKPOINT_CHANGE# ---------- ------------------ NAME -------------------------------------------------------------------------------- STATUS ------- 1 999895 /u01/app/oracle/oradata/enmoedu/system01.dbf ONLINE
2 999895 /u01/app/oracle/oradata/enmoedu/sysaux01.dbf ONLINE
FILE# CHECKPOINT_CHANGE# ---------- ------------------ NAME -------------------------------------------------------------------------------- STATUS -------
3 999895 /u01/app/oracle/oradata/enmoedu/undotbs01.dbf ONLINE
4 999895 /u01/app/oracle/oradata/enmoedu/users01.dbf
FILE# CHECKPOINT_CHANGE# ---------- ------------------ NAME -------------------------------------------------------------------------------- STATUS ------- ONLINE
5 0
OFFLINE
因为数据文件丢失,所以SCN号是不一样的; 我们恢复数据文件再查看一下; RMAN> restore datafile 5;
Starting restore at 13-MAR-16 using target database control file instead of recovery catalog allocated channel: ORA_DISK_1 channel ORA_DISK_1: SID=10 device type=DISK
channel ORA_DISK_1: restoring datafile 00005 input datafile copy RECID=4 STAMP=906374543 file name=/u01/app/oracle/fast_recovery_area/ENMOEDU/datafile/o1_mf_example_cg9nwfhp_.dbf destination for restore of datafile 00005: /u01/app/oracle/oradata/enmoedu/example01.dbf channel ORA_DISK_1: copied datafile copy of datafile 00005 output file name=/u01/app/oracle/oradata/enmoedu/example01.dbf RECID=0 STAMP=0 Finished restore at 13-MAR-16
RMAN> recover datafile 5;
Starting recover at 13-MAR-16 using channel ORA_DISK_1
starting media recovery
archived log for thread 1 with sequence 8 is already on disk as file /u01/app/oracle/fast_recovery_area/ENMOEDU/archivelog/2016_03_13/o1_mf_1_8_cg9o32xp_.arc archived log for thread 1 with sequence 9 is already on disk as file /u01/app/oracle/fast_recovery_area/ENMOEDU/archivelog/2016_03_13/o1_mf_1_9_cg9o43cm_.arc archived log for thread 1 with sequence 10 is already on disk as file /u01/app/oracle/fast_recovery_area/ENMOEDU/archivelog/2016_03_13/o1_mf_1_10_cg9onn02_.arc archived log for thread 1 with sequence 11 is already on disk as file /u01/app/oracle/fast_recovery_area/ENMOEDU/archivelog/2016_03_13/o1_mf_1_11_cg9onog0_.arc archived log for thread 1 with sequence 12 is already on disk as file /u01/app/oracle/fast_recovery_area/ENMOEDU/archivelog/2016_03_13/o1_mf_1_12_cg9onp7p_.arc archived log file name=/u01/app/oracle/fast_recovery_area/ENMOEDU/archivelog/2016_03_13/o1_mf_1_8_cg9o32xp_.arc thread=1 sequence=8 archived log file name=/u01/app/oracle/fast_recovery_area/ENMOEDU/archivelog/2016_03_13/o1_mf_1_9_cg9o43cm_.arc thread=1 sequence=9 archived log file name=/u01/app/oracle/fast_recovery_area/ENMOEDU/archivelog/2016_03_13/o1_mf_1_10_cg9onn02_.arc thread=1 sequence=10 media recovery complete, elapsed time: 00:00:00 Finished recover at 13-MAR-16
SQL> select FILE#,NAME,CHECKPOINT_CHANGE# from v$datafile;
FILE# ---------- NAME -------------------------------------------------------------------------------- CHECKPOINT_CHANGE# ------------------ 1 /u01/app/oracle/oradata/enmoedu/system01.dbf 1030301
2 /u01/app/oracle/oradata/enmoedu/sysaux01.dbf 1030301
FILE# ---------- NAME -------------------------------------------------------------------------------- CHECKPOINT_CHANGE# ------------------
3 /u01/app/oracle/oradata/enmoedu/undotbs01.dbf 1030301
4 /u01/app/oracle/oradata/enmoedu/users01.dbf
FILE# ---------- NAME -------------------------------------------------------------------------------- CHECKPOINT_CHANGE# ------------------ 1030301
5 /u01/app/oracle/oradata/enmoedu/example01.dbf 1027456
SQL> select FILE#,NAME,CHECKPOINT_CHANGE# from v$datafile_header;
FILE# ---------- NAME -------------------------------------------------------------------------------- CHECKPOINT_CHANGE# ------------------ 1 /u01/app/oracle/oradata/enmoedu/system01.dbf 1030301
2 /u01/app/oracle/oradata/enmoedu/sysaux01.dbf 1030301
FILE# ---------- NAME -------------------------------------------------------------------------------- CHECKPOINT_CHANGE# ------------------
3 /u01/app/oracle/oradata/enmoedu/undotbs01.dbf 1030301
4 /u01/app/oracle/oradata/enmoedu/users01.dbf
FILE# ---------- NAME -------------------------------------------------------------------------------- CHECKPOINT_CHANGE# ------------------ 1030301
5 /u01/app/oracle/oradata/enmoedu/example01.dbf 1027456 恢复刚刚丢失的数据文件之后,发现他们的SCN号是一致的
|
|
7 |
数据库在丢失了system表空间和undo表空间是不能打开的; 假如我把system表空间和undo表空间给删除了; [oracle@enmoedu enmoedu]$ ls control01.ctl redo01.log redo03.log system01.dbf undotbs01.dbf example01.dbf redo02.log sysaux01.dbf temp01.dbf users01.dbf [oracle@enmoedu enmoedu]$ rm system01.dbf [oracle@enmoedu enmoedu]$ rm undotbs01.dbf SQL> startup ORACLE instance started.
Total System Global Area 830930944 bytes Fixed Size 2257800 bytes Variable Size 536874104 bytes Database Buffers 285212672 bytes Redo Buffers 6586368 bytes Database mounted. ORA-01157: cannot identify/lock data file 1 - see DBWR trace file ORA-01110: data file 1: '/u01/app/oracle/oradata/enmoedu/system01.dbf' 由此可以看出,数据库已经起不来了。 那么下面我们就恢复我们删掉的表空间,然后再看能否起来; RMAN> restore datafile 1;
Starting restore at 13-MAR-16 using target database control file instead of recovery catalog allocated channel: ORA_DISK_1 channel ORA_DISK_1: SID=10 device type=DISK
channel ORA_DISK_1: restoring datafile 00001 input datafile copy RECID=2 STAMP=906374531 file name=/u01/app/oracle/fast_recovery_area/ENMOEDU/datafile/o1_mf_system_cg9nvvbr_.dbf destination for restore of datafile 00001: /u01/app/oracle/oradata/enmoedu/system01.dbf channel ORA_DISK_1: copied datafile copy of datafile 00001 output file name=/u01/app/oracle/oradata/enmoedu/system01.dbf RECID=0 STAMP=0 Finished restore at 13-MAR-16 RMAN> recover datafile 1;
Starting recover at 13-MAR-16 using channel ORA_DISK_1
starting media recovery
archived log for thread 1 with sequence 8 is already on disk as file /u01/app/oracle/fast_recovery_area/ENMOEDU/archivelog/2016_03_13/o1_mf_1_8_cg9o32xp_.arc archived log for thread 1 with sequence 9 is already on disk as file /u01/app/oracle/fast_recovery_area/ENMOEDU/archivelog/2016_03_13/o1_mf_1_9_cg9o43cm_.arc archived log for thread 1 with sequence 10 is already on disk as file /u01/app/oracle/fast_recovery_area/ENMOEDU/archivelog/2016_03_13/o1_mf_1_10_cg9onn02_.arc archived log for thread 1 with sequence 11 is already on disk as file /u01/app/oracle/fast_recovery_area/ENMOEDU/archivelog/2016_03_13/o1_mf_1_11_cg9onog0_.arc archived log for thread 1 with sequence 12 is already on disk as file /u01/app/oracle/fast_recovery_area/ENMOEDU/archivelog/2016_03_13/o1_mf_1_12_cg9onp7p_.arc archived log file name=/u01/app/oracle/fast_recovery_area/ENMOEDU/archivelog/2016_03_13/o1_mf_1_8_cg9o32xp_.arc thread=1 sequence=8 archived log file name=/u01/app/oracle/fast_recovery_area/ENMOEDU/archivelog/2016_03_13/o1_mf_1_9_cg9o43cm_.arc thread=1 sequence=9 archived log file name=/u01/app/oracle/fast_recovery_area/ENMOEDU/archivelog/2016_03_13/o1_mf_1_10_cg9onn02_.arc thread=1 sequence=10 media recovery complete, elapsed time: 00:00:01 Finished recover at 13-MAR-16
RMAN> restore datafile 3;
Starting restore at 13-MAR-16 using channel ORA_DISK_1
channel ORA_DISK_1: restoring datafile 00003 input datafile copy RECID=5 STAMP=906374545 file name=/u01/app/oracle/fast_recovery_area/ENMOEDU/datafile/o1_mf_undotbs1_cg9nwjpk_.dbf destination for restore of datafile 00003: /u01/app/oracle/oradata/enmoedu/undotbs01.dbf channel ORA_DISK_1: copied datafile copy of datafile 00003 output file name=/u01/app/oracle/oradata/enmoedu/undotbs01.dbf RECID=0 STAMP=0 Finished restore at 13-MAR-16
RMAN> recover datafile 3;
Starting recover at 13-MAR-16 using channel ORA_DISK_1
starting media recovery
archived log for thread 1 with sequence 8 is already on disk as file /u01/app/oracle/fast_recovery_area/ENMOEDU/archivelog/2016_03_13/o1_mf_1_8_cg9o32xp_.arc archived log for thread 1 with sequence 9 is already on disk as file /u01/app/oracle/fast_recovery_area/ENMOEDU/archivelog/2016_03_13/o1_mf_1_9_cg9o43cm_.arc archived log for thread 1 with sequence 10 is already on disk as file /u01/app/oracle/fast_recovery_area/ENMOEDU/archivelog/2016_03_13/o1_mf_1_10_cg9onn02_.arc archived log for thread 1 with sequence 11 is already on disk as file /u01/app/oracle/fast_recovery_area/ENMOEDU/archivelog/2016_03_13/o1_mf_1_11_cg9onog0_.arc archived log for thread 1 with sequence 12 is already on disk as file /u01/app/oracle/fast_recovery_area/ENMOEDU/archivelog/2016_03_13/o1_mf_1_12_cg9onp7p_.arc archived log file name=/u01/app/oracle/fast_recovery_area/ENMOEDU/archivelog/2016_03_13/o1_mf_1_8_cg9o32xp_.arc thread=1 sequence=8 archived log file name=/u01/app/oracle/fast_recovery_area/ENMOEDU/archivelog/2016_03_13/o1_mf_1_9_cg9o43cm_.arc thread=1 sequence=9 archived log file name=/u01/app/oracle/fast_recovery_area/ENMOEDU/archivelog/2016_03_13/o1_mf_1_10_cg9onn02_.arc thread=1 sequence=10 media recovery complete, elapsed time: 00:00:00 Finished recover at 13-MAR-16 SQL> startup ORACLE instance started.
Total System Global Area 830930944 bytes Fixed Size 2257800 bytes Variable Size 536874104 bytes Database Buffers 285212672 bytes Redo Buffers 6586368 bytes Database mounted. Database opened. 现在我们的数据库已经起来了; 下面我们查看一下控制文件和数据文件头部是否同步; SQL> select FILE#,NAME,CHECKPOINT_CHANGE# from v$datafile;
FILE# ---------- NAME -------------------------------------------------------------------------------- CHECKPOINT_CHANGE# ------------------ 1 /u01/app/oracle/oradata/enmoedu/system01.dbf 1031442
2 /u01/app/oracle/oradata/enmoedu/sysaux01.dbf 1031442
FILE# ---------- NAME -------------------------------------------------------------------------------- CHECKPOINT_CHANGE# ------------------
3 /u01/app/oracle/oradata/enmoedu/undotbs01.dbf 1031442
4 /u01/app/oracle/oradata/enmoedu/users01.dbf
FILE# ---------- NAME -------------------------------------------------------------------------------- CHECKPOINT_CHANGE# ------------------ 1031442
5 /u01/app/oracle/oradata/enmoedu/example01.dbf 1027456
SQL> select FILE#,NAME,CHECKPOINT_CHANGE# from v$datafile_header;
FILE# ---------- NAME -------------------------------------------------------------------------------- CHECKPOINT_CHANGE# ------------------ 1 /u01/app/oracle/oradata/enmoedu/system01.dbf 1031442
2 /u01/app/oracle/oradata/enmoedu/sysaux01.dbf 1031442
FILE# ---------- NAME -------------------------------------------------------------------------------- CHECKPOINT_CHANGE# ------------------
3 /u01/app/oracle/oradata/enmoedu/undotbs01.dbf 1031442
4 /u01/app/oracle/oradata/enmoedu/users01.dbf
FILE# ---------- NAME -------------------------------------------------------------------------------- CHECKPOINT_CHANGE# ------------------ 1031442
5 /u01/app/oracle/oradata/enmoedu/example01.dbf 1027456 由此可以看出数据问价头部和控制文件是同步的;
|
|
8 |
CKPT: 控制文件记录着数据文件最后一次被写的时间; ckpt通知dbwr进程,赶紧把内存中的赃数据写到数据文件中,同时跟新数据文件头和控制文件; 检查点被记录的地方(数据文件头部和控制文件); 检查点的目的-----把赃数据写到数据文件中;保证数据一致性;减少实例恢复; 检查点队列:redo.log中的一个链。 检查点队列(检查点只是一个数据库事件,它存在的根本意义在于减少崩溃恢复时间),在BH中有一个ckptq项,双向链表. (1)只有脏块才会在检查点队列中,非脏块的ckptq为空。 (2)当块首次被更改时,块会立即被加进检查点队列。 如果检查点队列中的脏块再次被修改,并不会改变其在 检查点队列中的位置。 (3)检查点队列中脏块的排列顺序:根据第2点,所有脏块按照首次被更改的时间的顺序排列。 更准确点说:按 照块的lrba排列。
|
|
9 |
快速恢复区; SQL> show parameter db_recovery;
NAME TYPE VALUE ------------------------------------ ----------- ------------------------------ db_recovery_file_dest string /u01/app/oracle/fast_recovery_ area db_recovery_file_dest_size big integer 4182M SQL> alter system set db_recovery_file_dest_size=5000m;-------设置快速恢复区的大小;
System altered. SQL> show parameter db_recovery;
NAME TYPE VALUE ------------------------------------ ----------- ------------------------------ db_recovery_file_dest string /u01/app/oracle/fast_recovery_ area db_recovery_file_dest_size big integer 5000M SQL> alter system reset db_recovery_file_dest='u01/junxiao';---------如果想要修改快速恢复区的位置,必须是reset,而不是set;
|
|
|
|
|
|
|
来自 “ ITPUB博客 ” ,链接:http://blog.itpub.net/30606702/viewspace-2058423/,如需转载,请注明出处,否则将追究法律责任。
转载于:http://blog.itpub.net/30606702/viewspace-2058423/
&spm=1001.2101.3001.5002&articleId=100374395&d=1&t=3&u=2e725da7b05c4fa494fe47235b0cb635)
8342

被折叠的 条评论
为什么被折叠?



