在上篇oracle檢視表空間物件中,我介紹了如何查詢乙個表空間有那些資料庫物件,那麼我們是否可以檢視某個資料檔案包含那些資料庫物件呢?如下所示
select e.segment_type as segment_type
, e.segment_name as segment_name
, f.file_name as file_name
, sum(e.bytes)/1024/1024 as segment_size
from dba_extents e
innerjoin dba_data_files f on e.file_id= f.file_id
where f.file_id =109
groupby e.segment_type,e.segment_name,f.file_name
orderby 4 desc;
select e.segment_type as segment_type
, e.segment_name as segment_name
, f.file_name as file_name
, sum(e.bytes)/1024/1024 as segment_size
from dba_extents e
innerjoin dba_data_files f on e.file_id= f.file_id
where f.file_name =&file_name
groupby e.segment_type,e.segment_name,f.file_name
orderby 4 desc;
錯誤的寫法,如下所示,dba_segments的header_file表示id of the file containing the segment header,主要是因為僅僅包含段物件的段頭所在的檔案。
select ds.owner as owner
,df.file_name as file_name
,ds.segment_name as segment_name
,ds.segment_type as segment_type
,sum(ds.bytes)/1024/1024 as segment_size
from dba_segments ds
leftjoin dba_data_files df on ds.header_file = df.file_id
where ds.tablespace_name=&tablespace_name
and df.file_id=&file_id
groupby owner,file_name,segment_name,segment_type
orderby 4;
oracle 資料檔案移動
1.連線 sqlplus nolog sql conn sys prd1 as sysdba 2.一些基本的操作 1 檢視表空間 sql select from v tablespace 2 檢視資料檔案 sql select from v datafile 3 檢視tablespace 和data...
oracle資料檔案丟失。
今天來上班聽說我們的資料庫伺服器連不上,說是昨晚停電伺服器都掛掉了。初步考慮應該是資料庫沒有自動拉起造成的,手動執行拉起指令碼資料庫仍然無法連線。後來檢視oracle啟動日誌以及跟蹤日誌如下 cd opt oracle admin oracle9i bdump more alert oracle9i...
遷移oracle資料檔案
引言 現在的生產環境,底層大多使用asm技術了。但這並不妨礙使用者把檔案 資料檔案 引數檔案 控制檔案等 放到檔案系統上。在一些不規範的操作場景下,乙個不小心,檔案位置就放錯了。此時,可能沒辦法將檔案刪除 再重建,只能將該檔案遷移到asm中。還有一種情況,某個存在asm中的檔案,要挪到檔案系統中,這...