表信息储存位置
select * from user_tables; //当前用户的表
select * from all_tables; //所有用户的表
select * from dba_tables; //包括系统表
select * from dba_tables where owner='用户名';
列信息存储位置
select * from user_tab_columns where Table_Name='用户表';
select * from all_tab_columns where Table_Name='用户表';
select * from dba_tab_columns where Table_Name='用户表';
注解信息储存位置
-- 表注解信息
select * from user_tab_comments;
-- 列注解信息
select * from user_col_comments;
注:这里就不写所有用户的和dba的相关注解信息了。另外这些信息(表名、列名、用户名、数据类型)的展现都是以大写的形式进行保存的。
查看角色
-- 查看所有的角色
select * from dba_roles ;
--查看dba角色
select * from dba_roles where upper(role) ='DBA';
查看角色与用户的关系
select * from dba_role_privs where grantee='BEITIE';
查看角色所拥有的权限
select * from role_sys_privs;
查看拥有sysdba权限的用户
select * from v$pwfile_users;
查看当前的数据库连接的实例名
SELECT instance_name FROM v$instance;
查看锁表会话
被锁对象表 v$locked_object
数据库对象表 dba_objects
数据session v$session
select sess.sid,
sess.serial#,
lo.oracle_username,
lo.os_user_name,
ao.object_name,
lo.locked_mode
from v$locked_object lo, dba_objects ao, v$session sess
where ao.object_id = lo.object_id
and lo.session_id = sess.sid;
SELECT * FROM dba_objects;
select * from v$locked_object;
查看锁表的sql语句
select l.session_id sid,
s.serial#,
l.locked_mode,
l.oracle_username,
s.user#,
l.os_user_name,
s.machine,
s.terminal,
a.sql_text,
a.action
from v$sqlarea a, v$session s, v$locked_object l
where l.session_id = s.sid
order by sid, s.serial#;and s.prev_sql_addr = a.address
通过SID和serial#干掉会话
alter system kill session 'SID,serial#';
表空间和dbf文件
查看表空间对应的dbf文件以及其他信息
select t.TABLESPACE_NAME, --表空间名
t.FILE_NAME, --文件名
t.AUTOEXTENSIBLE, --是否自动扩展
t.BYTES / 1024 / 1024, --表空间初始大小
t.MAXBYTES / 1024 / 1024, --表空间最大扩展到多少
b.CONTENTS, --表空间类型
b.EXTENT_MANAGEMENT --表空间管理模式
from dba_data_files t, dba_tablespaces b
where t.TABLESPACE_NAME = b.TABLESPACE_NAME;
查看dbf文件
SELECT * FROM dba_data_files t;
查看dba权限下的已创建表空间
SELECT * FROM dba_tablespaces;