今天看到生產系統表空間99了,果斷給表空間加數據文件。沒問題,果斷搞定。
晚上回味的時候,一身冷汗。生產系統RAC,加數據文件是在共享存儲。路徑加對了,但是數據文件的後綴名加錯了!
原來的數據文件名:
+data/datafile/xxxxxx.dat
我加的數據文件:
+data/datafile/xxxxxx.dbf
業務不會就這樣跪了吧????
果斷做了測試:
創建一個包含.dbf和.dat的表空間,並在該表空間中創建測試表 create tablespace dxmy datafile '/u01/app/oracle/oradata/single1/dxmy001.dat' size 2m autoextend off; alter tablespace dxmy add datafile '/u01/app/oracle/oradata/single1/dxmy002.xo' size 2m autoextend off; alter tablespace dxmy add datafile '/u01/app/oracle/oradata/single1/dxmy003.dbf' size 4m autoextend off; create table tab_test (id number,name varchar2(100)) tablespace dxmy;
插入數據:
declare
begin
for i in 1 .. 100000 loop
insert into tab_test values (i,i||'dxmy');
end loop;
commit;
end;
查看表所占空間:
select owner,
table_name,
NUM_ROWS,
BLOCKS * 8192 / 1024 / 1024 "Size M",
EMPTY_BLOCKS,
LAST_ANALYZED
from dba_tables
where table_name = 'TAB_TEST';
OWNER TABLE_NAME NUM_ROWS Size M EMPTY_BLOCKS LAST_ANALYZED
LM TAB_TEST 200000 4.859375 0 2015/12/10 6:29:07
發現已經大於1M了,說明三個數據文件都是在用的。PS:如果查表所占空間無數據,執行表分析語句就好。
exec dbms_stats.get_tables_stats(ownname => '',tabname => '');