intTypePromotion=1
zunia.vn Tuyển sinh 2024 dành cho Gen-Z zunia.vn zunia.vn
ADSENSE

Oracle9i Kiến thức và quản trị- P8

Chia sẻ: Cong Thanh | Ngày: | Loại File: PDF | Số trang:10

89
lượt xem
10
download
 
  Download Vui lòng tải xuống để xem tài liệu đầy đủ

Oracle server sử dụng các online redo log files để giảm thiểu việc mất mát dữ liệu trong database. Redo log files ghi lại tất cả các thay đổi trong database buffer cache trừ một vài ngoại lệ ghi dữ liệu trực tiếp

Chủ đề:
Lưu

Nội dung Text: Oracle9i Kiến thức và quản trị- P8

  1. www.updatesofts.com Chương 8. QU N LÝ REDO LOG FILES 8.1.S D NG CÁC REDO LOG FILES 8.1.1. Redo log file Oracle server s d ng các online redo log files gi m thi u vi c m t mát d li u trong database. Redo log files ghi l i t t c các thay i trong database buffer cache tr m t vài ngo i l ghi d li u tr c ti p. Redo log files ư c s d ng n khi instance g p s c và ta mu n khôi ph c l i các d li u ã commit nhưng chưa k p ghi lên data files. Redo log files ch ư c s d ng trong trư ng h p khôi ph c d li u. Qu n tr viên c n thi t l p các b n sao các online redo log files c a database tránh vi c m t mát thông tin trong database do vi c s d ng m t file duy nh t. Hình v 26. Nhóm các redo log 8.1.2. Online Redo Log Groups Là nhóm các b n sao riêng bi t c a các online redo log files ư c g i là online redo log group. Background process LGWR th c hi n vi c ghi ng th i các thông tin tương t nhau vào các member thu c cùng m t group. Khi m t group y s ti p t c chuy n sang ghi d li u trên group ti p theo. Oracle server, thông thư ng, c n ít nh t 02 online redo log file groups có th v n hành m t database. 8.1.3. Online Redo Log Members M i m t online redo log file trong m t group ư c g i là m t member (thành viên). M i member trong m t nhóm có m t s th t (log sequence numbers) phân bi t và các member này có cùng m t kích thư c. S th t ư c gán m i khi Oracle server b t u ghi d li u vào log group có th phân bi t ư c các redo log file duy nh t. S log sequence number ư c lưu tr trong control file và trong ph n header c a t t c các data files. ORACLE 9i – Ki n trúc và Qu n tr Trang 79
  2. www.updatesofts.com 8.1.4. N i dung c a Online Redo Log Files (Members) Online redo log files lưu tr các redo records hay còn ư c g i là các redo entries. M i redo record là m t nhóm các change vectors (vector thay i d li u), trong ó m i vector c trưng cho m t s thay i trên m t block d li u thu c database. Ví d , khi ta thay i giá tr lương trong b ng employee, Oracle s t o ra m t redo record lưu tr l i vi c thay i d li u c a data segment block, rollback segment block và transaction table tương ng v i thay i d li u nói trên. Các redo entries lưu tr l i các d li u t ó ta có th tái t o l i các thay i d li u trong database, bao g m c rollback segments. Khi th c hi n ph c h i (recover) database s d ng redo data, Oracle s c các change vectors có trong các redo records r i áp các thay i này vào các blocks tương ng. Các redo records ư c lưu tr trong b nh m SGA. M i khi th c hi n commit m t transaction, LGWR s ghi l i các redo records c a transaction ó t các redo log buffer thu c SGA vào m t online redo log file, và gán m t s hi u system change number (SCN) cho transaction ã ư c commit ó. Chi khi các redo records thu c transaction ã ư c lưu tr an toàn trên ĩa thì user process m i ư c nh n thông báo: transaction has been committed. Các redo records có th ư c ghi vào online redo log file trư c khi transaction tương ng ư c commit. Khi redo log buffer y, ho c khi transaction commit, LGWR s y t t c các redo log entries trong redo log buffer ra online redo log file, ngay c khi redo records có th chưa ư c commit khi c n, Oracle có th khôi ph c (roll back) l i các thay i này. 8.1.5. Active và Inactive Online Redo Log Files T i m i m t th i i m, Oracle ch s d ng m t trong s các online redo log files lưu tr các redo records có trong redo log buffer. Online redo log file ó tr ng thái s n sàng cho vi c ghi d li u, nó ư c g i là current online redo log file. Các online redo log files c n thi t cho vi c khôi ph c instance ư c g i là active online redo log files. Trái l i, các online redo log files không c n thi t cho vi c khôi ph c instance ư c g i là inactive. Khi qu n tr viên database t ch enable archiving, Oracle s không th tái s d ng hay è lên các active online log file cho t i khi ARCn lưu tr h t các n i dung c a nó. Trong ghi trư ng h p disable archiving, khi online redo log file cu i cùng ư c i n y, vi c lưu ra file s ư c ti p t c th c hi n i v i active file u tiên. 8.1.6. Thi t l p các Redo Log Files kh i t o Vi c kh i t o ban u t p h p các online redo log file bao g m các groups và các members ư c th c hi n trong quá trình t o database. Các tham s dư i ây xác nh các gi i h n và s lư ng c a online redo log files: Tham s MAXLOGFILES trong l nh CREATE DATABASE xác nh s lư ng t i a các online redo log groups. S lư ng t i a cho MAXLOGFILES là 255. Tham s MAXLOGMEMBERS trong l nh CREATE DATABASE quy nh s lư ng t i a các members có trong m i group. Tham s kh i t o LOG_FILES xác nh s lư ng t i a các log groups có th ư c m trong database t i th i i m hi n th i. Giá tr này không ư c vư t quá giá tr MAXLOGFILES*MAXLOGMEMBERS. ORACLE 9i – Ki n trúc và Qu n tr Trang 80
  3. www.updatesofts.com 8.2.LGWR, LOG SWITCHES VÀ CHECKPOINTS Hình v 27. T ch c các redo log files 8.2.1. Redo Log Buffer và Background process LGWR Oracle Server s tu n t ghi l i các thay i i v i database có trong redo log buffer. Redo log buffer ư c s d ng theo ki u xoay vòng. Theo ó, các redo entries s ư c tiên trình n n LGWR ghi vào m t trong các online redo log groups g i là online redo log group hi n th i (current) theo các tình hu ng sau: Khi commit m t transaction Khi redo log buffer ã y Khi LGWR vư t quá th i gian timeout (3 giây) Trư c khi DBWR ghi các blocks b thay i trong database buffers cache vào trong các data files Các members trong m t redo log group ư c ti n trình LGWR ghi lên ó v i cùng m t n i dung d li u. Cho nên không có khác bi t gi a các members trong m t log group mà ch có s khác nhau gi a các members các log group khác nhau. 8.2.2. Log Switches LGWR ghi d li u lên các online redo log files m t cách tu n t , t c là m i khi online redo log group ư c ghi y, LGWR s l i chuy n sang ghi lên group ti p theo. Khi online redo log file cu i cùng ư c ghi y, LGWR s l i quay tr v online redo log group u tiên và l i b t u quá trình ghi. Log switch là s ki n x y ra khi LGWR d ng vi c ghi trên m t online redo log group và chuy n sang ghi trên online redo log group khác. Qu n tr viên database cũng có th th c hi n các log switches b ng tay. M i khi x y ra log switch, LGWT s ghi d li u lên log group m i và nó gán m t s hi u duy nh t xác nh ư c các redo entries v a lưu gi . M i khi x y ra s ki n log switch ng th i m t s ki n checkpoint cũng s ư c kh i t o. ORACLE 9i – Ki n trúc và Qu n tr Trang 81
  4. www.updatesofts.com 8.2.3. Checkpoints Khi có checkpoints thì: T t c các d li u trong database buffers ã b thay i, tính cho n th i i m x y ra checkpoint, s ư c Background process DBWR ghi lên datafiles. Background process CKPT c p nh t ph n headers c a các data files và các control files. Checkpoints có th x y ra i v i t t c các data files trong database ho c cũng có th x y ra v i m t data files c th . Checkpoint x y ra theo các tình hu ng sau: M i khi có log switch Khi m t shut down m t instance v i các ch tr ch abort X y ra theo như th i gian quy nh trong các tham s kh i to LOG_CHECKPOINT_INTERVAL và LOG_CHECKPOINT_TIMEOUT Khi có yêu c u tr c ti p c a qu n tr viên Thông tin v checkpoint ư c lưu tr trong Alert file trong trư ng h p các tham s kh i t o LOG_CHECKPOINTS_TO_ALERT ư c t là TRUE. Và ngư c l i v i giá tr FALSE. 8.3.LÊN K HO CH S D NG REDO LOG FILES 8.3.1. Xác nh s lư ng Online redo log files xác nh s lư ng các online redo log files s d ng cho phù h p v i database ta c n ph i ki m tra v i nhi u c u hình khác nhau. Trong m t s trư ng h p, m t database instance ch c n t i 02 groups. Tuy nhiên, trong m t s trư ng h p khác, m t database instance l i có th c n t i nhi u groups hơn có th luôn m b o có các groups s n dùng cho LGWR. Ví d , khi các thông i p ghi trong trace file hay Alert file cho bi t LGWR thư ng xuyên ph i ch m t group do v n chưa k t thúc ư c checkpoint, ho c do group v n chưa ư c lưu tr (archived) thì lúc này là lúc ta c n thêm m i các groups. M c dù Oracle server cho phép s d ng nhi u groups v i s lư ng members trong nó là khác nhau, ta v n nên c g ng xây d ng m t c u hình cân i (s lư ng các members trong các group nên là b ng nhau). 8.3.2. Nơi t các Online Redo Log Files Khi s d ng ng th i nhi u online redo log files, ta nên t các members c a m t group trên các ph n ĩa khác nhau. M t i u lưu ý là khi m t member nào ó không s n dùng (available) mà các members khác là s n dùng thì instance cũng không th shut down ư c. Vi c tách bi t các archive log files và online redo log files trên các ph n ĩa khác nhau, có th làm gi m b t xung t gi a các background process ARCH và LGWR. Các data files và online redo log files nên t trên các ph n ĩa khác nhau gi m b t xung t gi a LGWR và DBWR h n ch vi c m t d li u c data files và online redo log files trong trư ng h p h ng ĩa. ORACLE 9i – Ki n trúc và Qu n tr Trang 82
  5. www.updatesofts.com 8.3.3. Xác nh kích thư c cho các Online Redo Log Files Kích thư c t i thi u c a m t online redo log file là 50 K còn kích thư c t i a thì tuỳ thu c vào h i u hành. Các members thu c các groups khác nhau có th có các kích thư c khác nhau; Tuy nhiên ta nên t kích thư c gi ng nhau gi a các members này. Vi c s d ng các groups có kích thư c khác nhau ch nên th c hi n m t cách t m th i khi ta mu n thay i kích thư c c a các members. Trong trư ng h p này, ta c n t o các online redo log groups m i v i kích thư c khác, r i sau ó lo i b (remove) các groups cũ i. M t s tình hu ng nh hư ng t i c u hình c a các online redo log files: S lư ng các log switches và checkpoints S lư ng và l n c a các redo entries l n c a vùng không gian lưu tr th c p 8.3.4. Lưu tr các redo log files Qu n tr viên database c n ph i quy t nh t ch ARCHIVELOG hay ch NOARCHIVELOG cho database. Ch NOARCHIVELOG V i ch NOARCHIVELOG, các online redo log files s b ghi è m i khi online redo log file ã ghi y và x y ra log switches. LGWR s không ghi è lên redo log group cho t i khi k t thúc checkpoint c a group ó Hình v 28. Lưu tr d li u ch NOARCHIVING Ch ARCHIVELOG Trong trư ng h p database ư c thi t l p ch ARCHIVELOG, các groups ã y, m c dù tr ng thái inactive s v n ư c lưu gi . Do t t c các thay i trong database u ư c ghi l i trong các online redo log files, qu n tr viên database có th s d ng phương pháp sao chép v t lý (physical backup) và có th khôi ph c l i các d li u ã commit trong database mà không s b m t d li u. ORACLE 9i – Ki n trúc và Qu n tr Trang 83
  6. www.updatesofts.com Hình v 29. Lưu tr d li u ch ARCHIVING Có hai hình th c lưu tr các online redo log files: Th c hi n lưu tr b ng tay (manually). Lưu tr các redo log file ã y theo l nh c a qu n tr viên database. Lưu tr t ng (automatically). Lưu tr các redo log file ã y m i khi x y ra log switch. Tham s LOG_ARCHIVE_START trong parameter file xác nh các ch lưu tr này. LOG_ARCHIVE_START = TRUE, th c hi n lưu tr ch t ng LOG_ARCHIVE_START = FALSE, th c hi n lưu tr ch manually 8.4. I U KHI N LU TR SAU I V I PRIMARY/STANDBY Oracle cung c p cơ ch i u khi n switch các online redo log group d a theo th i gian (time-based). Trong c u hình primary/standby, t t c các noncurrent logs t i primary site s ư c lưu tr r i v n chuy n t i standby database. Vi c này s hi u qu khi h n ch s lư ng các redo records. Vi c th c hi n lưu tr sau là vì standby database cho t t c các thay i trên online redo log t i primary database ư c lưu tr sau. i u khi n vi c lưu tr sau này, ta c n s d ng tham s ARCHIVE_LAG_TARGET. Vi c thi t l p tham s này cho phép ta h n ch , cũng như xác nh ư c kho ng th i gian ư c s d ng cho lưu tr sau. 8.4.1. Thi t l p tham s ARCHIVE_LAG_TARGET Khi thi t l p tham s kh i t o ARCHIVE_LAG_TARGET, Oracle s ki m tra theo nh kỳ th i gian các online redo log c a instance hi n th i và phát sinh các log switch theo các i u ki n sau: u, current log ư c t o sau n giây và sau ó l i m t m giây Gi s ban lưu current log ra ĩa. Khi này kho ng th i gian n + m s tương ng v i giá tr c a tham s ARCHIVE_LAG_TARGET. Current log ch a các redo records. ORACLE 9i – Ki n trúc và Qu n tr Trang 84
  7. www.updatesofts.com Tham s ARCHIVE_LAG_TARGET cho bi t gi i h n trên v th i gian (tính theo ơn v giây) mà current log c n s d ng. Do th i gian lưu tr không chính xác b ng kho ng th i gian log switch. Tham s kh i taon này nên ư c thi t l p v i giá tr kho ng 30 giây. ARCHIVE_LAG_TARGET = 1800 Giá tr 0 tương ng v i vi c không th c hi n ch c năng log switching. ây là giá tr thi t l p m c nh. Ta có th t giá tr cho tham s ARCHIVE_LAG_TARGET ngay c khi database không trong ch sao lưu (standby database). Ví d , tham s ARCHIVE_LAG_TARGET có th ư c thi t lp b t bu c các logs ph i th c hi n thao tác switch và lưu tr lên ĩa. ARCHIVE_LAG_TARGET là m t tham s ng và ta có th thay i giá tr c a tham s này thông qua câu l nh ALTER SYSTEM SET. 8.4.2. Các y u t nh hư ng t i tham s ARCHIVE_LAG_TARGET Có m t s y u t c n ư c xem xét khi ta thi t l p giá tr cho tham s ARCHIVE_LAG_TARGET. T ng th i gian switch (xem như là th i gian lưu tr ) các logs T n su t th c hi n switch các log khi nó y Lư ng d li u có th redo b m t khi database làm vi c ch standby Tham s ARCHIVE_LAG_TARGET s tr nên không h u d ng khi log ư c switch trong m t kho ng th i gian quá ng n. Tuy nhiên, trong trư ng h p các redo ư c t o ra v i t c không u như nhau, thì kho ng th i gian ng t quãng (interval) s ưa ra gi i h n trên i v i current log. Khi database trong tr ng thái ngh (idle) và redo records không ư c t o ra thì, sau kho ng th i gian interval, log switch s x y ra và y và ghi t t c các redo records lên standby database. Trong trư ng h p ARCHIVE_LAG_TARGET ư c thi t l p v i giá tr quá th p thì cũng không t t cho h th ng v m t hi u su t. Là vì h th ng liên t c ph i th c hi n các log switches. Do v y ta nên ch n giá tr h p lý nâng cao hi u su t h th ng. 8.5.XÁC NH CH LU TR bi t ư c các thông tin v vi c lưu tr , ta có th s d ng m t s cách sau: 8.5.1. S d ng l nh Server Manager Câu l nh này cho bi t ch log c a database. Ví d : SVRMGR> ARCHIVE LOG LIST Database log mode No Archive Mode Automatic archival Disabled Archive destination ?/dbs/arch Oldest online log sequence 688 Current log sequence 689 ORACLE 9i – Ki n trúc và Qu n tr Trang 85
  8. www.updatesofts.com 8.5.2. S d ng thông tin trong data dictionary Ta cũng có th s d ng thông tin trong các data dictionary views: V$DATABASE và V$INSTANCE. Ví d : SVRMGR> SELECT name, log_mode 2> FROM v$database; NAME LOG_MODE --------- --------- U15 NOARCHIVELOG 1 row selected. SVRMGR> SELECT archiver 2> FROM v$instance; ARCHIVE --------- STOPPED 1 row selected. Ta cũng có th xem các thông tin liên quan n các groups và các members thông qua views data dictionary V$THREAD, V$LOG. Các thông tin c n quan tâm: V$THREAD: GROUPS, CURRENT_GROUP#, SEQUENCE# V$LOG: GROUP#, MEMBERS, STATUS, SEQUENCE#, BYTES Ví d : SVRMGR>SELECT groups, current_group#,sequence# 2>FROM v$thread; GROUPS CURRENT_GR SEQUENCE# ---------- ---------- ---------- 2 1 689 1 row selected. SVRMGR>SELECT group#,sequence#,bytes,members,status 2>FROM v$log; GROUP# SEQUENCE# BYTES MEMBERS STATUS --------- ---------- -------- --------- ------- 1 688 1048576 1 CURRENT 2 689 1048576 1 INACTIVE 2 rows selected. Trong câu lênh trên, giá tr c a c t STATUS ư c bi u hi n như sau: UNUSED ch ra online redo log group v n chưa ư c s d ng. Tr ng thái này tương ng v i vi c online redo log file m i ư c thêm vào. CURRENT ch ra r ng online redo log group ang ư c s d ng. Nó cũng ng m inh luôn tr ng thái active i v i các online redo log group này. ACTIVE: tr ng thái này ng v i the online redo log group v n ang ư c s d ng nhưng không ph i là online redo log group hi n th i. INACTIVE ch ra online redo log group không còn c n thi t cho vi c khôi ph c instance. ORACLE 9i – Ki n trúc và Qu n tr Trang 86
  9. www.updatesofts.com xác nh tên c a t t c các member trong m t group, ta có th tra c u thông tin trong V$LOGFILE: GROUP#, STATUS, MEMBER Ví d : SVRMGR>SELECT * 2>FROM v$logfile; GROUP# STATUS MEMBER ---------- ------- ----------------------------- 1 /DISK3/log1a.rdo 2 /DISK4/log2a.rdo 8.6. I U KHI N CÁC LOG SWITCHS VÀ CHECKPOINTS 8.6.1. Th c hi n log switches Log switches và checkpoint là các s ki n x y ra m t cách t ng m i khi online redo log group y. Tuy nhiên, ta v n có th phát sinh các Log switchs thông qua l nh c a Server Manager. SVRMGR>ALTER SYSTEM SWITCH LOGFILE; Trong Oracle Enterprise Manager – OEM, ta làm theo các bư c sau: 1. S d ng Backup Manager 2. Ch n Subsystem 3. Ch n Logfile --> Switch logfile 8.6.2. Th c hi n checkpoint Ta cũng có th phát sinh các Checkpoints thông qua l nh: SVRMGR>ALTER SYSTEM CHECKPOINT; Trong Oracle Enterprise Manager – OEM, ta làm theo các bư c sau: 1. S d ng Backup Manager 2. Ch n Subsystem 3. Ch n Logfile --> Force checkpoint 8.6.3. i u ch nh các ng t quãng checkpoints Trong trư ng h p database s d ng các online redo log files l n, ta có th i u ch nh l i các ng t quãng i v i online redo log file ó thông qua các tham s : LOG_CHECKPOINT_INTERVAL: S lư ng blocks (tính theo s block c a h iu hành) l n nh t th c hi n m t checkpoint LOG_CHECKPOINT_TIMEOUT: Kho ng th i gian l n nh t (tính theo ơn v giây) th c hi n m t checkpoint. ORACLE 9i – Ki n trúc và Qu n tr Trang 87
  10. www.updatesofts.com 8.7.QU N TR CÁC REDO LOG FILES 8.7.1. B sung các online redo log groups Trong m t vài trư ng h p, ta có th c n t i vi c n p thêm các log groups hay các log members. Cú pháp: ALTER DATABASE [database] ADD LOGFILE [GROUP integer] filespec [, [GROUP integer] filespec]...] Hình v 30. B sung online redo log groups V i câu l nh trên, ta c n ch ra tên và ư ng d n c a các members trong t ng group c th . Giá tr c a tham s GROUP ư c ch n tương ng v i m i redo log file group. Trong trư ng h p b qua tham s này, Oracle server s t ng sinh ra các giá tr thích h p. Trong Oracle Enterprise Manager – OEM, ta làm theo các bư c sau: 1. S d ng Backup Manager 2. Ch n Subsystem 3. Ch n Logfile --> Add Logfile Group ORACLE 9i – Ki n trúc và Qu n tr Trang 88
ADSENSE

CÓ THỂ BẠN MUỐN DOWNLOAD

 

Đồng bộ tài khoản
2=>2