拼吾爱程序人生

首页 » 数据库编程 » SQL » 通过sql语句获取数据库的基本信息
cobra - 2008-7-29 15:31:00
文/蔷薇  出处/赛迪网

(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.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)

 您可能对 [SQL] 的这些文章也感兴趣:

在各种数据库中如何限制检索行数?
翻页的存储过程
NHibernate系列(1):开篇有益
数据库开发的持续集成 - Liquibase的简介和应用
数据库正规化和设计技巧(1)
SQL语言入门教程:第一课 简介
SQL语言入门教程:第五课 删除数据库表格
数据库正规化和设计技巧(3)
微软发布3款SQL Injection攻击检测工具
数据库查询结果的动态排序(4)
1
查看完整版本: 通过sql语句获取数据库的基本信息
Modify by pin5i DZNT_ExpandPackage 2.1.3237 2007-2008 pin5i.com
  Total Unique Visitors: