您的位置:首页 > 数据库 > Oracle

oracle表空间扩展

2017-06-11 15:44 288 查看
    批量插入数据的时候,出现插入数据失败的情况。经过查询报错信息,发现是表空间不足。经过查询资料,对表空间有了一定的认知。将实践过的一些知识总结如下,以备不时之需。

    1,查询表空间名字和数据文件

    select tablespace_name, file_id, file_name,round(bytes/(1024*1024),0) total_space from dba_data_files order by tablespace_name;

    2,增加该表空间新的数据文件

    ALTER TABLESPACE 表空间名 ADD DATAFILE '/u01/app/oracle/oradata/dipdb/dlog_data02.dbf' SIZE 1024M;

    执行这行命令的时候注意几点:1)表空间名是你要扩容的表空间名称;2)单引号中的内容是新的数据文件路径和名称,名称不要与已存在数据文件相同;3)大小根据自己的需求自定义。

    3,更改已有数据文件大小

    ALTER DATABASE DATAFILE '/u01/app/oracle/oradata/dipdb/dlog_data02.dbf' RESIZE 2048M;

    4,设置数据文件的自动扩展

    ALTER DATABASE DATAFILE '/u01/app/oracle/oradata/dipdb/dlog_data02.dbf' AUTOEXTEND ON NEXT 1024M MAXSIZE 10240M;

    这条命令就是在dlog_data02.dbf文件空间不足后,自动扩容1024M,最大空间不超过10240M。

    5,设置完毕后查看表空间信息

    SELECT A.TABLESPACE_NAME,A.BYTES TOTAL,B.BYTES USED, C.BYTES FREE,(B.BYTES*100)/A.BYTES "% USED",(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
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息