查看和监控数据库

1. 查看本用户下的各种对象的 SQL 脚本

SQL 语句:

表:

select * from cat;

select * from tab;

select table_name from user_tables;

视图:

select text from user_views where view_name=upper('&view_name');

索引:

select index_name,table_owner,table_name,tablespace_name,status from user_indexes order by table_name;

触发器:

select trigger_name,trigger_type,table_owner,table_name,status from user_triggers;

快照:

select owner,name,master,table_name,last_refresh,next from user_snapshots order by owner,next;

同义词:

select * from syn;

序列:

select * from seq;

数据库链路:

select * from user_db_links;

约束限制:

select TABLE_NAME,CONSTRAINT_NAME,SEARCH_CONDITION,STATUS from user_constraints;

本用户读取其他用户对象的权限:

select * from user_tab_privs;

本用户所拥有的系统权限:

select * from user_sys_privs;

用户:

select * from all_users order by user_id;

表空间剩余自由空间情况:

select tablespace_name,sum(bytes) 总字节数 ,max(bytes),count(*) from dba_free_space group by tablespace_name ;

数据字典:

select table_name from dict order by table_name;

锁及资源信息:

select * from v$lock; 不包括 DDL 锁

数据库字符集:

select name,value$ from props$ where name='NLS_CHARACTERSET';

inin.ora 参数:

select name,value from v$parameter order by name;

SQL 共享池:

select sql_text from v$sqlarea;

数据库:

select * from v$database

控制文件:

select * from V$controlfile;

重做日志文件信息:

select * from V$logfile;

来自控制文件中的日志文件信息:

select * from V$log;

来自控制文件中的数据文件信息:

select * from V$datafile;

NLS 参数当前值:

select * from V$nls_parameters;

ORACLE 版本信息:

select * from v$version;

描述后台进程:

select * from v$bgprocess;

查看版本信息:

select * from product_component_version;

2. 监控数据库

select ' 查看数据库的版本 ' from dual;

Select version FROM Product_component_version Where SUBSTR(PRODUCT,1,6)='Oracle';

select ' 查看数据库库对象 ' from dual;

select owner, object_type, status, count(*) count# from all_objects group by owner, object_type, status;

select ' 查看数据库的创建日期和归档方式 ' from dual;

Select Created, Log_Mode, Log_Mode From V$Database;

select ' 查看控制文件 ' from dual;

select name from v$controlfile;

select ' 查看表空间的名称及大小 ' from dual;

select t.tablespace_name, round(sum(bytes/(1024*1024)),0) ts_size from dba_tablespaces t, dba_data_files d where t.tablespace_name = d.tablespace_name group by t.tablespace_name;

select ' 查看表空间物理文件的名称及大小 ' from dual;

select tablespace_name, file_id, file_name, round(bytes/(1024*1024),0) total_space from dba_data_files order by tablespace_name;

select ' 查看表空间的使用情况 ' from dual;

select sum(bytes)/(1024*1024) as free_space,tablespace_name from dba_free_space group by tablespace_name ;

SELECT A.TABLESPACE_NAME,A.BYTES TOTAL,B.BYTES USED, C.BYTES FREE, (B.BYTES100)/A.BYTES "% USED",(C.BYTES100)/A.BYTES "% FREE"

FROM SYS.SM$TS_AVAIL A,SYS.SM$TS_USED B,SYS.SM$TS_FREE C

WHERE A.TABLESPACE_NAME=B.TABLESPACE_NAME AND A.TABLESPACE_NAME=C.TABLESPACE_NAME;

select ' 查看日志文件 ' from dual;

select member from v$logfile;

select ' 查看回滚段名称及大小 ' from dual;

select segment_name, tablespace_name, r.status, (initial_extent/1024) InitialExtent,(next_extent/1024) NextExtent, max_extents, v.curext CurExtent From dba_rollback_segs r, v$rollstat v Where r.segment_id = v.usn(+) order by segment_name;

Published At
Categories with 数据库类
comments powered by Disqus