Oracle-21-聯機日誌文件管理

日誌相關介紹......


查看日誌的工作狀態信息

select * from v$log;
GROUP#	THREAD#	SEQUENCE#      BYTES	BLOCKSIZE  MEMBERS   ARCHIVED	STATUS	   FIRST_CHANGE#	FIRST_TIME	NEXT_CHANGE#	      NEXT_TIME
1	1	52	      52428800	  512	      2	        NO	CURRENT	     1314820	     2018/5/3 02:38:18	281474976710655 	
2	1	50	      52428800	  512	      2	        NO	INACTIVE     1295249	     2018/5/2 13:56:43	1311962	          2018/5/3 01:01:09
3	1	51	      52428800	  512	      2	        NO	ACTIVE	     1311962	     2018/5/3 01:01:09	1314820	          2018/5/3 02:38:18


Elapsed: 00:00:00.03


查看日誌文件物理信息

select * from v$logfile;
    GROUP# STATUS  TYPE    MEMBER                                                                 IS_
---------- ------- ------- ---------------------------------------------------------------------- ---
         3         ONLINE  +DATA/sundb/onlinelog/group_3.263.974086789                            NO
         3         ONLINE  +FLASH/sundb/onlinelog/group_3.259.974086789                           YES
         2         ONLINE  +DATA/sundb/onlinelog/group_2.262.974086785                            NO
         2         ONLINE  +FLASH/sundb/onlinelog/group_2.258.974086787                           YES
         1         ONLINE  +DATA/sundb/onlinelog/group_1.261.974086783                            NO
         1         ONLINE  +FLASH/sundb/onlinelog/group_1.257.974086785                           YES

6 rows selected.

Elapsed: 00:00:00.01


切換日誌文件

alter system switch logfile;
GROUP#	THREAD#	SEQUENCE#	BYTES	BLOCKSIZE  MEMBERS  ARCHIVED	STATUS	  FIRST_CHANGE#	  FIRST_TIME	   NEXT_CHANGE#	        NEXT_TIME
1	  1	  52	      52428800	  512	     2	      NO	INACTIVE     1314820	2018/5/3 2:38:18     1314948	       2018/5/3 2:44:24
2	  1	  53	      52428800	  512	     2	      NO	CURRENT	     1314948	2018/5/3 2:44:24     281474976710655	
3	  1	  51	      52428800	  512	     2	      NO	INACTIVE     1311962	2018/5/3 1:01:09     1314820	       2018/5/3 2:38:18

查看日誌切換歷史數據

