D1-04数据字典入门(80页)_第1页
D1-04数据字典入门(80页)_第2页
D1-04数据字典入门(80页)_第3页
D1-04数据字典入门(80页)_第4页
D1-04数据字典入门(80页)_第5页
已阅读5页,还剩75页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、Oracle 9i/10g/11g常用数据字典入门赵元杰2012.82内容提要内容提要v数据字典构成v数据字典初步v动态视图初步v开发有关数据字典vDBA与性能视图3数据字典构成数据字典构成v概述:vOracle DBMS的重要信息 v管理所有对象、数据库的逻辑、物理结构的信息(元数据-metadata) v对DBA来说是最重要的工具, 对用户和开发人员也很重要 v基本数据字典创建:vCATALOG.SQL、CATPROC.SQL 运行PL/SQL创建基本数据字典脚本 ;v要以SYSDBA登录运行;v参考资料Oracle database reference中的:“Creating the D

2、ata Dictionary ”4数据字典构成数据字典构成v附加数据字典创建:v创建附加的数据字典:CATBLOCK.SQL - 建立动态显示视图 CATEXP7.SQL - 导出数据到Oracle7 . . .v创建附加的数据字典资料参考:vOracle database reference中的:“Creating Additional Data Dictionary Structures”v创建附加数据字典要以Sysdba登录;v脚本路径与名字/rdbms/admin5数据字典构成数据字典构成 v数据也称静态视图=Static Viewsv数据字典包含以下两个部分: v基表 l存储数据库的

3、说明l使用 CREATE DATABASE 命令创建 v数据字典视图 l用于简化基表信息l通过公共同义词访问l使用 catalog.sql 脚本创建 6数据字典内容数据字典内容 v数据字典提供有关以下方面的信息: v逻辑数据库结构和物理数据库结构v对象的定义和空间分配v完整性约束v用户v角色v权限v审计 7主要的数据字典主要的数据字典SELECT * FROM dictionary;TablesIndexesViewsUsersSchemasProcedures等等等等8数据字典视图数据字典视图-dictvDICTIONARY 数据字典: vDICTIONARY是存放数据字典的表vDICT是D

4、ICTIONARY的同义词SQL desc DICTIONARY 名称 是否为空? 类型 - - - TABLE_NAME VARCHAR2(30) COMMENTS VARCHAR2(4000)SQL desc dict 名称 是否为空? 类型 - - - TABLE_NAME VARCHAR2(30) COMMENTS VARCHAR2(4000)9数据字典视图数据字典视图-dictvDICTIONARY 数据字典: v查询DICTI SQLselect * from dict where table_name like USER_% 2* Order by Table_nameSQL /

5、TABLE_NAME COMMENTS- -USER_ADDM_FDG_BREAKDOWN.USER_ALL_TABLES Description of all object and relational tables owned by the usersUSER_AQ_AGENT_PRIVSUSER_ARGUMENTS Arguments in object accessible to the userUSER_ASSEMBLIES Description of the users own assembliesUSER_ASSOCIATIONS All assocations defined

6、 by the user.10内容提要内容提要v数据字典构成v数据字典初步v动态视图初步v开发有关数据字典vDBA与性能视图11数据字典所属用户数据字典所属用户 vOracle标准用户:vSYS: 数据字典与视图的所有者 (最高权限)vSYSTEM: 使用不同工具的表vPUBLIC: 虚构(“dummy”)用户; 拥有所有用户有的权限 v一般用户与数据字典 :v8i及以前版本:07_DICTIONARY_ACCESSIBLITY=TRUE ,普通用户也能访问SYS下的数据字典v9i 与10g : 07_DICTIONARY_ACCESSIBLITY=FALSE ,普通用户不能访问SYS下的数据

