知识大全 Oracle维护常用SQL语句汇总

Posted

篇首语:读书志在圣贤,为官心存君国。本文由小常识网(cha138.com)小编为大家整理,主要介绍了知识大全 Oracle维护常用SQL语句汇总相关的知识,希望对你有一定的参考价值。

Oracle维护常用SQL语句汇总  以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧!

  如何远程判断Oracle数据库的安装平台

  select * from v$version;

  查看表空间的使用情况

  select sum(bytes)/( * ) as free_space tablespace_name

  from dba_free_space

  group by tablespace_name;

  SELECT A TABLESPACE_NAME A BYTES TOTAL B BYTES USED C BYTES FREE

  (B BYTES* )/A BYTES % USED (C BYTES* )/A BYTES % FREE

  FROM SYS SM$TS_AVAIL A SYS SM$TS_USED B SYS SM$TS_FREE C

  WHERE A TABLESPACE_NAME=B TABLESPACE_NAME AND A TABLESPACE_NAME=C TABLESPACE_NAME;

   查看表空间的名称及大小

  select t tablespace_name round(sum(bytes/( * )) ) ts_size

  from dba_tablespaces t dba_data_files d

  where t tablespace_name = d tablespace_name

  group by t tablespace_name;

   查看表空间物理文件的名称及大小

  select tablespace_name file_id file_name

  round(bytes/( * ) ) total_space

  from dba_data_files

  order by tablespace_name;

   查看回滚段名称及大小

  select segment_name tablespace_name r status

  (initial_extent/ ) InitialExtent (next_extent/ ) NextExtent

  max_extents v curext CurExtent

  From dba_rollback_segs r v$rollstat v

  Where r segment_id = v usn(+)

  order by segment_name ;

   查看控制文件

  select name from v$controlfile;

   查看日志文件

  select member from v$logfile;

   查看表空间的使用情况

  select sum(bytes)/( * ) as free_space tablespace_name

  from dba_free_space

  group by tablespace_name;

  SELECT A TABLESPACE_NAME A BYTES TOTAL B BYTES USED C BYTES FREE

  (B BYTES* )/A BYTES % USED (C BYTES* )/A BYTES % FREE

  FROM SYS SM$TS_AVAIL A SYS SM$TS_USED B SYS SM$TS_FREE C

  WHERE A TABLESPACE_NAME=B TABLESPACE_NAME AND A TABLESPACE_NAME=C TABLESPACE_NAME;

   查看数据库库对象

  select owner object_type status count(*) count# from all_objects group by owner object_type status;

   查看数据库的版本

  Select version FROM Product_ponent_version

  Where SUBSTR(PRODUCT )= Oracle ;

   查看数据库的创建日期和归档方式

  Select Created Log_Mode Log_Mode From V$Database;

   如何远程判断Oracle数据库的安装平台

  select * from v$version;

   查看数据表的参数信息

  SELECT partition_name high_value high_value_length tablespace_name

  pct_free pct_used ini_trans max_trans initial_extent

  next_extent min_extent max_extent pct_increase FREELISTS

  freelist_groups LOGGING BUFFER_POOL num_rows blocks

  empty_blocks avg_space chain_cnt avg_row_len sample_size

  last_analyzed

  FROM dba_tab_partitions

   WHERE table_name = :tname AND table_owner = :towner

  ORDER BY partition_position

   查看还没提交的事务

  select * from v$locked_object;

  select * from v$transaction;

   回滚段查看

  select rownum sys dba_rollback_segs segment_name Name v$rollstat extents

  Extents v$rollstat rssize Size_in_Bytes v$rollstat xacts XActs

  v$rollstat gets Gets v$rollstat waits Waits v$rollstat writes Writes

  sys dba_rollback_segs status status from v$rollstat sys dba_rollback_segs

  v$rollname where v$rollname name(+) = sys dba_rollback_segs segment_name and

  v$rollstat usn (+) = v$rollname usn order by rownum

   捕捉运行很久的SQL

  column username format a

  column opname format a

  column progress format a

  select username sid opname

  round(sofar* / totalwork ) || % as progress

  time_remaining sql_text

  from v$session_longops v$sql

  where time_remaining <>

  and sql_address = address

  and sql_hash_value = hash_value

  /

   查看数据表的参数信息

  SELECT   partition_name high_value high_value_length tablespace_name

  pct_free pct_used ini_trans max_trans initial_extent

  next_extent min_extent max_extent pct_increase FREELISTS

  freelist_groups LOGGING BUFFER_POOL num_rows blocks

  empty_blocks avg_space chain_cnt avg_row_len sample_size

  last_analyzed

  FROM dba_tab_partitions

   WHERE table_name = :tname AND table_owner = :towner

  ORDER BY partition_position

   查找object为哪些进程所用

  select

  p spid

  s sid

  s serial# serial_num

  s username user_name

  a type object_type

  s osuser os_user_name

  a owner

  a object object_name

  decode(sign( mand)

  

  to_char(mand) Action Code # || to_char(mand) ) action

  p program oracle_process

  s terminal terminal

  s program program

  s status session_status

  from v$session s v$access a v$process p

  where s paddr = p addr and

  s type = USER and

  a sid = s sid   and

  a object= SUBSCRIBER_ATTR

  order by s username s osuser

   耗资源的进程(top session)

  select s schemaname schema_name     decode(sign( mand)

  to_char(mand) Action Code # || to_char(mand) ) action     status

  session_status    s osuser os_user_name    s sid          p spid          s serial# serial_num

  nvl(s username [Oracle process] ) user_name    s terminal terminal

  s program program    st value criteria_value from v$sesstat st    v$session s v$process p

  where st sid = s sid and   st statistic# = to_number( ) and   ( ALL = ALL

  or s status = ALL ) and p addr = s paddr order by st value desc p spid asc s username asc s osuser asc

   查看锁(lock)情况

  select /*+ RULE */ ls osuser os_user_name    ls username user_name

  decode(ls type RW Row wait enqueue lock TM DML enqueue lock TX

   Transaction enqueue lock UL User supplied lock ) lock_type

  o object_name object    decode(ls lmode null Row Share

   Row Exclusive Share Share Row Exclusive Exclusive null)

  lock_mode     o owner    ls sid    ls serial# serial_num    ls id    ls id

  from sys dba_objects o (   select s osuser     s username     l type

  l lmode     s sid     s serial#     l id     l id    from v$session s

  v$lock l   where s sid = l sid ) ls where o object_id = ls id and    o owner

  <> SYS    order by o owner o object_name

  根据sid查是哪台电脑的链接

  column osuser format a

  column username format a

  column machine format a

  select osuser machine username sid serial# from v$session where sid= ;

  根据sid查对应的sql

  select SID SQL_TEXT from v$open_cursor where SID= ;

   查看等待(wait)情况

  SELECT v$waitstat class v$unt count SUM(v$sysstat value) sum_value

  FROM v$waitstat v$sysstat WHERE v$sysstat name IN ( db block gets

   consistent gets ) group by v$waitstat class v$unt

   查看sga情况

  SELECT NAME BYTES FROM SYS V_$SGASTAT ORDER BY NAME ASC

   查看catched object

  SELECT owner               name               db_link               namespace

  type               sharable_mem               loads               executions

  locks               pins               kept        FROM v$db_object_cache

   查看V$SQLAREA

  SELECT SQL_TEXT SHARABLE_MEM PERSISTENT_MEM RUNTIME_MEM SORTS

  VERSION_COUNT LOADED_VERSIONS OPEN_VERSIONS USERS_OPENING EXECUTIONS

  USERS_EXECUTING LOADS FIRST_LOAD_TIME INVALIDATIONS PARSE_CALLS DISK_READS

  BUFFER_GETS ROWS_PROCESSED FROM V$SQLAREA

   查看object分类数量

  select decode (o type# INDEX TABLE CLUSTER VIEW

   SYNONYM SEQUENCE OTHER ) object_type count(*) quantity from

  sys obj$ o where o type# > group by decode (o type# INDEX TABLE

   CLUSTER VIEW SYNONYM SEQUENCE OTHER ) union select

   COLUMN count(*) from l$ union select DB LINK count(*) from

   按用户查看object种类

  select u name schema    sum(decode(o type# NULL)) indexes

  sum(decode(o type# NULL)) tables    sum(decode(o type# NULL))

  clusters    sum(decode(o type# NULL)) views    sum(decode(o type#

  NULL)) synonyms    sum(decode(o type# NULL)) sequences

  sum(decode(o type# NULL NULL NULL NULL NULL NULL ))

  others   from sys obj$ o sys user$ u   where o type# >= and    u user# =

  o owner# and   u name <> PUBLIC    group by u name    order by

  sys link$ union select CONSTRAINT count(*) from n$

   有关connection的相关信息

   )查看有哪些用户连接

  select s osuser os_user_name     decode(sign( mand) to_char(mand)

   Action Code # || to_char(mand) ) action      p program oracle_process

  status session_status     s terminal terminal     s program program

  s username user_name     s fixed_table_sequence activity_meter     query

   memory     max_memory      cpu_usage     s sid    s serial# serial_num

  from v$session s     v$process p   where s paddr=p addr and    s type = USER

  order by s username s osuser

   )根据v sid查看对应连接的资源占用等情况

  select n name

  v value

  n class

  n statistic#

  from v$statname n

  v$sesstat v

  where v sid = and

  v statistic# = n statistic#

  order by n class n statistic#

   )根据sid查看对应连接正在运行的sql

  select /*+ PUSH_SUBQ */

  mand_type

  sql_text

  sharable_mem

  persistent_mem

  runtime_mem

  sorts

  version_count

  loaded_versions

  open_versions

  users_opening

  executions

  users_executing

  loads

  first_load_time

  invalidations

  parse_calls

  disk_reads

  buffer_gets

  rows_processed

  sysdate start_time

  sysdate finish_time

   > || address sql_address

   N status

  from v$sqlarea

  where address = (select sql_address from v$session where sid = )

   .查询表空间使用情况

  select a tablespace_name 表空间名称

   round((nvl(b bytes_free )/a bytes_alloc)* ) 占用率(%)

  round(a bytes_alloc/ / ) 容量(M)

  round(nvl(b bytes_free )/ / ) 空闲(M)

  round((a bytes_alloc nvl(b bytes_free ))/ / ) 使用(M)

  Largest 最大扩展段(M)

  to_char(sysdate yyyy mm dd hh :mi:ss ) 采样时间

  from (select f tablespace_name

  sum(f bytes) bytes_alloc

  sum(decode(f autoextensible YES f maxbytes NO f bytes)) maxbytes

  from dba_data_files f

  group by tablespace_name) a

  (select f tablespace_name

  sum(f bytes) bytes_free

  from dba_free_space f

  group by tablespace_name) b

  (select round(max(ff length)* / ) Largest

  ts name tablespace_name

  from sys fet$ ff sys file$ tf sys ts$ ts

  where ts ts#=ff ts# and ff file#=tf relfile# and ts ts#=tf ts#

  group by ts name tf blocks) c

  where a tablespace_name = b tablespace_name and a tablespace_name = c tablespace_name

   查询表空间的碎片程度

  select tablespace_name count(tablespace_name) from dba_free_space group by tablespace_name

  having count(tablespace_name)> ;

  alter tablespace name coalesce;

  alter table name deallocate unused;

  create or replace view ts_blocks_v as

  select tablespace_name block_id bytes blocks free space segment_name from dba_free_space

  union all

  select tablespace_name block_id bytes blocks segment_name from dba_extents;

  select * from ts_blocks_v;

  select tablespace_name sum(bytes) max(bytes) count(block_id) from dba_free_space

  group by tablespace_name;

   查询有哪些数据库实例在运行

  select inst_name from v$active_instances;

   查找oracle性能瓶颈sql

  select sql_text spid v$session program process from

  v$sqlarea v$session v$process

  where v$sqlarea address=v$session sql_address

  and v$sqlarea hash_value=v$session sql_hash_value

  and v$session paddr=v$process addr

  and v$process spid in (操作系统PID);

  select sid event p p text from v$session_wait;

   找出最耗资源的sql

  select * from v$process where spid= ;

  select sql_hash_value machine username program from v$session where PAddr= B A ;

  select * from v$sqltext where hash_value= ;

  select * from v$sql where hash_value= ;

  select * from v$sqlarea where hash_value= ;

  SELECT a username a machine a program a sid a serial# a status c piece c sql_text FROM v$session a v$process b v$sqltext c WHERE b spid= AND b addr=a paddr AND a sql_address=c address(+) ORDER BY c piece

  要找出最耗资源的sql 我们可以首先使用top等工具 找到最好资源的进程(记住进程号) 例如 操作系统进程号为 然后根据这个进程号(v$process spid)在v$process中找到进程地址(v$process addr) 然后根据这个地址在 v$session中找到相应的sid(v$session sid) 然后根据这个sid找到相应的hash alue(v$session sql_hash_value) 然后根据这个hash alue在v$sqltext $sql v$sqlarea等视图中找到对应的sql语句(sql_text)

  select * from v$process where spid= ;

  select sql_hash_value machine username program from v$session where PAddr= B A ;

  select * from v$sqltext where hash_value= ;

  select * from v$sql where hash_value= ;

  select * from v$sqlarea where hash_value= ;

cha138/Article/program/Oracle/201311/16928

相关参考

知识大全 Oracle维护常用SQL语句一

数据库手册:Oracle维护常用SQL语句一  以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧!  查看

知识大全 Oracle数据库维护常用SQL语句集合(3)

Oracle数据库维护常用SQL语句集合(3)  以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧!  性

知识大全 Oracle10G常用维护语句

Oracle10G常用维护语句  以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧!  创建表空间    

知识大全 oracle常用函数汇总

以下是对oracle中的常用函数进行了汇总介绍需要的朋友可以过来参考下   一运算符算术运算符+*/可以在select语句中使用连接运算符||selectdeptno||dnamefromd

知识大全 基于SQL中的数据查询语句汇总

基于SQL中的数据查询语句汇总  以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧!以下是对SQL中的数据

知识大全 Oracle语句优化规则汇总(9)

Oracle语句优化规则汇总(9)  以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧!使用提示(Hint

知识大全 Oracle语句优化规则汇总(5)

Oracle语句优化规则汇总(5)  以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧!   O

知识大全 Oracle语句优化规则汇总(10)

Oracle语句优化规则汇总(10)  以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧!需要当心的WHE

知识大全 Oracle语句优化规则汇总(6)

Oracle语句优化规则汇总(6)  以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧!基础表的选择  基

知识大全 oracle与sql的区别(常用函数)

  许多软件公司都理解开发不依赖于特定数据库类型(例如OracleSQLServerDB)的应用程序的重要性它可以让客户们选择自己习惯的平台一般来说软件开发人员都能够识别出他们的负责数据库维护的客户和