一、表相关
--所有表
SELECT V.*
FROM SYS.ALL_TABLES V
WHERE V.OWNER IN (select VV.USERNAME from user_users VV); --当前用户
--当前用户所有表
SELECT V.* FROM SYS.USER_TABLES V;
--表字段名称、类型、精度、长度、是否为空
SELECT V.COLUMN_NAME,
V.DATA_TYPE,
V.DATA_PRECISION,
V.DATA_SCALE,
V.NULLABLE
FROM SYS. /*ALL_TAB_COLUMNS/*/ ALL_TAB_COLUMNS V
/*WHERE V.TABLE_NAME = 'AIM_DETAILS'*/
--获取表约束中的表名、字段名、约束名、约束类别(P主键、F外键)、引用约束名(注:通过引用约束名可得到引用表字段相关信息)
SELECT V1.TABLE_NAME,
V1.COLUMN_NAME,
V2.CONSTRAINT_NAME,
V2.CONSTRAINT_TYPE,
V2.R_CONSTRAINT_NAME
FROM SYS./*ALL_CONS_COLUMNS/*/ USER_CONS_COLUMNS V1
JOIN SYS./*ALL_CONSTRAINTS/*/USER_CONSTRAINTS V2
ON V1.CONSTRAINT_NAME = V2.CONSTRAINT_NAME
/* WHERE V1.TABLE_NAME = 'AIM_DETAILS'*/
--查看当前用户的缺省表空间
SELECT USERNAME,DEFAULT_TABLESPACE FROM USER_USERS;
二、其它对象
--所有视图
SELECT V.* FROM SYS./*ALL_VIEWS/*/USER_VIEWS V
--索引
SELECT V.* TABLE_NAME FROM SYS.USER_INDEXES V
--序列号
SELECT V.* FROM SYS.USER_SEQUENCES V
--数据库相关用户对象(PROCEDURE存储过程、VIEW视图、FUNCTION函数、MATERIALIZED VIEW物化视图、PACKAGE包头、PACKAGE BODY包体、TABLE表、SEQUENCE序列、INDEX素引、TYPE类型)
SELECT V1.OBJECT_NAME, --名称
V1.OBJECT_TYPE, --类型
V1.STATUS, --状态
(SELECT SUM(VV.BYTES)/(1024*1024) FROM USER_SEGMENTS VV WHERE VV.SEGMENT_NAME=V1.OBJECT_NAME) as "SIZE(M)", --表、素引的大小
V1.CREATED --创建时间
FROM SYS./*ALL_OBJECTS/*/ USER_OBJECTS V1
--数据库相关用户对象(PROCEDURE存储过程、FUNCTION函数、PACKAGE包头、PACKAGE BODY包体、TYPE类型)源代码
SELECT * FROM SYS./*ALL_SOURCE/*/USER_SOURCE V
--查看同义词的名称
SELECT * FROM USER_SYNONYMS;
三、当前用户相关
--查看当前用户的角色
SELECT * FROM USER_ROLE_PRIVS;
--查看当前用户的系统权限和表级权限
SELECT * FROM USER_SYS_PRIVS;
SELECT * FROM USER_TAB_PRIVS;
--显示当前会话所具有的权限
SELECT * FROM SESSION_PRIVS;
--显示指定用户所具有的系统权限
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';