7、字典v你可设置初始化07_DICTIONARY_ACCESSIBLITY=TRUE 12数据字典数据字典命名命名v数据字典命名:vDBA_ 具有DBA角色可访问,包含所有用户的对象;vUSER_ 一般用户可访问,包含当前用户的对象;vALL_ 包含当前用户对象与其它用户授予访问的对象;v数据字典特点:vDBA_ /USER_ 内容以大写存储;vDBA_xxx/USER_xxx 以英语复数命名13数据字典数据字典内容的包含关系内容的包含关系 v数据字典包含关系:vDBA_xxx包含USER_xxx;v三种静态视图集v按范围分类为: lDBA:所有方案中的视图 lALL:用户可以访问的视图 lUS

8、ER:用户方案中的视图 USER_xxx 数据库中的所有对象数据库中的所有对象 ALL_xxx 当前用户可以访问的对象当前用户可以访问的对象 DBA_xxx 当前用户所拥有的对象当前用户所拥有的对象 14数据字典数据字典间依赖关系间依赖关系v数据字典之间存在依赖关系 vUSER_TABLES-存储表的基本数据:vUSER_TAB_COLUMNS-存储表的列的数据vUSER_CONSTRAINTS -存储表的约束. . .vUSER_INDEXES-存储索引的基本数据:vUSER_IND_COLUMNS-存储索引列的数据15数据字典数据字典 同义词同义词v数据字典同义词:v公共同义词(publi

9、c synonyms)v简化和方便查询vUSER_TABLES(=TABS) v同义词信息存储在:vDBA_SYNONYMSv直接查询这个数据字典1616/30数据字典数据字典 同义词同义词vOracle 系统数据字典与同义词: v查询数据字典与同义词对应关系:SQL desc dba_synonyms 名称 是否为空? 类型 - - - OWNER NOT NULL VARCHAR2(30) SYNONYM_NAME NOT NULL VARCHAR2(30) TABLE_OWNER VARCHAR2(30) TABLE_NAME NOT NULL VARCHAR2(30) DB_LINK

10、VARCHAR2(128)SQL col owner for a20SQL col synonym_name for a20SQL col table_owner for a20SQL col table_name for a26SQL select owner,synonym_name,table_owner,table_name from dba_synonyms 2 where table_name=USER_TABLES;OWNER SYNONYM_NAME TABLE_OWNER TABLE_NAME- - - - PUBLIC USER_TABLES SYS USER_TABLES

11、PUBLIC TABS SYS USER_TABLES1717/30数据字典数据字典 同义词同义词vOracle 系统数据字典与同义词: v查询数据字典与同义词对应关系:SQL select table_name,synonym_name from dba_synonyms 2* where Owner=PUBLIC order by owner,table_name;TABLE_NAME SYNONYM_NAME- -/1000323d_DelegateInvocationHa /1000323d_DelegateInvocationHa.TABLE_NAME SYNONYM_NAME- -

12、ABSPATH ABSPATHADM_RLMGR_PRIVILEGES ADM_RLMGR_PRIVILEGESALERT_TYPE ALERT_TYPE.USER_SYNONYMS SYNUSER_SYNONYMS USER_SYNONYMSUSER_SYS_PRIVS USER_SYS_PRIVSUSER_TABLES TABSUSER_TABLES USER_TABLESUSER_TABLESPACES USER_TABLESPACESUSER_TAB_COLS USER_TAB_COLSUSER_TAB_COLUMNS COLS.sun/util/calendar/ZoneInfoFi

13、le sun/util/calendar/ZoneInfoFile已选择27699行。1818/30数据字典数据字典 同义词同义词vOracle 系统数据字典与同义词: v数据字典与同义词名称对应:SQLselect table_name,synonym_name from dba_synonyms 2 where Owner=PUBLIC AND SUBSTR(table_name,1,3) in (ALL,DBA,USE) 3* order by owner,table_name;TABLE_NAME SYNONYM_NAME- -ALL$AW_CUBE_AGG_LEVELS ALL_AW

14、_CUBE_AGG_LEVELS.DBA_SYS_PRIVS DBA_SYS_PRIVSDBA_TABLES DBA_TABLES.TABLE_NAME SYNONYM_NAME- -USER_SYNONYMS SYNUSER_SYNONYMS USER_SYNONYMSUSER_SYS_PRIVS USER_SYS_PRIVSUSER_TABLES TABSUSER_TABLES USER_TABLES.USER_XML_TABLES USER_XML_TABLESUSER_XML_TAB_COLS USER_XML_TAB_COLSUSER_XML_VIEWS USER_XML_VIEWS

