ITPub博客

首页 > Linux操作系统 > Linux操作系统 > 【转】通过sql语句获取数据库的基本信息

【转】通过sql语句获取数据库的基本信息

原创 Linux操作系统 作者:spectre2 时间:2011-03-26 02:13:49 0 删除 编辑

(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 (索引数据文件)

如果是OMF:

SQL> select name from v$datafile;

NAME
--------------------------------------------------------------------------------
D:\ORACLEXE\ORADATA\ORA10G\DATAFILE\O1_MF_SYSTEM_6RPVX6NZ_.DBF
D:\ORACLEXE\ORADATA\ORA10G\DATAFILE\O1_MF_UNDOTBS1_6RPVXYCQ_.DBF
D:\ORACLEXE\ORADATA\ORA10G\DATAFILE\O1_MF_SYSAUX_6RPVYC3F_.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.3 显示表空间限额的信息

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)

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

请登录后发表评论 登录
全部评论

注册时间:2011-02-27

  • 博文量
    196
  • 访问量
    1869535