zoukankan      html  css  js  c++  java
  • 数据库常用查询

    Oracle 查询库中所有表名、字段名、字段名说明,查询表的数据条数、表名、中文表名

    查询所有表名:
    select t.table_name from user_tables t;
    查询所有字段名:
    select t.column_name from user_col_comments t;
    查询指定表的所有字段名:
    select t.column_name from user_col_comments t where t.table_name = 'BIZ_DICT_XB';
    查询指定表的所有字段名和字段说明:
    select t.column_name, t.column_name from user_col_comments t where t.table_name = 'BIZ_DICT_XB';
    查询所有表的表名和表说明:
    select t.table_name,f.comments from user_tables t inner join user_tab_comments f on t.table_name = f.table_name;
    查询模糊表名的表名和表说明:
    select t.table_name from user_tables t where t.table_name like 'BIZ_DICT%';
    select t.table_name,f.comments from user_tables t inner join user_tab_comments f on t.table_name = f.table_name where t.table_name like 'BIZ_DICT%';
    --查询表的数据条数、表名、中文表名
    select a.num_rows, a.TABLE_NAME, b.COMMENTS
    from user_tables a, user_tab_comments b
    WHERE a.TABLE_NAME = b.TABLE_NAME
    order by TABLE_NAME;

    数据库相关查询语句

    数据库闪回查询视图
    flashback_transaction_query

    查询数据库当前进程的连接数:
    select count(*) from v$process;
    查看数据库当前会话的连接数:
    select count(*) from v$session;
    查看数据库的并发连接数:
    select count(*) from v$session where status='ACTIVE';
    查看当前数据库建立的会话情况:
    select sid,serial#,username,program,machine,status from v$session;
    查询数据库允许的最大连接数:
    select value from v$parameter where name = 'processes';
    或者:show parameter processes;
    修改数据库允许的最大连接数:
    alter system set processes = 300 scope = spfile;
    (需要重启数据库才能实现连接数的修改)
    重启数据库:
    shutdown immediate;
    startup;
    查看当前有哪些用户正在使用数据:
    select osuser,a.username,cpu_time/executions/1000000||'s',sql_fulltext,machine
    from v$session a,v$sqlarea b
    where a.sql_address = b.address
    order by cpu_time/executions desc;

    查看buffercache命中率

    select (1 - (sum(decode(name, 'physical reads', value, 0)) /
    (sum(decode(name, 'dbblockgets', value, 0)) +
    sum(decode(name, 'consistentgets', value, 0))))) * 100 "Hit Ratio"
    from v$sysstat;

    select name,value from v$sysstat where name in('db block gets','consistent gets','physical reads');

    命中率计算公式
    Hit Radio=1-physical reads/(db block gets+consistent gets)

    归档redo日志有多少组 每组多大

    select member from v$logfile;
    select group#, members, bytes / 1024 / 1024, status from v$log;


    查询表空间占用率

    select b.file_id 文件ID号,
    b.tablespace_name 表空间名,
    b.bytes / 1024 / 1024 || 'M' 字节数,
    (b.bytes - sum(nvl(a.bytes, 0))) / 1024 / 1024 || 'M' 已使用,
    sum(nvl(a.bytes, 0)) / 1024 / 1024 || 'M' 剩余空间,
    100 - sum(nvl(a.bytes, 0)) / (b.bytes) * 100 占用百分比
    from dba_free_space a, dba_data_files b
    where a.file_id = b.file_id
    group by b.tablespace_name, b.file_id, b.bytes
    order by b.file_id;


    查看某一表空间下的表占用情况
    select segment_name, sum(bytes) / 1024 / 1024 || 'M '
      from dba_segments
     where TABLESPACE_NAME = 'NXPT'
       AND segment_type = 'TABLE'
     GROUP BY segment_name ;

    SELECT OWNER OWNER_NAME,
    TABLE_NAME TABLE_NAME,
    TABLESPACE_NAME TABLESPACE_NAME,
    BLOCKS ACTUAL_BLOCKS,
    BLOCKS + EMPTY_BLOCKS TOTAL_BLOCKS,
    (BLOCKS + EMPTY_BLOCKS) * 8192 / (1024 * 1024) "TABLE_SIZE[MB]"
    FROM DBA_TABLES
    WHERE TABLESPACE_NAME like 'SYSAUX'
    and BLOCKS is not null
    and BLOCKS <> 0
    order by "TABLE_SIZE[MB]" desc;

    1、查看数据库字符集
    服务器字符集select * from nls_database_parameters,其来源于props$,是表示数据库的字符集。

    客户端字符集环境select * from nls_instance_parameters,其来源于v$parameter,

    表示客户端的字符集的设置,可能是参数文件,环境变量或者是注册表

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

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

    字符集要求一致,但是语言设置却可以不同,语言设置建议用英文。如字符集是zhs16gbk,则nls_lang可以是American_America.zhs16gbk。

    2、修改字符集
    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;
    3、怎么查看数据库版本
    select * from v$version
    包含版本信息,核心版本信息,位数信息(32位或64位)等
    至于位数信息,在Linux/unix平台上,可以通过file查看,如
    file $ORACLE_HOME/bin/oracle

    4、查看进程连接数
    select  b.INST_ID, b.MACHINE, b.PROGRAM , count (*) ,b.STATUS
    from gv$process a, gv$session b
    where a.ADDR = b.PADDR and   b.USERNAME is not null  
     group by  b.INST_ID,b.MACHINE  , b.PROGRAM ,b.STATUS
      order by count (*) desc;

  • 相关阅读:
    To select the file to upload we can use the standard HTML input control of type
    Cascading Menu Script using Javascript Explained
    网站首页head区代码规范
    轻松掌握 Java 泛型
    JDK 5.0 中的泛型类型学习
    如何在firefox下获取下列框选中option的text
    是同步方法还是 synchronized 代码? 详解多线程同步规则
    javascript select option对象总结
    Select的动态取值(Text,value),添加,删除。兼容IE,FireFox
    javascript在ie和firefox下的一些差异
  • 原文地址:https://www.cnblogs.com/Memories-off/p/10435305.html
Copyright © 2011-2022 走看看