15、USER_XML_VIEW_COLS USER_XML_VIEW_COLS已选择1790行。1919/30数据字典数据字典 同义词同义词vOracle 系统 获取同义词创建脚本: v同义词创建脚本获取方法:SQL SELECT DBMS_METADATA.get_ddl (SYNONYM, t.synonym_name, t.owner) 2 from DBA_SYNONYMS t 3 where owner = PUBLIC AND SUBSTR(table_name,1,4) = USER 4* order by owner,table_nameSQL /DBMS_METADATA.GET

16、_DDL(SYNONYM,T.SYNONYM_NAME,T.OWNER)- CREATE OR REPLACE PUBLIC SYNONYM USER_ADDM_FDG_BREAKDOWN FOR SYS.USER_AD. CREATE OR REPLACE PUBLIC SYNONYM USER_XML_VIEW_COLS FOR SYS.USER_XML_VIE已选择467行。20内容提要内容提要v数据字典构成v数据字典初步v动态视图初步v开发有关数据字典vDBA与性能视图21Oracle 系统视图vOracle 系统视图:v动态性能视图=Dynamic Performance Views

17、v记录了数据库运行时信息和统计数据v多数动态性能视图被实时更新以反映数据库当前状态v态性能视图 可实时反映Oracle数据库的状态,为诊断性能和性能调整提供依据。vGV$ 和 V$视图:vGV$含义为Global V$(在RAC环境下使用)v每个V$视图都有一个对应的GV$视图存在22Oracle 系统视图vOracle 系统 动态性能视图:vV$. Oracle系统的视图Session dataWait eventsMemory allocationsRunning SQLUNDO usageOpen cursorsRedo log usageand so onOracle instance

18、23Oracle 系统视图vOracle 系统视图:vV$. Oracle系统的视图;vX$. Oracle系统的动态视图。v视图特点:vV$xxx/X$xxx大小写存储vV$xxx/X$xxx以英语单数命名24Oracle 系统视图vOracle 系统普通的动态性能视图:vV$. Oracle系统的视图25Oracle 系统视图vOracle 系统普通的动态性能视图:vV$. Oracle系统的视图SQL SELECT sql_text, executions FROM v$sql WHERE cpu_time 200000;SQL SELECT * FROM v$session WHERE

19、 machine = EDRSR9P1 and logon_time SYSDATE - 1;SQL SELECT sid, ctime FROM v$lock WHERE block 0;abc26Oracle 系统视图vOracle 系统 动态性能视图:vOracle系统 版本与动态视图个数27性能视图 分类vHigh Hvailability & Recoverability:vBackup/Archives/RecoveryvLogminervFlashback DatabasevStanby Database & DataGuardvSpecitic Technolo

20、gies:vOracle StreamsvOLAPvReplication/Materialized views28性能视图 分类vDatabase and Instance Performance:vCache/QueuesvOverall SystemvSession/Resource AllocationvCursors/SQL StatementsvLatches/LocksvMetricsvmultithreaded/shared Serversvrollback segments/system managed undo segmentsvparallel queryvI/O29开发

21、人员与数据字典开发人员与数据字典v查看表的存储扩展情况v查询user_extents 可看到每次扩展的大小: SQL SELECT SEGMENT_TYPE,segment_name, TABLESPACE_NAME, EXTENT_ID, BYTES, BLOCKS 2 FROM DBA_EXTENTS 3* WHERE OWNER = SCOTT;SEGMENT_TYPE SEGMENT_NAME TABLESPACE_NAME EXTENT_ID BYTES BLOCKS- - - - - -TABLE DEPT USERS 0 65536 8TABLE EMP USERS 0 1048

22、576 128TABLE EMP USERS 1 1048576 128TABLE SALGRADE USERS 0 65536 8TABLE AUDIT_EMP USERS 0 65536 8TABLE JOB_TST USERS 0 65536 8TABLE TEST USERS 0 65536 8INDEX PK_DEPT USERS 0 65536 8INDEX PK_EMP USERS 0 65536 8已选择9行。30性能视图 分类vDatabase and Instance Configurations:vDatabase /InstancevRedo LogsvSecurity

