标题: 通过sql语句获取数据库的基本信息
ljjk5
元帅
Rank: 1


荣誉会员奖章
UID 46706
精华 1
积分 99426
帖子 49690
威望 554
金币 48489
热心 505
阅读权限 100
注册 2007-2-25
状态 离线
通过sql语句获取数据库的基本信息

(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 命令跟在下面共享

网友 ljjk5 签名 - 网友社区 ===
顶部
[广告] 免费域名(Free Subdomain) 免费空间(Free hosting) PR查询(Google Pagerank)



当前时区 GMT+8, 现在时间是 2008-12-5 20:32
信产部ICP备案:京ICP备05066424号 北京市公安局网监备案:1101050648号

Powered by Discuz! 5.5.0
清除 Cookies - 联系我们 - 网友俱乐部 - Archiver - WAP