`
services
  • 浏览: 78327 次
  • 性别: Icon_minigender_1
  • 来自: 青岛
社区版块
存档分类
最新评论

常用SQL语句了解数据库信息

阅读更多
常用SQL语句了解数据库信息
select status from v$instance
select open_mode from v$database
(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)

4、查看字符集

4.1 查看数据库服务器字符集

select value from nls_database_parameters where parameter = 'NLS_NCHAR_CHARACTERSET' ;

4.2 查看客户端字符集

select * from nls_instance_parameters ;

会话字符集环境 select * from nls_session_parameters,其来源于v$nls_parameters,表示会话自己的设置,可能是会话的环境变量或者是alter session完成,如果会话没有特殊的设置,将与nls_instance_parameters一致。

客户端的字符集要求与服务器一致,才能正确显示数据库的非Ascii字符。如果多个设置存在的时候,alter session>环境变量>注册表>参数文件

字符集要求一致,但是语言设置却可以不同,语言设置建议用英文。如字符集是zhs16gbk,则nls_lang可以是American_America.zhs16gbk。
[Q]怎么样修改字符集
[A]8i以上版本可以通过alter database来修改字符集,但也只限于子集到超集,不建议修改props$表,将可能导致严重错误。
Startup nomount;
Alter database mount exclusive;
Alter system enable restricted session;
Alter system set job_queue_process=0;
Alter database open;
Alter database character set zhs16gbk;
分享到:
评论

相关推荐

Global site tag (gtag.js) - Google Analytics