23、/PrivilegesvParametersvcontrol files31内容提要内容提要v数据字典构成v数据字典分类v开发有关数据字典vDBA与性能视图32开发人员与数据字典开发人员与数据字典v开发人员可查看USER_的数据字典v下表是基本的数据字典33USER_OBJECTS 与 ALL_OBJECTS vUSER_OBJECTS:v当前用户的对象信息v包括:lDate createdlDate of last modificationlStatus (valid or invalid)vALL_OBJECTS:v当前用户可访问的对象的信息34USER_OBJECTS v查看 用户对象信

24、息v建议 维护人员了解当前用户的对象类型: SQL conn scott/zhao_scott_123$已连接。已连接。SQL desc user_objects 名称名称 是否为空是否为空? 类型类型 - - OBJECT_NAME VARCHAR2(128) SUBOBJECT_NAME VARCHAR2(30) OBJECT_ID NUMBER DATA_OBJECT_ID NUMBER OBJECT_TYPE VARCHAR2(19) CREATED DATE LAST_DDL_TIME DATE TIMESTAMP VARCHAR2(19) STATUS VARCHAR2(7) TE

25、MPORARY VARCHAR2(1) GENERATED VARCHAR2(1) SECONDARY VARCHAR2(1) NAMESPACE NUMBER EDITION_NAME VARCHAR2(30)35USER_OBJECTS v查看 用户对象信息v建议 维护人员了解当前用户的对象类型: SQL col object_type for a20SQL col object_name for a26SQLSELECT object_name, object_type, created, status 2 FROM user_objects ORDER BY object_type ;

26、OBJECT_NAME OBJECT_TYPE CREATED STATUS- - - -EMP_FUN FUNCTION 17-3月月 -12 VALIDPK_EMP INDEX 30-3月月 -10 VALIDSYS_C0011170 INDEX 11-12月月-11 VALIDPK_INSURED_AUTOS INDEX 11-12月月-11 VALIDPK_DEPT INDEX 30-3月月 -10 VALIDBACKTRACE_DRAWBACK PACKAGE 27-3月月 -12 VALIDBACKTRACE_DRAWBACK PACKAGE BODY 27-3月月 -12 VAL

27、IDEMP_STAT PROCEDURE 17-3月月 -12 VALIDINSERT_JOB_TST PROCEDURE 29-3月月 -12 VALIDP PROCEDURE 27-3月月 -12 INVALIDLIST_EMP PROCEDURE 29-3月月 -12 VALID.已选择已选择23行。行。36USER_TABLES v查看 用户表的基本信息v只存储表的基本信息与属性数据v表的列信息user_tab_columnsv表的注释user_tab_comments: SQL desc user_tables 名称名称 是否为空是否为空? 类型类型 - - - TABLE_NAME

28、 NOT NULL VARCHAR2(30) TABLESPACE_NAME VARCHAR2(30) CLUSTER_NAME VARCHAR2(30) IOT_NAME VARCHAR2(30) STATUS VARCHAR2(8) PCT_FREE NUMBER PCT_USED NUMBER INITIAL_EXTENT NUMBER NEXT_EXTENT NUMBER MIN_EXTENTS NUMBER MAX_EXTENTS NUMBER PCT_INCREASE NUMBER FREELISTS NUMBER FREELIST_GROUPS NUMBER. NUM_ROWS

29、NUMBER BLOCKS NUMBER EMPTY_BLOCKS NUMBER AVG_SPACE NUMBER CHAIN_CNT NUMBER AVG_ROW_LEN NUMBER AVG_SPACE_FREELIST_BLOCKS NUMBER NUM_FREELIST_BLOCKS NUMBER.37USER_TABLES v查看 用户表的基本信息v查询表的基本信息: SQL col table_name for a20SQL col tablespace_name for a26SQL col INITIAL_EXTENT for 999,999,999SQL select tab

