oracle 获取table相关信息


select COLUMN_NAME,DATA_TYPE,DATA_PRECISION,DATA_SCALE,NULLABLE
from user_tab_columns
where table_name ='YourTableName'

TBP_PM_EQUIP_CALL_STATUS


select table_name,comments from
all_tab_comments where table_name = 'TBP_PM_EQUIP_CALL_STATUS'


select * from
all_col_comments where table_name = 'TBC_RM_MAIN_TOOL_ACT'

 

获取表名:
Oracle的user_talbes用于记录了用户表信息。

select TABLE_NAME from all_tables where table_name = 'TBC_RM_MAIN_TOOL_ACT'

select A.table_name,B.comments from all_tables A, all_tab_comments B where A.TABLE_NAME = B.TABLE_NAME and length(b.comments) > 3


select TABLE_NAME from all_tables
select count(*) from all_tables

获取某个表的字段:

USER_TAB_COLS中记录了用户表的列信息。下面是别人写的:

SELECT USER_TAB_COLS.TABLE_NAME as 表名,USER_TAB_COLS.COLUMN_NAME as 列名 , USER_TAB_COLS.DATA_TYPE as 数据类型, USER_TAB_COLS.DATA_LENGTH as 长度, USER_TAB_COLS.NULLABLE as 是否为空,USER_TAB_COLS.COLUMN_ID as 列序号,user_col_comments.comments as 备注 FROM USER_TAB_COLS inner join user_col_comments on user_col_comments.TABLE_NAME=USER_TAB_COLS.TABLE_NAME and user_col_comments.COLUMN_NAME=USER_TAB_COLS.COLUMN_NAME


如何从Oracle、中取得表的注释

user_tab_comments;表注释

user_col_comments;表字段注释

以上两个只能获取自己用户的表的注释信息,如果要访问自己能够访问的其他用户的表,则需要使用:

all_tab_comments;表注释

all_col_comments;表字段注释

当然,如果有DBA权限,则可以使用

dba_tab_comments;表注释

dba_col_comments;表字段注释

dba*和all*最好指定owner条件。user*没有该字段

user_tab_comments;表注释

user_col_comments;表字段注释

以上两个只能获取自己用户的表的注释信息,如果要访问自己能够访问的其他用户的表,则需要使用:

all_tab_comments;表注释

all_col_comments;表字段注释

当然,如果有DBA权限,则可以使用

dba_tab_comments;表注释

dba_col_comments;表字段注释

dba*和all*最好指定owner条件。user*没有该字段

 

 

pool  guowang.log
----set pagesize 9999
----set linesize 9999
----set long 99999

set echo off
set feedback off

alter session set NLS_DATE_FORMAT="YYYY-MM-DD HH24:MI:SS";

prompt '********************数据库部署方式********************'

select name,value from v$parameter where name='cluster_database';

prompt '********************数据库软件个数及名称********************'

prompt '********************部署的数据库类型及版本********************'

select * from v$version;

prompt '********************数据库实例个数及名称********************'

select instance_number,instance_name from v$instance;
        
prompt '********************数据库用户名称********************'    

select username from dba_users;

prompt '********************表空间名称及大小(G)********************'

SELECT   UPPER (f.tablespace_name) "TABLESPACE_NAME",
         d.tot_grootte_mb "TOTAL_SIZE(M)",
         TO_CHAR (ROUND (  (d.tot_grootte_mb - f.total_bytes)
                         / d.tot_grootte_mb
                         * 100,
                         2
                        ),
                  '990.99'
                 )||'%' "PER_USERD",d.tot_grootte_mb - f.total_bytes "USERD(M)",f.total_bytes "FREE(M)"
    FROM (SELECT   tablespace_name,
                   ROUND (SUM (BYTES) / (1024 * 1024), 2) total_bytes
            FROM SYS.dba_free_space
          GROUP BY tablespace_name) f,
         (SELECT   dd.tablespace_name,
                   ROUND (SUM (dd.BYTES) / (1024 * 1024), 2) tot_grootte_mb
              FROM SYS.dba_data_files dd
          GROUP BY dd.tablespace_name) d
   WHERE d.tablespace_name = f.tablespace_name
ORDER BY 3 DESC;
    

prompt '********************数据库文件存放路径********************'

select name from v$datafile;
    
prompt '********************业务数据存放位置********************'

prompt '********************业务数据存储机制********************'
    
prompt '********************业务系统现有数据量(G)********************'

select owner,SUM(BYTES/1024/1024) from dba_segments group by owner;
    
prompt '********************数据库最大连接用户数********************'

select value from v$parameter where name='processes';
    
prompt '********************数据库数据的处理类型********************'
    
prompt '********************数据库操作高峰时段********************'
    
prompt '********************数据库字符集********************'
    
select * from nls_database_parameters

prompt '********************内存分配量(SGA)(M)********************'

select name,VALUE/1024/1024 from v$parameter where name in('sga_max_size','sga_target');

prompt '********************listerner端口********************'

host lsnrctl stat

prompt '********************归档日志日增长数********************'
    
select trunc(first_time) "DATE",thread#,count(1) "ARCH_PER_DAY",round(count(1) / 24) "ARCH_PER_HR"
  from v$log_history
 group by trunc(first_time), thread#
 order by 1,3 desc;

----------------------------
select to_char(first_time, 'yyyy-mm-dd hh24') "DATE",
       thread#,
       count(1) "ARCH_HR"
  from v$log_history
 where trunc(first_time) in
       (select d_time
          from (select max(count(1)) m_arch
                  from v$log_history
                 group by trunc(first_time)) a,
               (select trunc(first_time) d_time, count(1) d_arch
                  from v$log_history
                 group by trunc(first_time)) b
         where a.m_arch = b.d_arch)
 group by to_char(first_time, 'yyyy-mm-dd hh24'), thread#
 order by thread#,3 desc;

    
prompt '********************归档日志大小(MB)********************'


select bytes/1024/1024 from v$log;
    
prompt '********************归档日志总增长量
日增长量计算:
(每天生成的生产日志个数*大小)********************'        
        
            

posted @ 2020-08-04 10:13  2eggs  Views(342)  Comments(0Edit  收藏  举报