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ị- P7

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

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

Control file là file thông tin dạng nhị phân được sử dụng cho việc khởi tạo và vận hành database một cách hiệu quả. Mỗi khi instance được MOUNT (gắn) với một Oracle database, các thông tin trong control file sẽ được đọc ra, từ đó xác định các data files và các online redo log files

Chủ đề:
Lưu

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

  1. www.updatesofts.com SELECT DBMS_METADATA.GET_XML(‘TABLE’, ‘EMP’, ‘SCOTT’) from dual; 1 0 5543 5543 5543 25 SCOTT EMP 1 1 2147483645 128 0 … 6.2.6. Package dbms_redefinition Package này cung c p 05 th t c cho phép ch nh s a các objects online . CAN_REDEF_TABLE START_REDEF_TABLE FINISH_REDEF_TABLE ABORT_REDEF_TABLE SYNC_INTERIM_TABLE 6.3.THÔNG TIN V CÁC STORED PROCEDURES Khi lưu tr các Stored procedures hay packages, Oracle s t ng lưu l i tr ng thái c a nó là VALID hay INVALID. VALID: Stored procedures hay packages có tr ng thái là VALID n u nó ã ư c biên d ch và không có l i x y ra. Khi này, nó s n sàng cho vi c s d ng. INVALID: là tr ng thái ngư c l i v i tr ng thái VALID. Stored procedures hay Packages v n còn l i khi biên d ch. Khi này, ta chưa th s d ng ư c ngay. Cú pháp l nh yêu c u biên d ch l i Stored procedures: ALTER PROCEDURE [schema_name]. COMPILE [DEBUG]; V i: schema_name tên schema ch a procedure c n biên d ch l i ORACLE 9i – Ki n trúc và Qu n tr Trang 69
  2. www.updatesofts.com procedure_name tên c a procedure biên d ch l i. COMPILE ch nh yêu c u biên d ch l i procedure DEBUG ch nh chương trình biên d ch mã l nh PL/SQl c a procedure s sinh mã l nh phù h p chương trình PL/SQL debugger có th c. User có th s d ng chương trình này dò tìm và g l i cho procedure. Ví d : ALTER PROCEDURE henry.close_acct COMPILE; Tương t như i v i procedure, cú pháp l nh yêu c u biên d ch l i Stored function có d ng: ALTER FUNCTION [schema_name]. COMPILE [DEBUG]; Ví d : ALTER FUNCTION merriweather.get_bal COMPILE; i v i package, l nh yêu c u biên d ch l i cũng tương t nhưng có thêm m t b sung là user ph i khai báo rõ t ng ph n c a package s ư c biên d ch l i. Cú pháp: ALTER PACKAGE [schema_name]. COMPILE [DEBUG] ; Các khai báo b sung cho phép user yêu c u biên d ch l i ph n SPECIFICATION hay ph n BODY ho c là biên d ch l i c hai ph n trên. Ví d : ALTER PACKAGE blair.accounting COMPILE PACKAGE; Ho c: ALTER PACKAGE blair.accounting COMPILE BODY; xác nh ư c tr ng thái c a các Stored procedures, ta có th th c hi n truy v n d a trên dictionary DBA_OBJECTS. SVRMGR> SELECT object_name, object_type, status 2> FROM dba_objects WHERE object_name like ’DBMS_%’ OBJECT_NAME OBJECT_TYPE STATUS -------------------- --------------- -------- DBMS_ALERT PACKAGES VALID DBMS_ALERT PACKAGES BODY VALID DBMS_ALERT_INFO TABLE VALID DBMS_APPLICATION_INF PACKAGES VALID DBMS_APPLICATION_INF PACKAGES BODY VALID DBMS_AQ PACKAGES VALID DBMS_AQ PACKAGES BODY VALID ... Ho c ta cũng có th s d ng l nh DESCRIBE l y thông tin SVRMGR> DESCRIBE dbms_session.set_role procedure SET_ROLE (ROLE_CMD VARCHAR2); ORACLE 9i – Ki n trúc và Qu n tr Trang 70
  3. www.updatesofts.com svrmgr> describe dbms_session packages dbms_session is ------------ -- OVERVIEW -- This packages provides access to SQL "alter session" -- statements, and other session information from, stored -- procedures. ---------------------------- -- PROCEDURES AND FUNCTIONS procedure set_role(role_cmd varchar2); -- Equivalent to SQL "SET ROLE ...". -- Input arguments: -- role_cmd -- This text is appended to "set role " and then executed as -- SQL. procedure set_sql_trace(sql_trace boolean); -- Equivalent to SQL "ALTER SESSION SET SQL_TRACE ..." -- Input arguments: -- sql_trace -- TRUE or FALSE. Turns tracing on or off. procedure set_nls(param varchar2, value varchar2); Stored procedures hay Packages nh n tr ng thái INVALID khi các câu l nh trong Stored procedures hay Packages b l i. ORACLE 9i – Ki n trúc và Qu n tr Trang 71
  4. www.updatesofts.com Chương 7. QU N TR CONTROL FILES 7.1.CONTROL FILES 7.1.1. Gi i thi u control file Control file là file thông tin d ng nh phân ưcs d ng cho vi c kh i t o và v n hành database m t cách hi u qu . M i khi instance ư c MOUNT (g n) v i m t Oracle database, các thông tin trong control file s ư c c ra, t ó xác nh các data files và các online redo log files. Control file ư c c p nh t liên t c vào database trong su t quá trình s d ng và nó luôn tr ng thái s n sàng (available) m i khi database ư c OPEN (m ) hay ư c MOUNT (g n) v i instance. Control file cung c p các thông tin m t cách ng nh t trong database ư c s d ng trong quá trình khôi ph c (recovery). M i control file t i m t th i i m ch ph c v cho m t database. Khi ã có m t database s d ng control file thì các database khác s không th truy c p t i control file ó n a. 7.1.2. Cách th c t tên control file Tên control file ư c xác nh trong tham s CONTROL_FILES c a parameter file. Tên c a các control files ư c t phân cách b i d u ph y (,). Instance ph c v database s m các control file và l y các thông tin t ó có th i u khi n ho t ng c a database. Trong quá trình ho t ng, Instance cũng s ghi l i các tình tr ng c a database. m b o an toàn, m t database c n ít nh t 02 control files và ư c t t i hai ch khác nhau. Các control files nên ư c t tên khác nhau sao cho có th phân bi t d dàng. Tên c a Control files nên ư c t kèm v i tên c a database cho d nh , như sau: CTL.ORA V i: n là s th t c a control file database_name tên c a database Trong parameter file, các tên c a control files ư c t phân cách nhau b i các d u ph y. Ví d : control_files = (“C:\ORANT\DATABASE\CTL1KTKB.ORA”, ”C:\ORANT\DATABASE\CTL2KTKB.ORA”) 7.1.3. K t h p nhi u control files Khi t o database, ta có th s d ng cùng lúc nhi u control files thông qua vi c ch rõ tên các control files trong tham s kh i t o CONTROL_FILES. Oracle server t o và c p nh t t t c danh sách các file liên quan m i khi t o database. Oracle khuy n cáo s d ng ít nh t 02 control files. Các control files nên ư c t riêng bi t trên các ĩa khác nhau phòng s c . N u m t control file b h ng, ta có th sao chép l i file này r i kh i ng l i instance. ORACLE 9i – Ki n trúc và Qu n tr Trang 72
  5. www.updatesofts.com Hình v 24. K t h p s d ng nhi u control file thêm m i m t control file ho c thay i s lư ng cũng như nơi t các control file, ta th c hi n theo các bư c sau: 1. Shutdown database. 2. S d ng l nh c a h i u hành sao chép thêm m t b n sao c a control file và nên lưu tr trên m t thi t b khác. 3. S a i ho c thêm m i tham s CONTROL_FILES và tên (có ư ng d n) tương ng v i các control files. 4 . Kh i ng l i database. 7.1.4. N i dung c a control file Các thông tin ch a trong control file bao g m: Tên database và các nh danh (identifications) Tên và nơi ch a các data files, các redo log files Tên các tablespaces trong database Nhãn th i gian tương ng lúc t o database Giá tr s hi u c a log sequence hi n th i Thông tin v checkpoint Các thông tin l ch s (log history) Các thông tin sao lưu c a ti n ích Recovery Manager ORACLE 9i – Ki n trúc và Qu n tr Trang 73
  6. www.updatesofts.com Hình v 25. N i dung control file Control file có th ư c chia làm hai lo i chính: Có th tái s d ng (reused) Không th tái s d ng (unreused) 7.1.5. Các tham s nh hư ng t i kích thư c c a control file Có m t s tham s h th ng liên quan t i kích thư c c a control file MAXLOGFILES MAXLOGMEMBERS MAXLOGHISTORY MAXDATAFILES MAXINSTANCES Các control files ư c xác nh t ng d a theo các tham s kh i t o t i th i i m t o l p database: CONTROL_FILES = (“C:\ORANT\DATABASE\CTL1KTKB.ORA”, ”C:\ORANT\DATABASE\CTL2KTKB.ORA”) Tên file kèm theo ư ng d n ư c t luôn trong tham s t o database. Các tham s ư c ch ra trong database có nh hư ng t i control file. Qu n tr viên database có th t o l i các control file hay thay i các tham s trong database có th tăng, gi m kích thư c c a control file. Vi c t o m i control file òi h i ph i thay i kích thư c c a control file. Control file lưu tr các thông tin c n thi t cho Recovery Manager. Vì th , khi s d ng Recovery Manager nh ng ph n không tái s d ng ư c trong control file có th ư c m r ng d a theo s lư ng các thành ph n. 7.2.QU N TR CONTROL FILE 7.2.1. T o m i control file Vi c t o m i control files i v i database ôi khi là c n thi t. Ta hãy xét các tình hu ng: T t c các control files c a database hi n th i u b l i và ta không có b n backup c a chúng. ORACLE 9i – Ki n trúc và Qu n tr Trang 74
  7. www.updatesofts.com Ta mu n thay i m t hay nhi u tham s ư c thi t l p i v i database mà các tham s này ư c ch ra ngay t câu l nh CREATE DATABASE như tên database, MAXLOGFILES, MAXLOGMEMBERS, MAXLOGHISTORY, MAXDATAFILES, và MAXINSTANCES. Ví d , ta mu n i tên database kh i x y ra xung t v i m t database ang có trong h th ng nhưng trùng tên. Ta có th t o m i control file cho m t database thông qua câu l nh SQL. Cú pháp: CREATE CONTROLFILE [REUSE] [SET] DATABASE database LOGFILE [GROUP integer] filespec [, [GROUP integer] filespec] ... {RESETLOGS | NORESETLOGS} DATAFILE filespec [, filespec] ... [MAXLOGFILES integer] [MAXLOGMEMBERS integer] [MAXLOGHISTORY integer] [MAXDATAFILES integer] [MAXINSTANCES integer] [ARCHIVELOG | NOARCHIVELOG] V i: REUSE Cho bi t CONTROL_FILES có th ư c tái s d ng, ta không c n quan tâm t i các tham s thu c lo i tuỳ ch n. SET DATABASE Thay i tên c a database. Lưu ý: DATABASE Tên c a database. LOGFILE danh sách tên c a các redo log file groups MAXLOGFILES S lư ng t i a các redo log file groups MAXLOGMEMBERS S lư ng t i a các members trong m t redo MAXLOGHISTORY S lư ng t i a các archived redo log file groups MAXDATAFILES S lư ng t i a các datafiles MAXINSTANCES S lư ng t i a các instances có th k t n i t i database. ARCHIVELOG Thi t l p ch archiving lưu tr các redo log files Ví d : CREATE CONTROLFILE SET DATABASE prod LOGFILE GROUP 1 ('logfile1A', 'logfile1B') SIZE 50K, GROUP 2 ('logfile2A', 'logfile2B') SIZE 50K NORESETLOGS DATAFILE 'datafile1' SIZE 3M, 'datafile2' SIZE 5M MAXLOGFILES 50 MAXLOGMEMBERS 3 ORACLE 9i – Ki n trúc và Qu n tr Trang 75
  8. www.updatesofts.com MAXDATAFILES 200 MAXINSTANCES 6 ARCHIVELOG; 7.2.2. T o m i control file cho m t database ã có s n Vi c t o m i control file ư c th c hi n theo các bư c sau: 1. Thi t l p danh sách các datafiles và online redo log files s d ng trong database. Trong trư ng h p backup database, ta có th d dàng xác nh ư c danh sách các file này d a vào thông tin trong dictionary view: V$CONTROLFILE, V$DATAFILE, V$LOGFILE. Trong trư ng h p database b l i, qu n tr viên database c n c g ng xác nh y các datafiles và online redo log files. N u thi u b t kỳ m t trong s các file trên thì tablespace SYSTEM s không th khôi ph c l i ư c và do ó ta không th khôi ph c l i ư c database. 2. Shut down (t t) database n u nó ang ư c m . Th c hi n shut down ch normal. Trong trư ng h p không th t t normal ư c thì hãy t t database theo ch IMMEDIATE ho c ABORT. 3. Sao lưu (Backup) t t c các datafiles và online redo log files c a database. 4. Startup instance tr l i ch nomount. 5. T o m i control file thông qua l nh t o CONTROL FILES. Khi t o m i control file, s d ng tuỳ ch n RESETLOGS n u database b m t b t kỳ m t nào online redo log groups. Trong trư ng h p này ta c n khôi ph c l i các redo logs b m t. Ngư c l i, ta s d ng tuỳ ch n NORESETLOGS. 6. Sao lưu control file m i t o. 7. S a i các tham s trong parameter file mà có s d ng n trong các control files bao g m tham s CONTROL_FILES và DB_NAME. 8. Th c hi n khôi ph c database n u c n. Ta s b qua bư c này trong trư ng h p không c n ph i khôi ph c database. N u control file m i t o có s d ng tuỳ ch n NORESETLOGS, thì ta có th khôi ph c l i toàn b database. Trong trư ng h p tuỳ ch n s d ng là RESETLOGS, ta c n ch ra thêm m t tuỳ ch n n a là USING BACKUP CONTROL FILE. Th t c này s th c hi n khôi ph c l i các online ho c archived redo logs ho c datafiles. 9. Open database v i control file v a t o. N u không th c hi n recovery thì có th open database ch normally. 10. N u có s d ng RESETLOGS trong lúc t o control file, thì c n s d ng thêm câu l nh ALTER DATABASE , v i tuỳ ch n RESETLOGS. 7.2.3. M t s l i i v i các Control Files Sau khi th c hi n l nh CREATE CONTROLFILE, ta có th ta g p m t s l i cơ b n sau: Thi u file Sau khi t o m t control file và s d ng nó m database, ki m tra alert log bi t li u Oracle có xác nh ư c có thông tin gì không ng nh t gi a data dictionary và control file hay không? Ví d như datafile có kèm theo c data dictionary nhưng không có danh sách các data dictionary i kèm. N u m t datafile ã t n t i trong data dictionary nhưng chưa có trong control file m i t o, Oracle s t o m t placeholder entry trong control file v i tên là MISSINGnnnn (trong ó nnnn là m t con s vi t dư i d ng th p phân). ORACLE 9i – Ki n trúc và Qu n tr Trang 76
  9. www.updatesofts.com Ta xét hai trư ng h p có th x y ra như sau: S d ng tuỳ ch n RESETLOGS trong câu l nh CREATE CONTROLFILE s cho phép m database mà không c n t i tuỳ ch n RESETLOGS. i u này ch có th x y ra n u t t c các online redo logs ang trong tình tr ng s n sàng. S d ng tuỳ ch n RESETLOGS trong câu l nh CREATE CONTROLFILE b t bu c ph i m database cùng v i tuỳ ch n RESETLOGS, datafile tương ng v i MISSINGnnnn ch ch c hay OFFLINE. Khi m database có s d ng tuỳ ch n RESETLOGS, và MISSINGnnnn tương ng v i datafile không ch ch c hay offline, ta s không th truy xu t vào datafile ó. Trong trư ng h p này, tablespace ch a datafile c n ư c hu b (DROP). X lý l i x y ra i v i l nh CREATE CONTROLFILE Oracle g i tr v mã l i(các mã l i hay x y ra là ORA-01173, ORA-01176, ORA-01177, ORA-01215 ho c ORA-01216) khi ta c g ng th c hi n mount và open database sau khi t o m i m t control file. Tình hu ng hay x y ra nh t là trong câu l nh CREATE CONTROLFILE mà ta quên m t file ho c có ưa vào tên file nhưng nó v n chưa có trong danh sách. Trong trư ng h p này, ta c n ph i khôi ph c (RESTORE) l i các files ã ư c backup bư c 3 (phía trên) và l p l i các th t c bư c 4 (phía trên) lưu ý s d ng úng tên các files. 7.2.4. Hu b Control Files Ta có th hu b các control files kh i database. Ví d , ta th c hi n vi c này khi ư ng d n t i các control file không còn phù h p n a. Có m t i u lưu ý là t i b t kỳ th i i m nào database cũng c n ph i có ít nh t là 2 control files. Các bư c th c hi n 1. Shut down (t t) database. 2. S a l i tham s CONTROL_FILES trong parameter file, xoá tên control file cũ và thay vào ó tên control file m i. 3. Restart (kh i ng l i) database. ORACLE 9i – Ki n trúc và Qu n tr Trang 77
  10. www.updatesofts.com 7.3.THÔNG TIN TR NG THÁI C A CONTROL FILES Ta có th xem ư c các thông tin v control file d a trên dictionary views có trong database. Ví d : SVRMGR> SELECT name 2>FROM v$controlfile; NAME ----------------------- /DISK1/control01.con /DISK2/control02.con 2 rows selected. SVRMGR> SELECT value 2>FROM v$parameter WHERE name =’control_files’; VALUE ------------------------ /DISK1/control01.con /DISK2/control02.con 2 rows selected. V$CONTROLFILE_RECORD_SECTION ch a các thông tin v các section. Ví d : SVRMGR>SELECT type, record_size, records_total, records_used 2> FROM v$controlfile_record_section 3> WHERE type=’DATAFILE’; TYPE RECORD_SIZ RECORDS_TO RECORDS_US ------------- ---------- ---------- ---------- DATAFILE 180 30 4 1 row selected. C t d li u RECORDS_TO ch ra s lư ng các b n ghi ư c c p phát cho m t section. ORACLE 9i – Ki n trúc và Qu n tr Trang 78
ADSENSE

CÓ THỂ BẠN MUỐN DOWNLOAD

 

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