30、le_name,tablespace_name,INITIAL_EXTENT,PCT_FREE,PCT_USED 2 FROM USER_TABLES ;TABLE_NAME TABLESPACE_NAME INITIAL_EXTENT PCT_FREE PCT_USED- - - - -DEPT USERS 65,536 10BONUS USERS 10SALGRADE USERS 65,536 10TAB1 USERS 2,097,152 10TAB2 USERS 2,097,152 10AUDIT_EMP USERS 65,536 10JOB_TST USERS 65,536 10TES

31、T USERS 65,536 10MY_TAB USERS 10SUM_EMP TEMP 10 40EMP USERS 2,097,152 10已选择已选择11行。行。38USER_TAB_COLUMNS 列的信息 v表的列的信息v查询表的列详细信息: SQL desc USER_TAB_COLUMNS 名称名称 是否为空是否为空? 类型类型 - - - TABLE_NAME NOT NULL VARCHAR2(30) COLUMN_NAME NOT NULL VARCHAR2(30) DATA_TYPE VARCHAR2(106) DATA_TYPE_MOD VARCHAR2(3) DATA

32、_TYPE_OWNER VARCHAR2(30) DATA_LENGTH NOT NULL NUMBER DATA_PRECISION NUMBER DATA_SCALE NUMBER NULLABLE VARCHAR2(1) COLUMN_ID NUMBER DEFAULT_LENGTH NUMBER DATA_DEFAULT LONG NUM_DISTINCT NUMBER LOW_VALUE RAW(32) HIGH_VALUE RAW(32) DENSITY NUMBER NUM_NULLS NUMBER NUM_BUCKETS NUMBER LAST_ANALYZED DATE SA

33、MPLE_SIZE NUMBER CHARACTER_SET_NAME VARCHAR2(44) CHAR_COL_DECL_LENGTH NUMBER GLOBAL_STATS VARCHAR2(3) USER_STATS VARCHAR2(3) AVG_COL_LEN NUMBER CHAR_LENGTH NUMBER CHAR_USED VARCHAR2(1) V80_FMT_IMAGE VARCHAR2(3) DATA_UPGRADED VARCHAR2(3) HISTOGRAM VARCHAR2(15)39USER_TAB_COLUMNS 列的信息 v表的列的信息v查询表的列详细信息

34、: SQLSELECT column_name, data_type, data_length, 2 data_precision, data_scale, nullable 3 FROM user_tab_columns 4* WHERE table_name = EMPSQL /COLUMN_NAME DATA_TYPE DATA_LENGTH DATA_PRECISION DATA_SCALE NU- - - - - -EMPNO NUMBER 22 4 0 NENAME VARCHAR2 10 YJOB VARCHAR2 9 YMGR NUMBER 22 4 0 YHIREDATE D

35、ATE 7 YSAL NUMBER 22 7 2 YCOMM NUMBER 22 7 2 YDEPTNO NUMBER 22 2 0 Y已选择已选择8行。行。40USER_CONSTRAINTS表的约束信息 v表的约束的信息vUSER_CONSTRAINTS 当前用户表的约束信息: SQL set line 90SQL desc USER_CONSTRAINTS 名称名称 是否为空是否为空? 类型类型 - - - OWNER VARCHAR2(30) CONSTRAINT_NAME NOT NULL VARCHAR2(30) CONSTRAINT_TYPE VARCHAR2(1) TABLE_

36、NAME NOT NULL VARCHAR2(30) SEARCH_CONDITION LONG R_OWNER VARCHAR2(30) R_CONSTRAINT_NAME VARCHAR2(30) DELETE_RULE VARCHAR2(9) STATUS VARCHAR2(8) DEFERRABLE VARCHAR2(14) DEFERRED VARCHAR2(9) VALIDATED VARCHAR2(13) GENERATED VARCHAR2(14) BAD VARCHAR2(3) RELY VARCHAR2(4) LAST_CHANGE DATE INDEX_OWNER VAR

