oracle 表信息查询

来源:互联网 发布:gigi hadid 知乎 编辑:程序博客网 时间:2024/05/18 16:58
1、用SQL语句查看Oracle表每条记录的创建时间


SELECT TO_CHAR(SCN_TO_TIMESTAMP(ORA_ROWSCN), 'yyyy-mm-dd hh24:mi:ss') INSERT_TIME FROM
表名;

 2、查看当前用户下的表

SELECT * FROM USER_TABLES;

3、查看数据库中所有的表

SELECT * FROM DBA_TABLES ;SELECT CREATED, LAST_DDL_TIME FROM USER_OBJECTS WHERE OBJECT_NAME = UPPER('表名');

4、Oracle查看表空间的使用情况


SELECT SUM(BYTES) / (1024 * 1024) 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 * 100) / A.BYTES "% USED",
(C.BYTES * 100) / 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;


5、查看数据库库对象

SELECT OWNER, OBJECT_TYPE, STATUS, COUNT(*) COUNT#
FROM ALL_OBJECTS
GROUP BY OWNER, OBJECT_TYPE, STATUS;


6、查看数据库的版本 

SELECT VERSION FROM PRODUCT_COMPONENT_VERSION WHERE SUBSTR(PRODUCT, 1, 6) = 'Oracle';


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

SELECT CREATED, LOG_MODE, LOG_MODE FROM V$DATABASE;


8、查询数据库中索引占用表空间的大小

SELECT A.SEGMENT_NAME,A.TABLESPACE_NAME, B.TABLE_NAME, A.BYTES / 1024 / 1024 MBYTES, A.BLOCKS
FROM USER_SEGMENTS A, USER_INDEXES B
WHERE A.SEGMENT_NAME = B.INDEX_NAME
AND A.SEGMENT_TYPE = 'INDEX' --索引
AND A.TABLESPACE_NAME = 'APPINDEX' --表空间
AND B.TABLE_NAME LIKE '%PREP%' --索引所在表
ORDER BY TABLE_NAME, A.BYTES / 1024 / 1024 DESC