Oracle 锁表解表SQL与关键系统表

相关表

SELECT*FROMv$lock;
SELECT*FROMv$sqlarea;
SELECT*FROMv$session;
SELECT*FROMv$process;
SELECT*FROMv$locked_object;
SELECT*FROMall_objects;
SELECT*FROMv$session_wait;
--v$controlfile:控制文件的信息;
--v$datafile:数据文件的信息;
--v$log:日志文件的信息;
--v$process:处理器的信息;
--v$session:会话信息;
--v$transaction:事务信息;
--v$resource:资源信息;
--v$sga:系统全局区的信息。

查看被锁表信息

 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;

杀掉锁表进程

alter system kill session '68,51';--分别为SID和SERIAL#号

查看数据库引起锁表的SQL语句

SELECT A.USERNAME,
       A.MACHINE,
       A.PROGRAM,
       A.SID,
       A.SERIAL#,
       A.STATUS,
       C.PIECE,
       C.SQL_TEXT
  FROM V$SESSION A, V$SQLTEXT C
 WHERE A.SID IN (SELECT DISTINCT T2.SID
                   FROM V$LOCKED_OBJECT T1, V$SESSION T2
                  WHERE T1.SESSION_ID = T2.SID)
   AND A.SQL_ADDRESS = C.ADDRESS(+)
 ORDER BY C.PIECE;
select * from all_tab_comments – 查询所有用户的表,视图等 
select * from user_tab_comments – 查询本用户的表,视图等 
select * from all_col_comments –查询所有用户的表的列名和注释. 
select * from user_col_comments – 查询本用户的表的列名和注释 
select * from all_tab_columns –查询所有用户的表的列名等信息(详细但是没有备注). 
select * from user_tab_columns –查询本用户的表的列名等信息(详细但是没有备注).

dba_开头…
dba_users 数据库用户信息
dba_segments 表段信息
dba_extents 数据区信息
dba_objects 数据库对象信息
dba_tablespaces 数据库表空间信息
dba_data_files 数据文件设置信息
dba_temp_files 临时数据文件信息
dba_rollback_segs 回滚段信息
dba_ts_quotas 用户表空间配额信息
dba_free_space数据库空闲空间信息
dba_profiles 数据库用户资源限制信息
dba_sys_privs 用户的系统权限信息
dba_tab_privs用户具有的对象权限信息
dba_col_privs用户具有的列对象权限信息
dba_role_privs用户具有的角色信息
dba_audit_trail审计跟踪记录信息
dba_stmt_audit_opts审计设置信息
dba_audit_object 对象审计结果信息
dba_audit_session会话审计结果信息
dba_indexes用户模式的索引信息
user_开头
user_objects 用户对象信息
user_source 数据库用户的所有资源对象信息
user_segments 用户的表段信息
user_tables 用户的表对象信息
user_tab_columns 用户的表列信息
user_constraints 用户的对象约束信息
user_sys_privs 当前用户的系统权限信息
user_tab_privs 当前用户的对象权限信息
user_col_privs 当前用户的表列权限信息
user_role_privs 当前用户的角色权限信息
user_indexes 用户的索引信息
user_ind_columns用户的索引对应的表列信息
user_cons_columns 用户的约束对应的表列信息
user_clusters 用户的所有簇信息
user_clu_columns 用户的簇所包含的内容信息
user_cluster_hash_expressions 散列簇的信息

v$开头
   v$database   数据库信息
   v$datafile  数据文件信息
   v$controlfile控制文件信息
   v$logfile  重做日志信息
   v$instance  数据库实例信息
   v$log  日志组信息
   v$loghist 日志历史信息
   v$sga  数据库SGA信息
   v$parameter 初始化参数信息
   v$process  数据库服务器进程信息
   v$bgprocess  数据库后台进程信息
   v$controlfile_record_section  控制文件记载的各部分信息
   v$thread  线程信息
   v$datafile_header  数据文件头所记载的信息
   v$archived_log归档日志信息
   v$archive_dest  归档日志的设置信息
   v$logmnr_contents  归档日志分析的DML DDL结果信息
   v$logmnr_dictionary  日志分析的字典文件信息
   v$logmnr_logs  日志分析的日志列表信息
   v$tablespace  表空间信息
   v$tempfile  临时文件信息
   v$filestat  数据文件的I/O统计信息
   v$undostat  Undo数据信息
   v$rollname  在线回滚段信息
   v$session  会话信息
   v$transaction 事务信息
   v$rollstat   回滚段统计信息
   v$pwfile_users  特权用户信息
   v$sqlarea    当前查询过的sql语句访问过的资源及相关的信息
   v$sql         与v$sqlarea基本相同的相关信息
   v$sysstat   数据库系统状态信息

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’;

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>select 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’);

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值