37、CHAR2(30) INDEX_NAME VARCHAR2(30) INVALID VARCHAR2(7) VIEW_RELATED VARCHAR2(14)41USER_CONSTRAINTS表的约束信息 v表的约束的信息vUSER_CONSTRAINTS约束的信息: SQL col constraint_name for a28SQL col search_condition for a30SQL col r_constraint_name for a28SQL set line 180SQLSELECT constraint_name, constraint_type, 2 search

38、_condition, r_constraint_name, 3 delete_rule, status 4 FROM user_constraints 5* WHERE table_name = EMPSQL /CONSTRAINT_NAME CO SEARCH_CONDITION R_CONSTRAINT_NAME DELETE_RULE STATUS- - - - - -PK_EMP P ENABLEDFK_DEPTNO R PK_DEPT NO ACTION ENABLED42USER_CONSTRAINTS表的约束信息 v表的约束的信息vUSER_CONS_COLUMNS 约束的列的

39、信息: SQL set line 90SQL desc USER_CONS_COLUMNS 名称名称 是否为空是否为空? 类型类型 - - - OWNER NOT NULL VARCHAR2(30) CONSTRAINT_NAME NOT NULL VARCHAR2(30) TABLE_NAME NOT NULL VARCHAR2(30) COLUMN_NAME VARCHAR2(4000) POSITION NUMBER43USER_CONSTRAINTS表的约束信息 v表的约束的信息vUSER_CONS_COLUMNS 约束的列的信息: SELECT constraint_name, co

40、lumn_nameFROM user_cons_columnsWHERE table_name = EMP;44约束与依赖关系依赖关系查询v查看表的依赖关系v删除某个表前要查询该是否其它表存在关系: /* 找出模式下的某个表的子表找出模式下的某个表的子表 */SELECT table_name “child tables” FROM user_constraintsWHERE r_constraint_name IN(SELECT constraint_name FROM user_constraints WHERE table_name = UPPER(&parent_table)A

41、ND constraint_type =P ) ;45约束信息查询信息查询v从约束数据字典可查询所有的信息:v创建表时说明了CHECK约束,如:vCONSTRAINTS abcv CHECK(age between 18 and 65 ),v可user_constraints查询到CHECK约束的详细:SQL set long 1000SQL select SEARCH_CONDITION from user_constraints;SEARCH_CONDITION-age between 18 and 6546查询查询 视图信息 v用户视图的信息:v将查询结构变为创建脚本 :set line

42、size 150set pagesize 1000set arraysize 8set feedback offset heading offset long 5000col view_name for a20col text for a80select CREATE OR REPLACE VIEW |VIEW_NAME| AS ,TEXT FROM USER_VIEWS order BY VIEW_NAME; 47查询查询 序列信息v序列信息:v查询 :set linesize 150set pagesize 1000- 设置输出环境变量设置输出环境变量 set pagesize 0 set

43、 linesize 200 DEFINE seq_name = &1 - 运行时给出实际的序列名运行时给出实际的序列名 - 将结果输出到将结果输出到res_seq.sql文件中文件中 spool res_seq.sql - 产生改变序列的命令产生改变序列的命令 select alter sequence | sequence_name | cycle nocache minvalue 0 maxvalue | to_char(last_number) | ; from user_sequences where sequence_name = upper(&seq_name) ;

44、48查询查询 序列信息v序列确认 :v查询 USER_SEQUENCES 用户序列的信息 v如果指定为 NOCACHE时LAST_NUMBER表示序列的最后数值:set linesize 150set pagesize 1000SELECTsequence_name, min_value, max_value, increment_by, last_numberFROMuser_sequences;49确认序列SQL SQL select SEQUENCE_NAME,MAX_VALUE,LAST_NUMBER from DBA_SEQUENCES 2 where LAST_NUMBER+10=

45、 max_value;未选定行未选定行v 查询序列例子:v查询序列目前的最后值与最大值是否很接近:50索引信息v 索引信息:vUSER_INDEXES 关于索引的信息.vUSER_IND_COLUMNS 索引列的信息.SQL select table_name,index_name,UNIQUENESS,tablespace_name 2 from dba_indexes where owner=SCOTT order by table_name; TABLE_NAME INDEX_NAME UNIQUENESS TABLESPACE_NAME- - - -BB_PRODUCT SYS_IL0

