设为首页 收藏本站
查看: 759|回复: 0

[经验分享] SQL语句大全—查看表空间

[复制链接]

尚未签到

发表于 2018-10-16 10:20:50 | 显示全部楼层 |阅读模式
查看表空间的名称及大小:  SQL> SELECT T.TABLESPACE_NAME, ROUND(SUM(BYTES/(1024 * 1024)), 0) TS_SIZE
  FROM DBA_TABLESPACES T, DBA_DATA_FILES D
  WHERE T.TABLESPACE_NAME = D.TABLESPACE_NAME
  GROUP BY T.TABLESPACE_NAME;
  查看表空间物理文件的名称及大小:
  SQL> SELECT TABLESPACE_NAME,FILE_ID,FILE_NAME,ROUND(BYTES / (1024 * 1024), 0) TOTAL_SPACE
  FROM DBA_DATA_FILES
  ORDER BY TABLESPACE_NAME;
  查看回滚段名称及大小:
  SQL> SELECT SEGMENT_NAME,
  TABLESPACE_NAME,
  R.STATUS,
  (INITIAL_EXTENT / 1024) INITIALEXTENT,
  (NEXT_EXTENT / 1024) NEXTEXTENT,
  MAX_EXTENTS,
  V.CUREXT CUREXTENT
  FROM DBA_ROLLBACK_SEGS R, V$ROLLSTAT V
  WHERE R.SEGMENT_ID = V.USN(+)
  ORDER BY SEGMENT_NAME;
  如何查看某个回滚段里面,跑的什么事物或者正在执行什么sql语句:
  SQL> SELECT D.SQL_TEXT, A.NAME
  FROM V$ROLLNAME A, V$TRANSACTION B, V$SESSION C, V$SQLTEXT D
  WHERE A.USN = B.XIDUSN
  AND B.ADDR = C.TADDR
  AND C.SQL_ADDRESS = D.ADDRESS
  AND C.SQL_HASH_VALUE = D.HASH_VALUE
  AND A.USN = 1;
  (备注:你要看哪个,就把usn=?写成几就行了)
  查看控制文件:
  SQL> SELECT * FROM V$CONTROLFILE;
  查看日志文件:
  SQL> COL MEMBER FORMAT A50
  SQL>SELECT * FROM V$LOGFILE;
  如何查看当前SQL*PLUS用户的sid和serial#:
  SQL>SELECT SID, SERIAL#, STATUS FROM V$SESSION WHERE AUDSID=USERENV('SESSIONID');
  如何查看当前数据库的字符集:
  SQL>SELECT USERENV('LANGUAGE') FROM DUAL;
  SQL>SELECT USERENV('LANG') FROM DUAL;
  怎么判断当前正在使用何种SQL优化方式:
  用EXPLAIN PLAN產生EXPLAIN PLAN¡檢查PLAN_TABLE中ID=0的POSITION列的值

  SQL>SELECT DECODE(NVL(POSITION,-1),-1,'RBO',1,'CBO') FROM PLAN_TABLE WHERE>  如何查看系统当前最新的SCN号:
  SQL>SELECT MAX(KTUXESCNW * POWER(2,32) + KTUXESCNB) FROM X$KTUXE;
  在ORACLE中查找TRACE文件的脚本:
  SQL>SELECT U_DUMP.VALUE || '/' || INSTANCE.VALUE || '_ORA_' ||
  V$PROCESS.SPID || NVL2(V$PROCESS.TRACEID, '_' || V$PROCESS.TRACEID, NULL ) || '.TRC'"TRACE FILE" FROM V$PARAMETER U_DUMP CROSS JOIN V$PARAMETER INSTANCE CROSS JOIN V$PROCESS JOIN V$SESSION ON V$PROCESS.ADDR = V$SESSION.PADDR WHERE U_DUMP.NAME = 'USER_DUMP_DEST' AND
  INSTANCE.NAME = 'INSTANCE_NAME' AND V$SESSION.AUDSID=SYS_CONTEXT('USERENV','SESSIONID');
  SQL>SELECT D.VALUE || '/ORA_' || P.SPID || '.TRC' TRACE_FILE_NAME
  FROM (SELECT P.SPID FROM SYS.V_$MYSTAT M,SYS.V_$SESSION S,
  SYS.V_$PROCESS P WHERE M.STATISTIC# = 1 AND
  S.SID = M.SID AND P.ADDR = S.PADDR) P,(SELECT VALUE FROM SYS.V_$PARAMETER WHERE NAME ='USER_DUMP_DEST') D;
  如何查看客户端登陆的IP地址:
  SQL>SELECT SYS_CONTEXT('USERENV','IP_ADDRESS') FROM DUAL;
  如何在生产数据库中创建一个追踪客户端IP地址的触发器:
  SQL>CREATE OR REPLACE TRIGGER ON_LOGON_TRIGGER AFTER LOGON ON DATABASE
  BEGIN
  DBMS_APPLICATION_INFO.SET_CLIENT_INFO(SYS_CONTEXT('USERENV', 'IP_ADDRESS'));
  END;
  REM 记录登陆信息的触发器
  CREATE OR REPLACE TRIGGER LOGON_HISTORY
  AFTER LOGON ON DATABASE --WHEN (USER='WACOS') --ONLY FOR USER 'WACOS'
  BEGIN
  INSERT INTO SESSION_HISTORY SELECT USERNAME,SID,SERIAL#,AUDSID,OSUSER,ACTION,SYSDATE,NULL,SYS_CONTEXT('USERENV','IP_ADDRESS'),TERMINAL,MACHINE,PROGRAM FROM V$SESSION WHERE AUDSID = USERENV('SESSIONID');
  END;
  查询当前日期:
  SQL> SELECT TO_CHAR(SYSDATE,'YYYY-MM-DD,HH24:MI:SS') FROM DUAL;
  查看所有表空间对应的数据文件名:
  SQL>SELECT DISTINCT FILE_NAME,TABLESPACE_NAME,AUTOEXTENSIBLE FROM DBA_DATA_FILES;
  查看表空间的使用情况:
  SQL>SELECT SUM(BYTES)/(1024*1024) AS FREE_SPACE,TABLESPACE_NAME
  FROM DBA_FREE_SPACE GROUP BY TABLESPACE_NAME;
  SQL>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;
  COLUMN TABLESPACE_NAME FORMAT A18;
  COLUMN SUM_M FORMAT A12;
  COLUMN USED_M FORMAT A12;
  COLUMN FREE_M FORMAT A12;
  COLUMN PTO_M FORMAT 9.99;
  SELECT S.TABLESPACE_NAME,CEIL(SUM(S.BYTES/1024/1024))||'M' SUM_M,CEIL(SUM(S.USEDSPACE/1024/1024))||'M' USED_M,CEIL(SUM(S.FREESPACE/1024/1024))||'M' FREE_M, SUM(S.USEDSPACE)/SUM(S.BYTES) PTUSED FROM (SELECT B.FILE_ID,B.TABLESPACE_NAME,B.BYTES, (B.BYTES-SUM(NVL(A.BYTES,0))) USEDSPACE, SUM(NVL(A.BYTES,0)) FREESPACE,(SUM(NVL(A.BYTES,0))/(B.BYTES)) * 100 FREEPERCENTRATIO FROM SYS.DBA_FREE_SPACE A,SYS.DBA_DATA_FILES B WHERE A.FILE_ID(+)=B.FILE_ID GROUP BY B.FILE_ID,B.TABLESPACE_NAME,B.BYTES ORDER BY B.TABLESPACE_NAME) S GROUP BY S.TABLESPACE_NAME ORDER BY SUM(S.FREESPACE)/SUM(S.BYTES) DESC;
  查看数据文件的hwm(可以resize的最小空间)和文件头大小:
  SELECT V1.FILE_NAME,V1.FILE_ID,NUM1 TOTLE_SPACE,NUM3 FREE_SPACE,
  NUM1-NUM3 "USED_SPACE(HWM)",NVL(NUM2,0) DATA_SPACE,NUM1-NUM3-NVL(NUM2,0) FILE_HEAD
  FROM
  (SELECT FILE_NAME,FILE_ID,SUM(BYTES) NUM1 FROM DBA_DATA_FILES GROUP BY FILE_NAME,FILE_ID) V1,
  (SELECT FILE_ID,SUM(BYTES) NUM2 FROM DBA_EXTENTS GROUP BY FILE_ID) V2,
  (SELECT FILE_ID,SUM(BYTES) NUM3 FROM DBA_FREE_SPACE GROUP BY FILE_ID) V3
  WHERE V1.FILE_ID=V2.FILE_ID(+) AND V1.FILE_ID=V3.FILE_ID(+);
  数据文件大小及头大小:
  SELECT V1.FILE_NAME,V1.FILE_ID,
  NUM1 TOTLE_SPACE,
  NUM3 FREE_SPACE,
  NUM1-NUM3 USED_SPACE,
  NVL(NUM2,0) DATA_SPACE,
  NUM1-NUM3-NVL(NUM2,0) FILE_HEAD
  FROM
  (SELECT FILE_NAME,FILE_ID,SUM(BYTES) NUM1 FROM DBA_DATA_FILES GROUP BY FILE_NAME,FILE_ID) V1,
  (SELECT FILE_ID,SUM(BYTES) NUM2 FROM DBA_EXTENTS GROUP BY FILE_ID) V2,
  (SELECT FILE_ID,SUM(BYTES) NUM3 FROM DBA_FREE_SPACE GROUP BY FILE_ID) V3
  WHERE V1.FILE_ID=V2.FILE_ID(+)
  AND V1.FILE_ID=V3.FILE_ID(+);
  (运行以上查询,我们可以如下信息:
  Totle_pace:该数据文件的总大小,字节为单位
  Free_space:该数据文件的剩于大小,字节为单位
  Used_space:该数据文件的已用空间,字节为单位
  Data_space:该数据文件中段数据占用空间,也就是数据空间,字节为单位
  File_Head:该数据文件头部占用空间,字节为单位)