select to_char(first_time,'yyyymmddhh24'),count(1) from v$log_history group by to_char(first_time,'yyyymmddhh24') order by to_char(first_time,'yyyymmddhh24');
TO_CHAR(FI   COUNT(1)
---------- ----------
2018042203          3
2018042205          1
2018042301          1
2018042723          1
2018050122          1
2018050212         10
2018050213         33
2018050301          1
2018050302          1

9 rows selected.

Elapsed: 00:00:00.01

Oracle建議日誌切換時間爲15分鐘到30分鐘

調整日誌切換頻率:增加組的數量、增加成員的大小

  查看日誌成員

select * from v$logfile;
GROUP#	STATUS	TYPE	               MEMBER	                        IS_RECOVERY_DEST_FILE
3		ONLINE	+DATA/sundb/onlinelog/group_3.263.974086789	        NO
3		ONLINE	+FLASH/sundb/onlinelog/group_3.259.974086789	        YES
2		ONLINE	+DATA/sundb/onlinelog/group_2.262.974086785	        NO
2		ONLINE	+FLASH/sundb/onlinelog/group_2.258.974086787	        YES
1		ONLINE	+DATA/sundb/onlinelog/group_1.261.974086783	        NO
1		ONLINE	+FLASH/sundb/onlinelog/group_1.257.974086785	        YES
alter database add logfile '+DATA/' size 100m;
select * from v$log;
GROUP#	THREAD#	SEQUENCE#	BYTES	BLOCKSIZE  MEMBERS   ARCHIVED	STATUS	FIRST_CHANGE#	  FIRST_TIME	    NEXT_CHANGE#	NEXT_TIME
1	1	52	      52428800	  512	     2         NO      INACTIVE	1314820	       2018/5/3 2:38:18	      1314948	      2018/5/3 2:44:24
2	1	53	      52428800	  512	     2         NO      CURRENT	1314948	       2018/5/3 2:44:24	  281474976710655	
3	1	51	      52428800	  512	     2         NO      INACTIVE	1311962	       2018/5/3 1:01:09	      1314820	      2018/5/3 2:38:18
4	1	0	      104857600	  512	     1         YES      UNUSED	0		      0	
alter database add logfile member '+FLASH/' to group 4;
select * from v$logfile;
GROUP#	STATUS	TYPE	              MEMBER	                      IS_RECOVERY_DEST_FILE
3		ONLINE	+DATA/sundb/onlinelog/group_3.263.974086789	     NO
3		ONLINE	+FLASH/sundb/onlinelog/group_3.259.974086789	     YES
2		ONLINE	+DATA/sundb/onlinelog/group_2.262.974086785	     NO
2		ONLINE	+FLASH/sundb/onlinelog/group_2.258.974086787	     YES
1		ONLINE	+DATA/sundb/onlinelog/group_1.261.974086783	     NO
1		ONLINE	+FLASH/sundb/onlinelog/group_1.257.974086785	     YES
4		ONLINE	+DATA/sundb/onlinelog/group_4.275.975121115	     NO
4	INVALID	ONLINE	+FLASH/sundb/onlinelog/group_4.260.975121483	     NO

刪除成員

alter database drop logfile member '+FLASH/sundb/onlinelog/group_4.260.975121483';
GROUP#	STATUS	TYPE	              MEMBER	                      IS_RECOVERY_DEST_FILE
3		ONLINE	+DATA/sundb/onlinelog/group_3.263.974086789	     NO
3		ONLINE	+FLASH/sundb/onlinelog/group_3.259.974086789	     YES
2		ONLINE	+DATA/sundb/onlinelog/group_2.262.974086785	     NO
2		ONLINE	+FLASH/sundb/onlinelog/group_2.258.974086787	     YES
1		ONLINE	+DATA/sundb/onlinelog/group_1.261.974086783	     NO
1		ONLINE	+FLASH/sundb/onlinelog/group_1.257.974086785	     YES
4		ONLINE	+DATA/sundb/onlinelog/group_4.275.975121115	     NO

刪除日誌組

alter database drop logfile group 4;
GROUP#	STATUS	TYPE	              MEMBER	                      IS_RECOVERY_DEST_FILE
3		ONLINE	+DATA/sundb/onlinelog/group_3.263.974086789	     NO
3		ONLINE	+FLASH/sundb/onlinelog/group_3.259.974086789	     YES
2		ONLINE	+DATA/sundb/onlinelog/group_2.262.974086785	     NO
2		ONLINE	+FLASH/sundb/onlinelog/group_2.258.974086787	     YES
1		ONLINE	+DATA/sundb/onlinelog/group_1.261.974086783	     NO
1		ONLINE	+FLASH/sundb/onlinelog/group_1.257.974086785	     YES

刪除成員的限制:當前組不能刪,每組最後一個成員不能刪,

刪除組的限制:當前組不能刪,活動組不能刪,如果數據庫只剩下兩組日誌,任何一組都不能被刪除

由於redo log在切換的時候就會把數據覆蓋掉,如果想把數據庫的改變記錄下來,可以使用數據庫的歸檔模式,在歸檔模式下,當聯機日誌進行切換的時候,當前組的內容都會被歸檔進程做一個鏡像備份並生成歸檔文件。

將數據庫變爲歸檔模式

查看當前數據庫歸檔信息

archive log list
Database log mode              No Archive Mode
Automatic archival             Disabled
Archive destination            USE_DB_RECOVERY_FILE_DEST
Oldest online log sequence     51
Current log sequence           53

正常關閉數據庫

shut immediate

啓動數據庫到MOUNT狀態

startup mount

將數據庫更改爲歸檔模式

alter database archivelog;

打開數據庫

alter database open;

查看歸檔信息

archive log list
Database log mode              Archive Mode
Automatic archival             Enabled
Archive destination            USE_DB_RECOVERY_FILE_DEST
Oldest online log sequence     51
Next log sequence to archive   53
Current log sequence           53

切換日誌文件,生成歸檔文件

alter system switch logfile;
select sequence#,name from v$archived_log;
SEQUENCE#	                         NAME
53	    +FLASH/sundb/archivelog/2018_05_03/thread_1_seq_53.260.975122575
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章