46、000049354C00002$ UNIQUE USERSCLOB_TST SYS_IL0000049385C00003$ UNIQUE USERSCUSTOMERFUNDINFO IDX1 NONUNIQUE USERSDEPT PK_DEPT UNIQUE USERSEMP PK_EMP UNIQUE USERSEMPLOYEE SYS_C005088 UNIQUE USERS 6 rows selected. 当当UNIQUENESS列的值为列的值为UNIQUE时,表示该索引是唯一索引;时,表示该索引是唯一索引;当当UNIQUENESS列的值为列的值为NONUNIQUE时,表示该索引是非

47、唯一索引。时,表示该索引是非唯一索引。51索引信息v 索引信息:v1.查询索引的基本信息:v2.查询索引与表的信息:SELECT index_name, table_name,uniquenessFROM user_indexesWHERE table_name = EMPLOYEES; SELECT INDEX_NAME, TABLE_NAMEFROM USER_INDEXESWHERE TABLE_NAME = EMP_LIB;52索引信息v 索引信息:v1.索引列的数据字典结构:v2.查询索引的列的信息:DESCRIBE user_ind_columns SELECT INDEX_NAM

48、E, COLUMN_NAME,TABLE_NAMEFROM user_ind_columnsWHERE INDEX_NAME = LNAME_IDX;53索引信息-列的详细v查看索引列详细信息v查询索引的列的信息,可在程序中使用: SQL COLUMN INDEX_NAME FORMAT A15SQL COLUMN TABLE_NAME FORMAT A15SQL SELECT c.COLUMN_NAME, COLUMN_POSITION, 2 i.INDEX_NAME, i.TABLE_NAME, i.TABLE_OWNER 3 FROM user_ind_columns c, user_i

49、ndexes i 4 where c.INDEX_NAME=i.INDEX_NAME;COLUMN_NAME COLUMN_POSITION INDEX_NAME TABLE_NAME TABLE_OWNE- - - - -A1 1 AI A ZYJB1 1 BI B ZYJB2 2 BI B ZYJC1 1 CI C ZYJC2 2 CI C ZYJ已选择已选择6行。行。SQL54同义词(Synonym)信息v查同义词同义词信息 vuser_synonyms-9i 10g 11g 版本:版本:col table_name for a20col comments for a80set line

50、size 160set trimspool on-SELECT * FROM user_synonyms; 操作实践:脚本v实践覆盖下面的标题:v查询表及其列的信息 v查询约束信息v查询视图信息v查询序列信息 v查询同义词的视图的信息v查询索引的视图的信息v增加注释到表与从数据字典查询注释内容56样例0:约束信息v查约束信息 vuser_constraints/user_cons_columns-9i 10g 11g 版本:版本:col table_name for a20col comments for a80set linesize 160set trimspool on-SELECT c

51、onstraint_name, column_nameFROM user_cons_columnsWHERE table_name = EMP; 57样例0:必须认识的DICTv查dict(用spool 将结果记录到OS文件) v开发人员必须的技巧-9i 10g 11g 版本:版本:col table_name for a20col comments for a80set linesize 160set trimspool onSPOOl c:all_dictselect table_name,comments from dict where table_name like V%; TABLE

52、_NAME COMMENTS- -V$JAVA_LIBRARY_CACHE Synonym for V_$JAVA_LIBRARY_CACHE_MEMORY_MEMORYV$JAVA_POOL_ADVICE Synonym for V_$JAVA_POOL_ADVICE已选择已选择481行。行。spoo off58样例1:查询表基本信息 v查询某个表的引用关系v用DROP删除某个表前,要确认该表是否存储引用关系v查询某个表的子表:/* 找出模式下的某个表的子表找出模式下的某个表的子表 */SELECT table_name “child tables” FROM user_constraint

53、sWHERE r_constraint_name IN(SELECT constraint_name FROM user_constraints WHERE table_name = UPPER(&parent_table)AND constraint_type =P ) ;59v查询索引列有关的数据字典:vUSER_IND_COLUMNS -索引列的次序COLUMN_POSITION ;SQL select table_name,index_name,COLUMN_POSITION 2 from user_ind_columns 3* where table_name=EMP;TAB

