不才总结了几个sql,请高手们指点一二:查看数据库中现有的表或对象:1、 SELECT * FROM CAT ; 2、 select * from tab ; 3、 select * from dba_objects ;目前就知道这几个,,,不知道哪个最常用,最好使????
Oracle常用数据字典表 Oracle常用数据字典表 查看当前用户的缺省表空间 SQL>select username,default_tablespace from user_users; 查看当前用户的角色 SQL>select * from user_role_privs; 查看当前用户的系统权限和表级权限 SQL>select * from user_sys_privs; SQL>select * from user_tab_privs; 查看用户下所有的表 SQL>select * from user_tables; 查看用户下所有的表的列属性 SQL>select * from USER_TAB_COLUMNS where table_name=:table_Name; 显示用户信息(所属表空间) select default_tablespace,temporary_tablespace from dba_users where username='GAME'; 1、用户 查看当前用户的缺省表空间 SQL>select username,default_tablespace from user_users; 查看当前用户的角色 SQL>select * from user_role_privs; 查看当前用户的系统权限和表级权限 SQL>select * from user_sys_privs; SQL>select * from user_tab_privs; 显示当前会话所具有的权限 SQL>select * from session_privs; 显示指定用户所具有的系统权限 SQL>select * from dba_sys_privs where grantee='GAME'; 显示特权用户 select * from v$pwfile_users; 显示用户信息(所属表空间) select default_tablespace,temporary_tablespace from dba_users where username='GAME'; 显示用户的PROFILE select profile from dba_users where username='GAME'; 2、表 查看用户下所有的表 SQL>select * from user_tables; 查看名称包含log字符的表 SQL>select object_name,object_id from user_objects where instr(object_name,'LOG')>0; 查看某表的创建时间 SQL>select object_name,created from user_objects where object_name=upper('&table_name'); 查看某表的大小 SQL>select sum(bytes)/(1024*1024) as "size(M)" from user_segments where segment_name=upper('&table_name'); 查看放在Oracle的内存区里的表 SQL>select table_name,cache from user_tables where instr(cache,'Y')>0; 3、索引 查看索引个数和类别 SQL>select index_name,index_type,table_name from user_indexes order by table_name; 查看索引被索引的字段 SQL>select * from user_ind_columns where index_name=upper('&index_name'); 查看索引的大小 SQL>select sum(bytes)/(1024*1024) as "size(M)" from user_segments where segment_name=upper('&index_name'); 4、序列号 查看序列号,last_number是当前值 SQL>select * from user_sequences; 5、视图 查看视图的名称 SQL>select view_name from user_views; 查看创建视图的select语句 SQL>set view_name,text_length from user_views; SQL>set long 2000; 说明:可以根据视图的text_length值设定set long 的大小 SQL>select text from user_views where view_name=upper('&view_name'); 6、同义词 查看同义词的名称 SQL>select * from user_synonyms; 7、约束条件 查看某表的约束条件 SQL>select constraint_name, constraint_type,search_condition, r_constraint_name from user_constraints where table_name = upper('&table_name'); SQL>select c.constraint_name,c.constraint_type,cc.column_name from user_constraints c,user_cons_columns cc where c.owner = upper('&table_owner') and c.table_name = upper('&table_name') and c.owner = cc.owner and c.constraint_name = cc.constraint_name order by cc.position; 8、存储函数和过程 查看函数和过程的状态 SQL>select object_name,status from user_objects where object_type='FUNCTION'; SQL>select object_name,status from user_objects where object_type='PROCEDURE'; 查看函数和过程的源代码 SQL>select text from all_source where owner=user and name=upper('&plsql_name');
表: select * from cat; select * from tab; select table_name from user_tables;视图: select text from user_views where view_name=upper('&view_name');索引: select index_name,table_owner,table_name,tablespace_name,status from user_indexes order by table_name; 触发器: select trigger_name,trigger_type,table_owner,table_name,status from user_triggers;快照: select owner,name,master,table_name,last_refresh,next from user_snapshots order by owner,next;同义词: select * from syn;序列: select * from seq;数据库链路: select * from user_db_links;约束限制: select TABLE_NAME,CONSTRAINT_NAME,SEARCH_CONDITION,STATUS from user_constraints;本用户读取其它用户对象的权限: select * from user_tab_privs;本用户所拥有的系统权限: select * from user_sys_privs;用户: select * from all_users order by user_id;表空间剩余自由空间情况: select tablespace_name,sum(bytes) 总字节数,max(bytes),count(*) from dba_free_space group by tablespace_name;数据字典: select table_name from dict order by table_name;锁及资源信息: select * from v$lock;不包括DDL锁数据库字符集: select name,value$ from props$ where name='NLS_CHARACTERSET';inin.ora参数: select name,value from v$parameter order by name;SQL共享池: select sql_text from v$sqlarea;数据库: select * from v$database控制文件: select * from V$controlfile;重做日志文件信息: select * from V$logfile;来自控制文件中的日志文件信息: select * from V$log;来自控制文件中的数据文件信息: select * from V$datafile;NLS参数当前值: select * from V$nls_parameters;ORACLE版本信息: select * from v$version;描述后台进程: select * from v$bgprocess;查看版本信息: select * from product_component_version; Top2 楼xzou(亡狼补齿)回复于 2001-08-29 17:15:28 得分 0 学习 Top3 楼KingSunSha(弱水三千)回复于 2001-08-29 18:25:22 得分 10ORACLE的数据字典中,你可以得到所有关于数据库和数据库对象的信息.zhuzhichao(竹之草)列出的就是从数据字典中取信息的方式.数据字典很多,通常我记不住所有的名字,但是你也可以用以下SQL去查数据字典的名字, 名字相当简单, 你了解ORACLE的话一看就知道. --本用户的字典: SQL> select distinct object_name 2 from dba_objects 3 where object_name like 'USER_%';
col table_name format a30select owner,table_name from dba_tables;
一般用第三方工具会更容易,像我用TOAD,看起来很直观
当然也可以在以上工具中写相应的SQL语句来查询
一些常用的视图参考一下这个
http://www.cnblogs.com/neozhu/archive/2008/07/22/1248422.html
参考一下这个http://www.cnblogs.com/neozhu/archive/2008/07/22/1248422.html
不才总结了几个sql,请高手们指点一二:查看数据库中现有的表或对象:1、 SELECT * FROM CAT ;
2、 select * from tab ;
3、 select * from dba_objects ;目前就知道这几个,,,不知道哪个最常用,最好使????
SQL>select username,default_tablespace from user_users;
查看当前用户的角色
SQL>select * from user_role_privs; 查看当前用户的系统权限和表级权限
SQL>select * from user_sys_privs;
SQL>select * from user_tab_privs; 查看用户下所有的表
SQL>select * from user_tables; 查看用户下所有的表的列属性 SQL>select * from USER_TAB_COLUMNS where table_name=:table_Name; 显示用户信息(所属表空间)
select default_tablespace,temporary_tablespace
from dba_users where username='GAME'; 1、用户 查看当前用户的缺省表空间
SQL>select username,default_tablespace from user_users; 查看当前用户的角色
SQL>select * from user_role_privs; 查看当前用户的系统权限和表级权限
SQL>select * from user_sys_privs;
SQL>select * from user_tab_privs; 显示当前会话所具有的权限
SQL>select * from session_privs; 显示指定用户所具有的系统权限
SQL>select * from dba_sys_privs where grantee='GAME'; 显示特权用户
select * from v$pwfile_users; 显示用户信息(所属表空间)
select default_tablespace,temporary_tablespace
from dba_users where username='GAME'; 显示用户的PROFILE
select profile from dba_users where username='GAME';
2、表 查看用户下所有的表
SQL>select * from user_tables; 查看名称包含log字符的表
SQL>select object_name,object_id from user_objects
where instr(object_name,'LOG')>0; 查看某表的创建时间
SQL>select object_name,created from user_objects where object_name=upper('&table_name'); 查看某表的大小
SQL>select sum(bytes)/(1024*1024) as "size(M)" from user_segments
where segment_name=upper('&table_name'); 查看放在Oracle的内存区里的表
SQL>select table_name,cache from user_tables where instr(cache,'Y')>0; 3、索引 查看索引个数和类别
SQL>select index_name,index_type,table_name from user_indexes order by table_name; 查看索引被索引的字段
SQL>select * from user_ind_columns where index_name=upper('&index_name'); 查看索引的大小
SQL>select sum(bytes)/(1024*1024) as "size(M)" from user_segments
where segment_name=upper('&index_name'); 4、序列号 查看序列号,last_number是当前值
SQL>select * from user_sequences; 5、视图 查看视图的名称
SQL>select view_name from user_views; 查看创建视图的select语句
SQL>set view_name,text_length from user_views;
SQL>set long 2000; 说明:可以根据视图的text_length值设定set long 的大小
SQL>select text from user_views where view_name=upper('&view_name'); 6、同义词 查看同义词的名称
SQL>select * from user_synonyms; 7、约束条件 查看某表的约束条件
SQL>select constraint_name, constraint_type,search_condition, r_constraint_name
from user_constraints where table_name = upper('&table_name'); SQL>select c.constraint_name,c.constraint_type,cc.column_name
from user_constraints c,user_cons_columns cc
where c.owner = upper('&table_owner') and c.table_name = upper('&table_name')
and c.owner = cc.owner and c.constraint_name = cc.constraint_name
order by cc.position; 8、存储函数和过程 查看函数和过程的状态
SQL>select object_name,status from user_objects where object_type='FUNCTION';
SQL>select object_name,status from user_objects where object_type='PROCEDURE'; 查看函数和过程的源代码
SQL>select text from all_source where owner=user and name=upper('&plsql_name');
Top2 楼xzou(亡狼补齿)回复于 2001-08-29 17:15:28 得分 0 学习
Top3 楼KingSunSha(弱水三千)回复于 2001-08-29 18:25:22 得分 10ORACLE的数据字典中,你可以得到所有关于数据库和数据库对象的信息.zhuzhichao(竹之草)列出的就是从数据字典中取信息的方式.数据字典很多,通常我记不住所有的名字,但是你也可以用以下SQL去查数据字典的名字, 名字相当简单, 你了解ORACLE的话一看就知道.
--本用户的字典:
SQL> select distinct object_name
2 from dba_objects
3 where object_name like 'USER_%';
OBJECT_NAME
--------------------------------------------------------------------------------
USER$
USER_ARGUMENTS
USER_CATALOG
USER_CLUSTERS
USER_CLUSTER_HASH_EXPRESSIONS
USER_CLU_COLUMNS
USER_COL_COMMENTS
USER_CONSTRAINTS
...
...
--系统用户字典:
SQL> select distinct object_name
2 from dba_objects
3 where object_name like 'DBA_%'
4 ;
OBJECT_NAME
--------------------------------------------------------------------------------
DBA_2PC_NEIGHBORS
DBA_2PC_PENDING
DBA_ANALYZE_OBJECTS
DBA_AUDIT_EXISTS
DBA_AUDIT_OBJECT
DBA_AUDIT_SESSION
DBA_AUDIT_STATEMENT
DBA_AUDIT_TRAIL
DBA_CATALOG
DBA_CLUSTERS
DBA_CLUSTER_HASH_EXPRESSIONS
DBA_CLU_COLUMNS
DBA_COL_COMMENTS
DBA_COL_PRIVS
DBA_CONSTRAINTS
DBA_CONS_COLUMNS
DBA_CROSS_REFS
DBA_DATA_FILES
...
...
--动态字典
SQL> select distinct object_name
2 from dba_objects
3 where object_name like 'V$_%';
OBJECT_NAME
--------------------------------------------------------------------------------
V$ACCESS
V$ACTIVE_INSTANCES
V$ARCHIVE
V$BACKUP
...
...
1.系统表
ORACLE数据库的系统参数都存储在数据库中,可以通过SQLPLUS,以用户SYSYTEM进行查询。几个重要的表或者视图如下:v$controlfile:控制文件的信息;
v$datafile:数据文件的信息;
v$log:日志文件的信息;
v$process:处理器的信息;
v$session:会话信息;
v$transaction:事务信息;
v$resource:资源信息;
v$sga:系统全局区的信息。
上面的视图名中的‘v$’,只是视图名字中的字符。类似于上面的视图或表还有很多,位于:
$ORACLE_HOME/RDBMS/ADMIN/CATALOG.SQL文件中。
这些视图或表可以在SQLPLUS中用SELECT语句进行查询。
2.数据字典视图
表和列
DBA_TABLES、ALL_TABLES和USER_TABLES显示了有关数据库表的一般信息。
DBA_TAB_COLUMNS、ALL_TAB_COLUMNS和USER_TAB_COLUMNS显示了每个数据库表的列的信息。
注意:DBA_OBJECTS、ALL_OBJECTS和USER_OBJECTS显示了模式对象的信息,包括表。
完整性约束
DBA_CONSTRAINTS、ALL_CONSTRAINTS和USER_CONSTRAINST显示有关约束的一般信息。
DBA_CONS_COLUMNS、ALL_CONS_COLUMNS和USER_CONS_COLUMNS显示有关列的相关约束的一般信息。
视图
DBA_VIEWS、ALL_VIEWS和USER_VIEWS。
注意:DBA_OBJECTS、ALL_OBJECTS和USER_OBJECTS显示了模式对象的信息,包括视图。
序列
DBA_SEQUENCES、ALL_SEQUENCES和USER_SEQUENCES。
注意:DBA_OBJECTS、ALL_OBJECTS和USER_OBJECTS显示了模式对象的信息,包括序列。
同义词
DBA_SYNONYMS、ALL_SYNONYMS和USER_SYNONYMS。
注意:DBA_OBJECTS、ALL_OBJECTS和USER_OBJECTS显示了模式对象的信息,包括同义词。
索引
DBA_INDEXS、ALL_INDEXS、USER_INDEXS、DBA_IND_COLUMNS、ALL_IND_COLUMNS和USER_IND_COLUMNS。
用户
DBA_USERS。
角色
DBA_ROLES。
表空间定额
DBA_TS_QUOTAS。
配置表
DBA_PROFILES。
表空间
DBA_TABLESPACES。
数据文件
DBA_DATA_FILES。
段
DBA_SEGMENTS、USER_SEGMENT。
回滚段
DBA_ROLLBACK_SEGS、V$ROLLNAME、V$ROLLSTAT。