Oracle数据库查看表空间sql语句、查看Oracle数据库表空间剩余 、修改表空间、库备份
一? Oracle數據庫查看表空間sql語句
1、oracle查看表空間當前用戶
SQL>? select? username,default_tablespace? from user_users;
2、oracle 查看表所屬表空間
SQL>? SELECT
?TABLE_NAME,TABLESPACE_NAME
FROM USER_TABLES
where TABLE_NAME = 'test_table'
3、oracle查看表空間大小(單位不是GB)
SQL>?? SELECT
?a.tablespace_name??????????????????????? "表空間名",
?total??????????????????????????????????? "表空間大小",
?free???????????????????????????????????? "表空間剩余大小",
?( total - free )???????????????????????? "表空間使用大小",
? Round(( total - free ) / total, 4) * 100 "使用率?? %"
FROM?? (SELECT tablespace_name,
?????????????? Sum(bytes) free
??????? FROM?? DBA_FREE_SPACE
??????? GROUP? BY tablespace_name) a,
?????? (SELECT tablespace_name,
?????????????? Sum(bytes) total
??????? FROM?? DBA_DATA_FILES
??????? GROUP? BY tablespace_name) b
WHERE ?
? a.tablespace_name = b.tablespace_name
4、oracle查看表空間大小 -單位GB
SQL>?? SELECT
?a.tablespace_name??? "表空間名",
?total??????????????? "表空間大小",
?free???????????????? "表空間剩余大小",
?(total - free)??????? "表空間使用大小",
?total / (1024 * 1024 * 1024) "表空間大小(G)",
?free / (1024 * 1024 * 1024)?? "表空間剩余大小(G)",
?(total - free) / (1024 * 1024 * 1024) "表空間使用大小(G)",
round((total - free) / total, 4) * 100 "使用率 %"
FROM (SELECT tablespace_name, SUM(bytes) free
?????? FROM dba_free_space
??????? GROUP BY tablespace_name) a,
??? (SELECT tablespace_name, SUM(bytes) total
???? FROM dba_data_files
?????? GROUP BY tablespace_name) b
WHERE
a.? tablespace_name = b.tablespace_name;
5.--Oracle查看表所屬表空間
SQL>?? SELECT TABLE_NAME,TABLESPACE_NAME
FROM USER_TABLES
WHERE TABLE_NAME='test_table';
二? 查看Oracle數據庫表空間剩余
1)查看表空間物理文件的名稱及大小?
SQL> SELECT tablespace_name,
file_id,
file_name,
round(bytes/(1024*1024*1024), 2)||' GB' total_space
FROM dba_data_files
ORDER BY tablespace_name;
2)查看表空間的使用情況?
SELECT round(SUM(bytes)/(1024*1024*1024),2)||' GB' AS free_space, tablespace_name?
FROM dba_free_space?
GROUP BY tablespace_name;?
3)查看表空間的使用情況?
SELECT a.tablespace_name,?
round(a.bytes/(1024*1024*1024),2)||' GB' total,?
round(b.bytes/(1024*1024*1024),2)||' GB' used,?
round(c.bytes/(1024*1024*1024),2)||' GB' free,?
round((b.bytes * 100) / a.bytes)||'%' "% USED ",?
round((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;?
三? 查看、修改Oracle數據庫表空間大小
查看所有表空間信息
select tablespace_name,file_id,bytes/1024/1024,file_name
from dba_data_files order by file_id;
?
-- 修改表空間大小
ALTER TABLESPACE WEBSITE ADD DATAFILE
'D:\SDE06.DBF' SIZE 20480M;? -- 此處文件路徑可以由上面查到的路徑而來
?
四? ORACLE 查看RMAN的備份信息總結
?
1,檢查某個時間段備份情況
SELECT t.START_TIME,t.END_TIME,t.STATUS,t.OBJECT_TYPE,t.RECIDFROM V$RMAN_STATUS t where t.START_TIME between trunc(sysdate)-2 and sysdateand t.OPERATION='BACKUP'; SQL> SELECT ROW_TYPE,COMMAND_ID,OPERATION,STATUS,OBJECT_TYPE FROM V$RMAN_STATUS WHERE START_TIME >= trunc(sysdate);2,從V$RMAN_BACKUP_JOB_DETAILS中查看RMAN備份更詳細的信息
SQL> set sqlformat ansiconsole SQL> SELECT START_TIME,END_TIME,OUTPUT_DEVICE_TYPE,STATUS,ELAPSED_SECONDS,COMPRESSION_RATIO,INPUT_BYTES_DISPLAY,OUTPUT_BYTES_DISPLAYFROM V$RMAN_BACKUP_JOB_DETAILS where START_TIME>=trunc(sysdate)-1 ORDER BY START_TIME DESC; SQL> SELECT t.COMMAND_ID as "備份名",t.STATUS as "狀態",t.START_TIME as "開始時間",t.TIME_TAKEN_DISPLAY as "所用時間",t.END_TIME as "結束時間",t.INPUT_TYPE as "類型",t.OUTPUT_DEVICE_TYPE as "輸出設備",t.INPUT_BYTES_DISPLAY as "輸入大小",t.OUTPUT_BYTES_DISPLAY as "輸出大小",t.OUTPUT_BYTES_PER_SEC_DISPLAY as "輸出速率(每秒)"FROM V$RMAN_BACKUP_JOB_DETAILS t where START_TIME>=trunc(sysdate)-7 ORDER BY START_TIME DESC;3,查看所有備份集詳細信息
SQL> SELECT A.RECID "BACKUP SET",A.SET_STAMP,DECODE (B.INCREMENTAL_LEVEL,'', DECODE (BACKUP_TYPE, 'L', 'Archivelog', 'Full'),1, 'Incr-1級',0, 'Incr-0級',B.INCREMENTAL_LEVEL)"Type LV",B.CONTROLFILE_INCLUDED "包含CTL",DECODE (A.STATUS,'A', 'AVAILABLE','D', 'DELETED','X', 'EXPIRED','ERROR')"STATUS",A.DEVICE_TYPE "Device Type",A.START_TIME "Start Time",A.COMPLETION_TIME "Completion Time",A.ELAPSED_SECONDS "Elapsed Seconds",A.BYTES/1024/1024/1024 "Size(G)",A.COMPRESSED,A.TAG "Tag",A.HANDLE "Path"FROM GV$BACKUP_PIECE A, GV$BACKUP_SET BWHERE A.SET_STAMP = B.SET_STAMP AND A.DELETED = 'NO'ORDER BY A.COMPLETION_TIME DESC;4,查找某個備份集中包含數據文件
SELECT DISTINCT c.file#,A.SET_STAMP, D.NAME, C.CHECKPOINT_CHANGE#, C.CHECKPOINT_TIMEFROM V$BACKUP_DATAFILE C, V$BACKUP_PIECE A, V$DATAFILE DWHERE A.SET_STAMP = C.SET_STAMP AND D.FILE# = C.FILE# AND A.DELETED='NO' and a.START_TIME>trunc(sysdate) AND c.set_stamp='999651695' ORDER BY C.FILE#;5,查詢某個備份集中控制文件
SELECT DISTINCT A.SET_STAMP,D.NAME,C.CHECKPOINT_CHANGE#,C.CHECKPOINT_TIMEFROM V$BACKUP_DATAFILE C, V$BACKUP_PIECE A, V$CONTROLFILE DWHERE A.SET_STAMP = C.SET_STAMP AND C.FILE# = 0 AND A.DELETED = 'NO'and a."START_TIME">trunc(sysdate) AND C.SET_STAMP = '999651780';6,查看某個備份集中歸檔日志
SELECT DISTINCT B.SET_STAMP,B.THREAD#,B.SEQUENCE#,B.FIRST_TIME,B.FIRST_CHANGE#,B.NEXT_TIME,B.NEXT_CHANGE#FROM V$BACKUP_REDOLOG B, V$BACKUP_PIECE AWHERE A.SET_STAMP = B.SET_STAMP AND A.DELETED = 'NO'and a.START_TIME>trunc(sysdate) AND B.SET_STAMP ='999651783'ORDER BY THREAD#, SEQUENCE#;7,查看某個備份集SPFILE
SELECT DISTINCT A.SET_STAMP, B.COMPLETION_TIME,HANDLEFROM V$BACKUP_SPFILE B, V$BACKUP_PIECE AWHERE A.SET_STAMP = B.SET_STAMP AND A.DELETED = 'NO'and a."START_TIME">trunc(sysdate) and B.SET_STAMP ='999651798';8,查詢RMAN的配置信息
SELECT NAME,VALUE FROM V$RMAN_CONFIGURATION;?
?
?
?
?
?
?
?
?
?
?
?
?
?
總結
以上是生活随笔為你收集整理的Oracle数据库查看表空间sql语句、查看Oracle数据库表空间剩余 、修改表空间、库备份的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 四章: CentOS6.5 配置连接W
- 下一篇: oracle11g中rman基本使用方法