54、LE_NAME INDEX_NAME COLUMN_POSITION- - -EMP PK_EMP 1样例2:查询索引信息60v索引信息查询的必要性:v了解访问表的索引列信息,在WHERE 条件句使用它SQL-查询表所包含的索引名称查询表所包含的索引名称:SQLselect index_name, table_name from USER_INDEXES WHERE table_name=xxxxx;SQL- 使用使用DBMS_METADATA.GET_DDL包获得索引信息:包获得索引信息:SQLSELECT ( INDEX,index_name) from DUAL;样例3:查询索引信息61

55、样例4:查询无效的视图v查询处于无效状态的视图 v开发人员经常维护视图工作v查询无效的视图,然后有针对性地进行编译:-9i 10g 11g 版本:版本:SQLSELECT OWNER,OBJECT_NAME,OBJECT_TYPE,STATUS FROM DBA_OBJECTSWHERE object_type=VIEW and STATUS=INVALID;-编译无效视图命令为:编译无效视图命令为:SQLALTER VIEW SCHEMA.view COMPILE;62样例5:导出视图创建脚本v从user_views中到处视图的创建脚本 v开发人员从开发环境到应用的实际环境:-8i 9i 1

56、0g 11g 版本:版本:SET LONG 9999SET TRIMSPOOL ONSET heading offCOLUMN text FORMAT A150 SET COLSEP SELECT -|view_name, 1 seq, chr(10)|CREATE OR REPLACE VIEW | lower ( view_name ) | AS , text , ; FROM user_views ORDER BY view_name, seq;-9i 10g 11g 版本:版本: set long 9999SELECT DBMS_METADATA.get_ddl(VIEW,EMP20)

57、 from dual;63样例6:查询序列信息v查询序列例子v查询序列目前的最后值与最大值是否很接近 :-8i 9i 10g 11g 版本:版本:SQL SQL select SEQUENCE_NAME,MAX_VALUE,LAST_NUMBER from DBA_SEQUENCES 2 where LAST_NUMBER+10= max_value;未选定行未选定行DBA_SEQUENCESSEQUENCE_OWNER SEQUENCE_NAME MIN_VALUE MAX_VALUE INCREMENT_BY CYCLE_FLAG ORDER_FLAG CACHE_SIZE LAST_NU

58、MBER 64样例7:查询同义词SQL col synonym_name for a20SQL col table_name for a20SQL select owner,synonym_name,table_name,table_owner,db_link from dba_synonyms 2 where rownum select * from user_synonyms;SYNONYM_NAME TABLE_OWNER TABLE_NAME DB_LINK- - - -DEPTMENT SCOTT DEPTEMP1 SCOTT EMPEMP2 SCOTT EMPSQL select

59、table_name,count(*) from user_synonyms 2* having count(*)1 group by table_name ;TABLE_NAME COUNT(*)- -EMP 2v 查询同义词例子2:v列出一个对象有多个同义词:66样例9:同义词维护技巧-批量创建同义词的样例:批量创建同义词的样例:SQL SET HEAD OFFSQL SET PAGESIZE 0SQL SET FEEDBACK OFFSQL SPOOL create_synonym.SQLSQL SELECT CREATE PUBLIC SYNONYM | object_name | F

60、OR | owner | . | object_name | ; FROM ALL_OBJECTS WHERE OWNER = SCOTT; v 自动产生创建同义词脚本-例子3:v下面查询语句可自动产生创建同义词批命令:67内容提要v数据字典构成v数据字典分类v开发有关数据字典vDBA与性能视图68故障诊断和调整故障诊断和调整Instance/DatabaseV$DATABASE TV$INSTANCE TV$OPTION TV$PARAMETER T/P V$BACKUP TV$PX_PROCESS_SYSSTAT T/PV$PROCESS TV$WAITSTAT T/PV$SYSTEM_EVENT T/PMemoryV$BUFFER

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论