您可以通过以下几个sql 可以立即了解系统的状况和数据库的状态(仅献给习惯使用sql/plus的人 呵呵 )
(1) 查询oracle 的物理结构
1.1. 查看数据文件
SQL> select name from v$datafile;
NAME
---------------------------------------------
/u05/dbf/PROD/system_01.dbf/u05/dbf/PROD/system_01.dbf (系统数据文件)
/u06/dbf/PROD/temp_01.dbf (临时数据文件)
/u04/dbf/PROD/users_01.dbf (用户数据文件)
/u09/dbf/PROD/rbs_01.dbf (回滚数据文件)
/u06/dbf/PROD/applsys_indx_01.dbf (索引数据文件)
数据文件是ORACLE中最重要的物理文件
1.2.查询控制文件信息
SQL>select * from V$Controlfile
1.3 查看日志组
SQL>select * from V$Log
1.4. 查看具体的日志成员文件
SQL>select * from v$logfile
1.5 通过以下SQL 找到 报警日至文件的路径
select value from v$parameter where name ='background_dump_dest'
1.6 通过以下SQL找到用户跟踪文件的路径
select value from v$parameter where name ='user_dump_dest'
(2) 查询安全信息
2.1 显示示用户信息
SQL>selelct * from DBA_Users Where Username =’system’
2.2 显示角色信息
SQL> Select *from Dba_Roles
2.2 显示表空间限额的信息
SQL> select Tablespace_Name,Username,Bytes,max_bytes
SQL> from dba_ts_quotas;
2.4 显示开工文件和相关资源限制设置的信息
SQL> Select profile,resource_name,limit
SQL> from Dba_profiles;
2.5 显示当前用户拥有的所有的表
SQL> Select * From Tab;
2.6 查看内部系统表的SQL
select * from v$fixed_view_definition
3 查询oracle 的系统环境变量
3.1.查找全局共享缓冲区(SGA)
SQL> select * from v$sga;
NAME VALUE
-------------------- ---------
Fixed Size 39816
Variable Size 259812784
Database Buffers 1.049E+09
Redo Buffers 327680
更详细的信息可以参考V$sgastat、V$buffer_pool
对于保存在共享池中的SQL语句,可以从V$Sqltext、v$Sqlarea中查询到
3.2清空Share_pool,保留Data buffer
SQL> alter system flush SHARED_POOL;
System altered.
3.3. .运行以下语句可以得到系统SCN号
SQL> select max(ktuxescnw * power(2, 32) + ktuxescnb) scn from x$ktuxe;
SCN
----------
31014
3.4 查询数据块可用空间大小。
Select kvisval,kvistag,kvisdsc from sys.x$kvis;
3.5检查当前oracle 的连接类型:
select server
from v$session
where audisid=USERENV(‘SESSIONID’);
如果 输出
SERVER
―――――――――――
DEDICATED
说明当前的oracle 连接实用的是专用服务器连接 ,而不是MTS多线程服务器(SHARED)
3.6. 查看数据数据字典的SQL
select * from dict
3.7检查后台线程的状态
Select name,Description
From V$BGPROCESS
Where Paddr<>’00’ (进程地址不等于’00’)
输出结果类似:
name description
-------- ---------------------------------
Pmon Process Cleanup
Dbwo db Writer Process 0
Lgwr Redo Etc
Ckpt checkpoint
。。。 。。。
3.8 显示表结构
desc tablename(任意表名);
输出结果类似:
name null? Type
---------------------------- -------------------- ------------------
ID Not Null Number(30)
希望本文起到一个抛砖引玉的左右,希望你能将自己认为重要或常用的sql 命令跟在下面共享