通过sql语句获取数据库的基本信息
2024-07-21 02:08:03
供稿:网友
您可以通过以下几个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 命令跟在下面共享
注册会员,创建你的web开发资料库,