添加数据文件,扩充表空间

Oracle表空间是有限制的,当数据库中数据量达到这个值,再向数据库中导入数据就会报错。解决方法是扩展表空间

。可以选择将表容量扩大,比如扩展到5G,或者当表空间不够时每次自动增加一定的容量,如每次自增200M。
有三种方法可以扩充表空间:
一、增加表空间原有数据文件的大小;
二、设置表空间的自动增长;
三、为表空间添加数据文件,通过向表空间添加数据文件,来增大表空间。

总结:oracle 表空间的扩充步骤如下:
1.查看表空间的大小,查询哪一个表空间已经爆满或者快要爆满
2.查看表空间下的数据文件,数据文件的命名格式,大小,位置,是否自动增长
3.根据表空间下的数据文件格式、大小、位置、是否自动增长添加数据文件
4.查看数据文件是否添加成功,查看表空间大小。确认已经添加成功。


[oracle@yuanji ~]$ sqlplus / as sysdba
查看各表空间分配情况
SQL> select tablespace_name, sum(bytes) / 1024 / 1024  from dba_data_files group by tablespace_name;

TABLESPACE_NAME                SUM(BYTES)/1024/1024
------------------------------ --------------------
UNDOTBS1                                         95
SYSAUX                                          580
USERS                                             5
SYSTEM                                          750


.查看各表空间空闲情况。
SQL> select tablespace_name, sum(bytes) / 1024 / 1024  from dba_free_space  group by tablespace_name;

TABLESPACE_NAME                SUM(BYTES)/1024/1024
------------------------------ --------------------
SYSAUX                                      29.0625
UNDOTBS1                                    59.5625
USERS                                        3.6875
SYSTEM                                       7.3125

SQL> select file#,name from v$datafile;

     FILE#
----------
NAME
--------------------------------------------------------------------------------
         1
/data/YUANJI/datafile/o1_mf_system_bzzbwws6_.dbf

         2
/data/YUANJI/datafile/o1_mf_sysaux_bzzbwww5_.dbf

         3
/data/YUANJI/datafile/o1_mf_undotbs1_bzzbwwwj_.dbf


     FILE#
----------
NAME
--------------------------------------------------------------------------------
         4
/data/YUANJI/datafile/o1_mf_users_bzzbwwy6_.dbf

*************************************************************

一、增加表空间原有数据文件的大小;
更改数据表大小(10G)
在这里把uses的变空间设置为600M
SQL> alter database datafile '/data/YUANJI/datafile/o1_mf_users_bzzbwwy6_.dbf'resize 600m;

Database altered.
*************************************************************

二、设置表空间自动增长:
查询表空间是否自动增长:
SQL> SELECT FILE_NAME,TABLESPACE_NAME,AUTOEXTENSIBLE FROM dba_data_files;

FILE_NAME
------------------------------------------------------------------------------------------------------

------------------------------------------------
TABLESPACE_NAME                AUT
------------------------------ ---
/data/YUANJI/datafile/o1_mf_users_bzzbwwy6_.dbf
USERS                          YES

/data/YUANJI/datafile/o1_mf_undotbs1_bzzbwwwj_.dbf
UNDOTBS1                       YES

/data/YUANJI/datafile/o1_mf_sysaux_bzzbwww5_.dbf
SYSAUX                         YES

/data/YUANJI/datafile/o1_mf_system_bzzbwws6_.dbf
SYSTEM                         YES

查询 tablespace_name 的 file_id ,通过id 设置表空间自动增长;
SQL> select file_id,tablespace_name from dba_data_files;

   FILE_ID TABLESPACE_NAME
---------- ------------------------------
         4 USERS
         3 UNDOTBS1
         2 SYSAUX
         1 SYSTEM
《例如:alter database datafile <file_id> autoextend on next 10M maxsize 10G; 》
SQL> alter database datafile 3  autoextend on;    ----打开自动增长

Database altered.

SQL> alter database datafile 3 autoextend on NEXT 20m;   ---每次自动增长20m;

Database altered.

SQL>  alter database datafile 3 autoextend on NEXT 20m maxsize 2048m;  --每次自动增长20m,数据表空间最

大不超过1G;

Database altered.

*************************************************************

三、为表空间添加数据文件,通过向表空间添加数据文件,来增大表空间。

SQL> show parameter db_create_file_dest

NAME                                 TYPE        VALUE
------------------------------------ ----------- ------------------------------
db_create_file_dest                  string      /data
如果db_create_file_dest  参数value 有了值,那么可以这么添加以下语句:(如果db_create_file_dest参数有value值,可以用路径/*.dbf 代替自己起的.dbf名字即可)
SQL>  alter tablespace USERS add  datafile '/data/YUANJI/datafile/*.dbf' size 10m;


首先可以查询以下数据文件的大小:
SQL> select file_name,bytes/1024/1024 "size" from dba_data_files;

FILE_NAME
--------------------------------------------------------------------------------
      size
----------
/data/YUANJI/datafile/o1_mf_users_bzzbwwy6_.dbf
         5

/data/YUANJI/datafile/o1_mf_undotbs1_bzzbwwwj_.dbf
        95

/data/YUANJI/datafile/o1_mf_sysaux_bzzbwww5_.dbf
       590


FILE_NAME
--------------------------------------------------------------------------------
      size
----------
/data/YUANJI/datafile/o1_mf_system_bzzbwws6_.dbf
       750

然后添加数据文件扩充表空间

SQL> alter tablespace USERS add  datafile '/data/YUANJI/datafile/o2_my_users_sslsfnn_8.dbf' size 10m;

Tablespace altered.


或者

SQL> alter tablespace USERS add  datafile '/data/YUANJI/datafile/032_my_users_fdgdgg_9.dbf' size 200m

autoextend on next 20m maxsize unlimited;


Tablespace altered.

《ALTER TABLESPACE 表空间名  ADD DATAFILE '数据文件路径' SIZE 500M  AUTOEXTEND ON NEXT 100M MAXSIZE

UNLIMITED; 》


删除表空间命令:

drop tablespace user including contents and datafiles;

注意:
SQL> show parameter db_create_file_dest

NAME                                 TYPE        VALUE
------------------------------------ ----------- ------------------------------
db_create_file_dest                  string      /data
如果db_create_file_dest  参数value 有了值,那么可以这么添加以下语句
SQL>alter tablespace USERS add  datafile '/data/YUANJI/datafile/*.dbf' size 200m autoextend on next 20m maxsize unlimited;
  • 1
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值