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

Giáo trình Kiến trúc và Quản trị Oracle 9i_3

Chia sẻ: Thao Thao | Ngày: | Loại File: PDF | Số trang:19

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

Tham khảo tài liệu 'giáo trình kiến trúc và quản trị oracle 9i_3', công nghệ thông tin, hệ điều hành phục vụ nhu cầu học tập, nghiên cứu và làm việc hiệu quả

Chủ đề:
Lưu

Nội dung Text: Giáo trình Kiến trúc và Quản trị Oracle 9i_3

  1. www.updatesofts.com Hình v 19. Các m c truy c p view h th ng 5.6.1. M t s views c n quan tâm Dynamic Performance View Di n gi i V$PARAMETER Thông tin v các tham s kh i t o V$SGA Thông tin t ng h p v SGA V$OPTION Các tuỳ ch n cho Oracle server ã ư c cài t V$PROCESS Thông tin v các ho t ng c a process hiên th i V$SESSION Thông tin v session V$VERSION Thông tin v phiên b n c a các thành ph n Oracle V$INSTANCE Thông tin v tr ng thái c a Instance hi n th i V$THREAD Thông tin v các thread trong h th ng V$CONTROLFILE Li t kê tên c a các control files V$DATABASE Thông tin v database V$DATAFILE Thông tin v các data file ư c s d ng V$DATAFILE_HEADER Thông tin header c a các data file ư c s d ng V$LOGFILE Thông tin v các online redo log files 5.6.2. Hi n th giá tr c a các thông s h th ng Ta có th xem thông tin h th ng b ng hai cách: S d ng l nh xem tham s c a Server manager. SVRMGRL> SHOW PARAMETER control Truy xu t tr c ti p vào view h th ng SELECT name, type from v$control WHERE name like ‘%control%’; V i hai cách trên ta u thu ư c m t k t qu : ORACLE 9i – Ki n trúc và Qu n tr Trang 58
  2. www.updatesofts.com SVRMGR> SHOW PARAMETER control NAME TYPE VALUE ------------------------------- ------- -------------------- control_file_record_keep_time integer 7 control_files string /DISK1/control01.con 5.6.3. Tham s h th ng ng (có th thay i) Trong các tham s h th ng, có m t vài tham s là ng và ta có th thay i ư c các tham s này. Thông qua các l nh: ALTER SESSION: ch thay i giá tr c a các tham s trong session hi n th i ALTER SYSTEM: thay i giá tr trong toàn b h th ng nói chung. ALTER SYSTEM DEFERRED: ch thay i tham s h th ng c a các session s k t n i vào database sau này, k t sau th i i m thay i. Cú pháp: ALTER SESSION SET parameter_name = value ALTER SYSTEM SET parameter_name = value [DEFERRED] Ví d : ALTER SESSION SET SQL_TRACE=true; ALTER SYSTEM SET TIMED_STATISTICS=true; ALTER SYSTEM SET SORT_AREA_SIZE=131072 DEFERRED; Xem l i thông tin mà ta v a thay i: SVRMGR> SELECT isses_modifiable,issys_modifiable, 3> ismodified, name 2> FROM v$system_parameter 4> WHERE ismodified != 'FALSE'; ISSES ISSYS_MOD ISMODIFI NAME ----- --------- -------- ------------------------------ TRUE IMMEDIATE MODIFIED timed_statistics 1 row selected. 5.6.4. Qu n lý session Restrict session Restrict session c n thi t khi b o trì cơ s d li u, import, export và s a i c u trúc c a database. Ta có th t ch cho restrict session cho database thông qua l nh: ALTER SYSTEM {ENABLE|DISABLE}RESTRICTED SESSION V i: ENABLE RESTRICTED ch cho phép các users có quy n RESTRICTED SESSION truy nh p DISABLE RESTRICTED SESSION cho phép t t c các users truy nh p vào database ORACLE 9i – Ki n trúc và Qu n tr Trang 59
  3. www.updatesofts.com K t thúc session Ta có th k t thúc (Terminate) các session c a m t Instance ã trong ch restrict, trư c khi th c hi n các thao tác qu n tr . Cú pháp: ALTER SYSTEM KILL SESSION ’integer1,integer2’ V i: KILL SESSION tên session c n k t thúc integer1 giá tr c a c t SID trong view v$session integer2 giá tr c a c t SERIAL# trong view v$session Chú ý: hai giá tr integer1 và integer2 dùng xác nh session V i l nh KILL SESSION background process PMON s th c hi n các công vi c sau: Rollback transaction hi n th i c a user Gi i phóng t t c các lock trên các table th c hi n b i user ó Gi i phóng các tài nguyên s d ng b i user 5.6.5. Trace file và ALERT file Trace file lưu tr các thao tác b i background process. Các thông tin v l i trong h th ng s ư c lưu vào ây. i u này là r t h u ích khi th c hi n dò tìm và kh c ph c l i x y ra trong h th ng. Trong khi ch y Oracle Instance, t t c các message phát ra i v i h th ng u ư c lưu vào Alert file. Trong quá trình kh i ng database, Oracle s t t o ra Alert file n u nó chưa t n t i. Trong trư ng h p có l i x y ra, các background process s th c hi n ghi l i các thông tin dump vào trace file. Ta có th t l i ch ghi l i ra trace file thông qua l nh: SQL>ALTER SESSION SET sql_trace=TRUE; ư ng d n t i các trace file và Alert có th ư c ch ra b i các tham s : BACKGROUND_DUMP_DEST Xác nh nơi t c a các trace file và ALERT. USER_DUMP_DEST Xác nh nơi t o các trace files. MAX_DUMP_FILE_SIZE S lư ng block c a h i u hành quy nh kích thư c c a trace files. ORACLE 9i – Ki n trúc và Qu n tr Trang 60
  4. www.updatesofts.com Chương 6. DATA DICTIONARY, VIEWS VÀ PACKAGES 6.1.DATA DICTIONARY VÀ VIEWS 6.1.1. Data Dictionary Data dictionary hay t i n d li u h th ng là ph n r t quan tr ng trong Oracle database. ó là m t t p h p các table và các view s d ng cho vi c tham chi u n các thông tin liên quan t i database. Data dictionary ư c t o b i file script sql.bsq trong quá trình t o database. Data dictionary bao g m các thông tin trung tâm c a Oracle server. Data dictionary ư c Oracle server t ng c p nh t m i khi th c hi n l nh nh nghĩa d li u (Data Definition Language – DDL). Data dictionary t trong tablespace SYSTEM do User SYS qu n lý. Data dictionary bao g m hai lo i sau: Base tabes Data dictionary Views Hình v 20. Dictionarytrong database Base tables Thông tin trong data dictionary ư c xác nh t các thông tin có trong các base tables (b ng cơ s ). N i dung c a các b ng này do Oracle server c p nh t. User thu c database h u như không th c p nh t các thông tin này do chúng là các thông tin ã ư c chu n hoá và ư c mã hoá. Ví d : ta ch có th truy xu t t i các thông tin có trong b ng IND$ bi t ư c các thông tin v các indexes ã ư c nh nghĩa trong database, ho c l y các thông tin trong b ng OBJ$ bi t ư c các objects ã ư c nh nghĩa trong database. Ta không th s d ng các câu l nh thao tác d li u như INSERT, UPDATE, hay DELETE thay i n i dung thông tin trong các b ng cơ s m t cách tr c ti p ngo i tr b ng AUD$ (Xem thêm ph n ki m tra - Auditing). ORACLE 9i – Ki n trúc và Qu n tr Trang 61
  5. www.updatesofts.com Data Dictionary Views Data dictionary views ư c t o ra b i các câu l nh có trong file script catalog.sql. Các views này gi i mã và t ng h p các thông tin có trong các base tables. d dàng truy xu t các thông tin này, các data dictionary thư ng ư c t o các synonyms tương ng. Ph n l n các thông tin h th ng ư c User l y v t các data dictionary views hơn là l y tr c ti p t các base tables. 6.1.2. Data Dictionary views Hình v 21. Dictionary views Data dictionary views ư c phân ra làm ba lo i ch a các thông tin tương t nhau nhưng các m c khác nhau. Các lo i data dictionary views này ư c phân bi t b i các ti p u ng khác nhau. Ti p u ng USER Các views có ti p u ng USER ch a thông tin v các objects do User hi n th i s h u. Ví d : USER_TABLES s ch a thông tin v các b ng d li u c a User hi n th i. Ti p u ng ALL Các views có ti p u ng ALL ch a thông tin v các objects có th truy c p b i User hi n th i, bao g m c các i tư ng do User ó s h u và c các i tư ng khác mà User ư c gán quy n truy nh p. Ví d : ALL_TABLES s ch a thông tin v các b ng d li u mà User hi n th i có th truy nh p. Ti p u ng DBA Các views có ti p u ng DBA ch a thông tin v các objects có trong database. Các views này là c n thi t cho qu n tr viên database. M t User b t kỳ cũng có th xem ư c thông tin trong các views DBA n u user ó ư c c p quy n SELECT ANY TABLE. ORACLE 9i – Ki n trúc và Qu n tr Trang 62
  6. www.updatesofts.com Phân lo i m t s lo i views Tên View Di n gi i DICTIONARY Thông tin chung DICT_COLUMNS DBA_TABLES Thông tin liên quan t i các i tư ng c a User như: table, Column, Constraint,... DBA_OBJECTS DBA_LOBS DBA_TAB_COLUMNS DBA_CONSTRAINTS DBA_USERS Thông tin v m c quy n c a User DBA_SYS_PRIVS DBA_ROLES Tên View Di n gi i DBA_EXTENTS Tình hình c p phát không gian cho các i tư ng trong database. DBA_FREE_SPACE DBA_SEGMENTS DBA_ROLLBACK_SEGS Thông tin v c u trúc database DBA_DATA_FILES DBA_TABLESPACES DBA_AUDIT_TRAIL Các thông tin ki m tra DBA_AUDIT_OBJECTS DBA_AUDIT_OBJ_OPTS Ví d : l y các thông tin chung trong t i n d li u, ta có th truy v n trong Các views DICTIONARY ho c DICT_COLUMNS. SVRMGR>SELECT * 2> FROM dictionary 3> WHERE table_name LIKE ’%TABLE%’; TABLE_NAME COMMENTS -------------------- --------------------------------------- ALL_ALL_TABLES Description of all object and relational tables accessible to the user ALL_NESTED_TABLES Description of nested tables in tables accessible to the user ALL_OBJECT_TABLES Description of all object tables accessible to the user ALL_PART_TABLES ALL_TABLES Description of relational tables accessible to the user ALL_UPDATABLE_COLUMNS Descriptionofallupdatablecolumns DBA_ALL_TABLES Description of all object and relational tables in the database ORACLE 9i – Ki n trúc và Qu n tr Trang 63
  7. www.updatesofts.com DBA_NESTED_TABLES Description of nested tables contained in all tables DBA_OBJECT_TABLES Description of all object tables in the database ... Xây d ng dictionary views Sau khi t o database, ta truy c p vào database theo user: SYS và ch y các scripts: catalog.sql và catprog.sql t o các dictionary views. Thông thư ng, các scripts này n m trong thư m c: %ORACLE_HOME%\RDBMS80\ADMIN Catalog.sql CATALOG.SQL script dùng t o các view d a trên các base tables (b ng cơ s ) c a database. Các view này s ư c t o synonym (m t tên khác v i tên c a objects ư c dùng truy c p objects) tương ng d dàng truy v n các d li u t ó hơn. Scripts này còn g i t i các scripts khác t o các views và các i tư ng khác ph c v cho các ti n ích Server Manager, cho vi c ki m tra, cho các ti n ích Export và Import d li u,... Scripts STANDARD.SQL ư c g i n trong ó t o các môi trư ng PL/SQL tuân theo chu n. Ví d : Scripts t o m u giao ti p cho 01 hàm built-in có tên BITAND: function BITAND (LEFT binary_integer, RIGHT binary_integer) return binary_integer; Catproc.sql CATPROC.SQL script dùng t o các hàm PL/SQL, các packages PL/SQL s d ng trong RDBMS. Ngoài ra, CATPROC.SQL script còn t o Các views m r ng khác. 6.1.3. Sripts qu n tr Các scripts qu n tr ưc t trong thư m c: %ORACLE_HOME%\RDBMS80\ADMIN Các scripts này ư c phân nhóm và t trong t ng file riêng bi t. Các quy nh v tên có trong Script qu n tr Quy ư c Di n gi i Cat*.sql Các thông tin Catalog và t i n d li u Dbms*.sql Ph n khai báo (specification) c a các packages trong database Prvt*.plb Ph n thân cua packages ã ư c mã hoá và óng gói Utl*.sql Các views và table ti n ích trong database ORACLE 9i – Ki n trúc và Qu n tr Trang 64
  8. www.updatesofts.com 6.2.STORED PROCEDURES VÀ CÁC PACKAGES CHU N 6.2.1. Gi i thi u chung Stored procedures và các packages là các i tư ng trong database, ó là t p h p các o n mã l nh PL/SQL th c hi n m t ch c năng nào ó. Stored procedures bao g m c các procedures (th t c), functions (hàm) và các packages ư c vi t g p thành m t program unit ( ơn v chương trình). Stored procedures có th ư c t o và hu b i các l nh CREATE và DROP Hình v 22. Stored procedures và các Packages chu n L i ích c a Stored procedures Các Stored procedures ư c n p vào shared pool, do ó có th gi m b t vi c truy xu t ĩa khi th c hi n th t c. m b o an toàn cho d li u, ngăn không cho các users truy c p tr c ti p vào d li u mà ph i thông qua các th t c và hàm giao ti p ã ư c cung c p. Cho phép nhi u users có th cùng s d ng các b n sao c a Stored procedures th c hi n. 6.2.2. Stored procedures Stored procedures là các functions hay procedures ư c t o l p và lưu ngay trong dictionary gi ng như m t schema object. ây là t p h p các câu l nh SQL và PL/SQL. Sau khi Stored procedures ư c biên d ch, nó s ư c gán tên và có th th c hi n tr c ti p mà không c n ph i biên d ch l i thêm b t c m t l n nào n a. S d ng Stored procedures, ta có th n p tr c ti p vào ngay bi u th c thu c câu l nh SQL gi ng như là các hàm built-in có s n c a Oracle như UPPER hay SUBSTR. Các functions và procedures cho phép s d ng tham s dư i d ng tham s vào (IN) và tham s ra (OUT) ho c cũng có th s d ng tham s v a vào v a ra (IN OUT). Theo m c inh, các tham s ư c xác nh ch vào IN. ORACLE 9i – Ki n trúc và Qu n tr Trang 65
  9. www.updatesofts.com 6.2.3. Packages chu n M t packages thông thư ng g m hai ph n: specification (ph n c t hay còn g i là ph n khai báo) và body (ph n thân). Chúng ư c lưu riêng bi t trong cùng m t database. Ph n specification là ph n giao ti p v i các ng d ng. Ph n này ch a các l i khai báo, các ki u, bi n, h ng, exceptions, cursors, và các khai báo hàm s d ng. Ph n body là ph n cài t c th (implementation) c a các khai báo trong ph n specification. Ch c năng c a packages cũng tương t như Stored procedures. M t khi packages ư c biên d ch, packages ó có th ư c s d ng b i nhi u ng d ng khác nhau. Tuy nhiên, có m t l i ích l n nh t khi s d ng packages là ngay l n u tiên g i n packages, toàn b packages s ư c n p vào trong b nh . Hình v 23. Packages trong cơ s d li u 6.2.4. Gi i thi u m t s packages chu n do Oracle cung c p Oracle cung c p m t s packages chu n, ngay sau khi t o database: DBMS_LOB: cung c p các th t c cho phép làm vi c trên ki u d li u BLOB và CLOB, ư c nh nghĩa trong file script catprog.sql. DBMS_SESION: cung c p các câu l nh SQL liên quan n session như ALTER SESSION, SET ROLE, ... packages này ư c nh nghĩa trong file dbmsutil.sql và prvtutil.sql t trong file dbmsutil.sql và DBMS_UTILITY: ch a các th t c ti n ích, ưc prvtutil.sql DBMS_SPACE: cung c p các thông tin v kho ng tr ng c a segment. DBMS_ROWID: cung c p các thông tin v ROWID DBMS_SHARE_POOL: lưu tr và hu b các thông tin có trong share pool. Packages Th t c trong packages Di n gi i DBMS_SESSION SET_ROLE Kích ho t vi c th c hi n Roles c a user ORACLE 9i – Ki n trúc và Qu n tr Trang 66
  10. www.updatesofts.com SET_SQL_TRACE Thi t l p ch dò tìm th c hi n l nh SET_NLS Ch n chu n h tr ngôn ng CLOSE_DATABASE_LINK óng database link. UNIQUE_SESSION_ID Tr v mã duy nh t c các session hiên ang connect t i database. IS_ROLE_ENABLED Xác inh xem role có ư c kích ho t trong session không. IS_SESSION_ALIVE Xác nh xem session có còn hay không. SET_CLOSE_CACHED_OPEN_CU Bt ho c tt RSORS close_cached_open_cursors FREE_UNUSED_USER_MEMORY Gi i phóng vùng b nh không còn s d ng DBMS_UTILITY ANALYZE_SCHEMA Phân tích các objects trong schema như: functions, procedures, packages, triggers,.. COMPILE_SCHEMA Biên d ch các objects trong schema DB_VERSION Xác nh phiên b n c a database DBMS_ROWID ROWID_INFO Thông tin v dòng d li u DBMS_SPACE UNUSED_SPACE Vùng không gian không s d ng FREE_BLOCKS Các blocks r i DBMS_SHARED_P KEEP Lưu tr các object trong shared OOL pool UNKEEP Thôi lưu gi các object SIZES Kích thư c b nh trong shared pool DBMS_SQL OPEN_CURSOR Tr v s hi u cursor (ID number) PARSE Phân tích câu l nh BIND_VARIABLE Binds m t giá tr bi n. BIND_ARRAY Binds m t giá tr bi n m ng. EXECUTE Function Executes a given cursor. EXECUTE_AND_FETCH Th c hi n l nh và l y v các dòng d li u. FETCH_ROWS L y v các dòng d li u c a m t cursor. COLUMN_VALUE L y v d li u c a c t IS_OPEN Xác nh Cursor ã m hay chưa. ORACLE 9i – Ki n trúc và Qu n tr Trang 67
  11. www.updatesofts.com CLOSE_CURSOR óng cursor và gi i phóng b nh . LAST_ERROR_POSITION Tr v l i th c hi n câu l nh SQL LAST_ROW_COUNT Tr v s lư ng dòng d li u l y v LAST_ROW_ID Tr v mã dòng d li u x lý ROWID LAST_SQL_FUNCTION_CODE Tr v mã hàm SQL 6.2.5. Package DBMS_METADATA M t PL/SQL package m i, DBMS_METADATA, ư c ưa vào Oracle 9i cho phép ta l y ư c các siêu d li u (metadata) – Các thông tin t ng h p v các schema object. DBMS_METADATA là package m i b sung, nó cho phép th c hi n các thao tác DDL trên objects trong database. Package này làm vi c ư c v i các tables, indexes, views, packages, functions, procedures, triggers, synonyms, và types. DBMS_METADATA có các hàm cơ b n: DBMS_METADATA.GET_DDL(object_type, name, schema) DBMS_METADATA.GET_XML(object_type, name, schema) Ví d : SELECT DBMS_METADATA.GET_DDL(‘TABLE’, ‘EMP’, ‘SCOTT’) from dual; CREATE TABLE "SCOTT"."EMP" ( "EMPNO" NUMBER(4,0), "ENAME" VARCHAR2(10), "JOB" VARCHAR2(9), "MGR" NUMBER(4,0), "HIREDATE" DATE, "SAL" NUMBER(7,2), "COMM" NUMBER(7,2), "DEPTNO" NUMBER(2,0), CONSTRAINT "PK_EMP" PRIMARY KEY ("EMPNO") USING INDEX PCTFREE 10 INITRANS 2 MAXTRANS 255 STORAGE(INITIAL 65536 NEXT 1048576 MINEXTENTS 1 MAXEXTENTS 2147483645 PCTINCREASE 0 FREELISTS 1 FREELIST GROUPS 1 BUFFER_POOL DEFAULT) TABLESPACE "USERS" ENABLE, CONSTRAINT "FK_DEPTNO" FOREIGN KEY ("DEPTNO") REFERENCES "SCOTT"."DEPT" ("DEPTNO") ENABLE NOVALIDATE ) PCTFREE 10 PCTUSED 40 INITRANS 1 MAXTRANS 255 LOGGING STORAGE(INITIAL 65536 NEXT 1048576 MINEXTENTS 1 MAXEXTENTS 2147483645 PCTINCREASE 0 FREELISTS 1 FREELIST GROUPS 1 BUFFER_POOL DEFAULT) TABLESPACE "USERS" ORACLE 9i – Ki n trúc và Qu n tr Trang 68
  12. 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
  13. 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
  14. 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
  15. 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
  16. 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
  17. 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
  18. 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
  19. 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
ADSENSE

CÓ THỂ BẠN MUỐN DOWNLOAD

 

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