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

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

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

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.

Chủ đề:
Lưu

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

  1. 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
  2. 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
  3. 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
  4. 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
  5. 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
  6. 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
  7. 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
  8. 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
  9. 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
  10. 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
ADSENSE

CÓ THỂ BẠN MUỐN DOWNLOAD

 

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