-- 查询版本号
select * from v$version;
-- 查询 (活动)会话
select * from v$sessions where state = 'ACTIVE';
-- 开启跟踪日志
sp_set_para_value(1,'SVR_LOG',1);
-- 关闭跟踪日志
sp_set_para_value(1,'SVR_LOG',0);
-- 关闭活跃会话
sp_close_session(session_id);
-- 查询 ini 配置(嵌套层次)
select * from V$DM_INI WHERE PARA_NAME = '';
-- 统计用户下所有索引
DBMS_STATS.GATHER_SCHEMA_STATS('HR_GD',1.0,TRUE,'FOR ALL INDEXED SIZE AUTO');
-- 收集某个索引的统计信息
dbms_stats.gather_index_stats(user,'IDX_T2_X');
-- 统计用户下所有字段
DBMS_STATS.GATHER_SCHEMA_STATS('NW_TEST',100,TRUE,'FOR ALL COLUMNS SIZE AUTO');
-- 统计用户下某表
DBMS_STATS.GATHER_TABLE_STATS('NW_TEST','GL_PREBALANCE',null,100,TRUE,'FOR ALL COLUMNS SIZE AUTO');
-- 使用 dbms_stats.gather_table_stats 包收集统计信息:
CALL dbms_stats.gather_table_stats(
ownname => 'SYSDBA',
tabname => 'T2' ,
estimate_percent => 100 ,
method_opt => 'for all columns SIZE AUTO',
DEGREE =>1,
cascade => true
);
-- 查看表统计信息情况:
SELECT * FROM SYSSTATS t, SYSOBJECTS s WHERE t.id=s.id and s.NAME='T2' ;
-- 创建一个表结构一致的表包括数据(不复制数据)
create table table_2 as select * from table_1 where 1=2;
-- 查看表空间大小
select NAME tablepace_name, total_size*SF_GET_PAGE_SIZE()/1024/1024||'M' ts_size from V$TABLESPACE;
-- 查 lock 动态视图
select * from v$lock;
-- 查询阻塞 sql 的 trx_id
select b.name,a.* from V$lock a,sysobjects b where a.TABLE_ID=b.id
-- 根据事务 id 查询具体 sql
select * from v$sessions where TRX_ID = 601610029;
-- 删除表中重复数据
delete from t1 a where rowid > (select min(rowid) from t1 b where b.id=a.id and b.name=a.name);
-- 查询当前数据库中执行时间超过 1 秒的 SQL
select * from (
SELECT sess_id,sql_text,datediff(ss,last_send_time,sysdate) ss,
SF_GET_SESSION_SQL(SESS_ID) fullsql
FROM V$SESSIONS WHERE STATE='ACTIVE')
where ss>=1;
-- 检查数据库中所有索引的合法性 ( 正确性和有效性 )
SELECT CHECK_DB_INDEX();
-- 查锁
select o.name,l.* from v$lock l,sysobjects o where l.table_id=o.id and blocked=1
-- 查询是否有等待事务
select * from V$TRXWAIT
-- 查看表的大小
select table_used_pages('NW_TEST','TB_CNB_PAY_TEMP_EMP')*16/1024 MB from dual;
-- 查看列的统计信息
select b.name,a.colid,c.name,a.t_total,a.n_smaple,a.n_distinct,a.blevel ,
a.n_leaf_pages,a.n_leaf_used_pages,a.n_buckets
from sysstats A,SYSOBJECTS b,syscolumns c
WHERE b.name='T1' and a.id=b.id
and a.colid=c.colid and b.id=c.id
and a.t_flag='C'
order by a.colid asc;