视频1 视频21 视频41 视频61 视频文章1 视频文章21 视频文章41 视频文章61 推荐1 推荐3 推荐5 推荐7 推荐9 推荐11 推荐13 推荐15 推荐17 推荐19 推荐21 推荐23 推荐25 推荐27 推荐29 推荐31 推荐33 推荐35 推荐37 推荐39 推荐41 推荐43 推荐45 推荐47 推荐49 关键词1 关键词101 关键词201 关键词301 关键词401 关键词501 关键词601 关键词701 关键词801 关键词901 关键词1001 关键词1101 关键词1201 关键词1301 关键词1401 关键词1501 关键词1601 关键词1701 关键词1801 关键词1901 视频扩展1 视频扩展6 视频扩展11 视频扩展16 文章1 文章201 文章401 文章601 文章801 文章1001 资讯1 资讯501 资讯1001 资讯1501 标签1 标签501 标签1001 关键词1 关键词501 关键词1001 关键词1501 专题2001
数据文件的后缀名_MySQL
2020-11-09 20:14:10 责编:小采
文档


今天看到生产系统表空间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了,说明三个数据文件都是在用的。
也就是说,Oracle用数据文件,只要数据文件属于该表空间,就能用,不管后缀名。

PS:如果查表所占空间无数据,执行表分析语句就好。

exec dbms_stats.get_tables_stats(ownname => '',tabname => '');

下载本文
显示全文
专题