运维网声明 1、欢迎大家加入本站运维交流群:群②:261659950 群⑤:202807635 群⑦870801961 群⑧679858003
2、本站所有主题由该帖子作者发表,该帖子作者与运维网享有帖子相关版权
3、所有作品的著作权均归原作者享有,请您和我们一样尊重他人的著作权等合法权益。如果您对作品感到满意,请购买正版
4、禁止制作、复制、发布和传播具有反动、淫秽、色情、暴力、凶杀等内容的信息,一经发现立即删除。若您因此触犯法律,一切后果自负,我们对此不承担任何责任
5、所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其内容的准确性、可靠性、正当性、安全性、合法性等负责,亦不承担任何法律责任
6、所有作品仅供您个人学习、研究或欣赏,不得用于商业或者其他用途,否则,一切后果均由您自己承担,我们对此不承担任何法律责任
7、如涉及侵犯版权等问题,请您及时通知我们,我们将立即采取措施予以解决
8、联系人Email:admin@iyunv.com 网址:www.yunweiku.com

所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其承担任何法律责任,如涉及侵犯版权等问题,请您及时通知我们,我们将立即处理,联系人Email:kefu@iyunv.com,QQ:1061981298 本贴地址:https://www.yunweiku.com/thread-622222-1-1.html 上篇帖子: Python将SQL server 数据库导入到mongoDB数据库中 下篇帖子: SQL日期格式化应用大全
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

扫码加入运维网微信交流群X

扫码加入运维网微信交流群

扫描二维码加入运维网微信交流群,最新一手资源尽在官方微信交流群!快快加入我们吧...

扫描微信二维码查看详情

客服E-mail:kefu@iyunv.com 客服QQ:1061981298


QQ群⑦:运维网交流群⑦ QQ群⑧:运维网交流群⑧ k8s群:运维网kubernetes交流群


提醒:禁止发布任何违反国家法律、法规的言论与图片等内容;本站内容均来自个人观点与网络等信息,非本站认同之观点.


本站大部分资源是网友从网上搜集分享而来,其版权均归原作者及其网站所有,我们尊重他人的合法权益,如有内容侵犯您的合法权益,请及时与我们联系进行核实删除!



合作伙伴: 青云cloud

快速回复 返回顶部 返回列表