ITPub博客

首页 > 数据库 > 国内数据库 > DM7 常用的运维SQL语句

DM7 常用的运维SQL语句

原创 国内数据库 作者:1209082587 时间:2020-10-13 10:09:29 0 删除 编辑

1、查看数据库版本号

SQL> select * from v$version;

2、查看表空间的名称及大小

SQL> select name tablepace_name, total_size*sf_get_page_size()/1024/1024||'m' ts_size from v$tablespace;

3、 查看表空间物理文件的名称及大小

SQL> select t.name tablespace_name,t.id file_id,d.path file_name,d.total_size*sf_get_page_size()/1024/1024||'m' total_space from v$tablespace t, v$datafile d where t.id=d.group_id;


4、 查看控制文件

SQL> select para_value name from v$dm_ini where para_name='CTL_PATH';


5、 查看日志文件

SQL> select PATH,RLOG_SIZE/1024/1024||'M' from v$rlogfile;


6、 查看表空间的使用情况

SQL> select
        t1.NAME tablespace_name,
        t2.FREE_SIZE*SF_GET_PAGE_SIZE()/1024/1024
        ||'M' free_space,
        t2.TOTAL_SIZE*SF_GET_PAGE_SIZE()/1024/1024
        ||'M' total_space,
        t2.FREE_SIZE*100/t2.total_size "% FREE"
from
        V$TABLESPACE t1,
        V$DATAFILE t2
where
        t1.ID=t2.GROUP_ID;


7、查看数据库库对象

SQL> select t2.name owner,t1.subtype$ object_type,t1.valid status,count(1) count# from sysobjects t1,sysobjects t2 where t1.schid=t2.id and t1.schid!=0 group by t2.name,t1.subtype$,t1.valid;


8、 查看数据库的创建日期和归档方式

SQL> select create_time start_time,case when arch_mode = 'n' then ' 非归档模式 ' else ' 归档模式 ' end from v$database;
[70004]:String truncate.


9、可以通过V$LOCK和V$TRX查看还没提交的事务

SQL> select t2.name from v$lock t1,sysobjects t2 where t1.table_id=t2.id and subtype$='UTAB';


10、查看等待(wait)情况

SQL> select class_name,total_waits count from v$wait_class;
no rows

used time: 2.109(ms). Execute id is 31.
SQL>

11、查看object分类数量

SQL> select subtype$ object_type, count(1) quantity from sysobjects where subtype$ <>'' group by subtype$ union select 'column',count(1) from syscolumns;


12、按用户查看object种类(可查每个模式下的各对象数目)

select
        syssch.NAME "schema"                         ,
        sum(decode(t.SUBTYPE$, 'VIEW', 1, 0)) views  ,
        sum(decode(t.SUBTYPE$, 'PROC', 1, 0)) procs  ,
        sum(decode(t.SUBTYPE$, 'STAB', 1, 0)) stab   ,
        sum(decode(t.SUBTYPE$, 'UTAB', 1, 0)) utabs  ,
        sum(decode(t.SUBTYPE$, 'SYNOM', 1, 0)) synoms,
        sum(decode(t.SUBTYPE$, 'CONS', 1, 0)) conses ,
        sum(decode(t.SUBTYPE$, 'INDEX', 1, 0)) indexes
FROM
        SYSOBJECTS t,
        (
                select ID, NAME from SYSOBJECTS where TYPE$='SCH'
        )
        syssch
WHERE
        syssch.ID=t.SCHID
group by
        syssch.NAME;


13、查看数据库实例信息:

SQL> select name inst_name from v$instance;


14、查看及修改最大会话数

SQL> select para_value from v$dm_ini where para_name='MAX_SESSIONS';


SQL> sp_set_para_value (2,'MAX_SESSIONS',1000);


然后重启生效。


15、 确定高负载的 SQL

查询动态视图  V$LONG_EXEC_SQLS  或  V$SYSTEM_LONG_EXEC_SQLS  来确定高负载的  SQL  语句。

V$LONG_EXEC_SQLS 显示最近  1000  条执行时间较长的  SQL  语句
SQL> select * from v$long_exec_sqls;
no rows

SQL> select * from v$system_long_exec_sqls;
no rows

16、查看触发器、过程、函数的创建脚本

select t2.name,t2.subtype$,t1.txt from systexts t1,sysobjects t2 where t2.id=t1.id where name='XXX'


17、查看表定义

get_ddl 可以获取表、视图、物化视图、索引、全文索引、存储过程、函数、包、目录等的定义:
SQL>  select dbms_metadata.get_ddl('TABLE','DAVE','CNDBA');


18、强制关闭用户连接

SQL> select  sess_id,curr_sch ,sql_text,user_name,trx_id ,clnt_host,clnt_ip,osname, vpooladdr from sys.v$sessions where sql_text<>'';


然后根据 SESSION_ID 使用系统过程 SP_CLOSE_SESSION(SESSION_ID) 来 kill  会话:
SQL> SP_CLOSE_SESSION(140615618728712);

DM 数据库采用的是线程架构,所有不能向Oracle那样直接kill 进程,只能调用sp_close_session()来kill 线程杀掉会话。


来自 “ ITPUB博客 ” ,链接:https://blog.itpub.net/31424253/viewspace-2725875/ ,如需转载,请注明出处,否则将追究法律责任。

上一篇: dm收集统计信息
下一篇: dislq 备份实战
请登录后发表评论 登录
全部评论

注册时间:2016-12-29

  • 博文量
    35
  • 访问量
    28260