今天看到生產系統表空間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 => '');