1397535668 发表于 2018-9-14 10:36:00

oracle中表空间的大小修改问题

  有时候oracle的表空间不免会不够用,这时候该怎么修改表空间的大小呢?
  其实有两种方法,一个给表空间在添加个数据文件,另一个是直接在原的基础上增加表空间的大小。
  一、直接给表空间增加数据文件:

  SQL>>  2add datafile 'h:\oracle\orcl\shoppingmall_tbs2.dbf'
  3size 5m
  4;
  表空间已更改。
  二、在原来的基础上增加表空间的大小

  SQL>>  2resize 15m
  3;
  数据库已更改。
  之后可以查看语句有没有起作用
  SQL> select tablespace_name,sum(bytes)/1024/1024 from dba_data_files
  2group by tablespace_name
  3
  SQL> /
  TABLESPACE_NAME                SUM(BYTES)/1024/1024
  ------------------------------ --------------------
  SYSAUX                                          260
  UNDOTBS1                                       25
  USERS                                             5
  SYSTEM                                          480
  SHOPPINGMALL_TBS                                 20
  当然如果一开始定义表空间的时候就把自动扩展和最大值设置好,以后也不必这么麻烦。
  不过现在增加自动扩展和最大值也是没有问题的:
  查看自动拓展是否启动(可以看到下面的shoppingmall_tbs.dbf是没有启动的):
  SQL> select file_name,tablespace_name,autoextensible from dba_data_files;
  FILE_NAME
  --------------------------------------------------------------------------------
  TABLESPACE_NAME                AUT
  ------------------------------ ---
  H:\WIN7\ORACLE\PRODUCT\10.2.0\ORADATA\ORCL\USERS01.DBF
  USERS                        YES
  H:\WIN7\ORACLE\PRODUCT\10.2.0\ORADATA\ORCL\SYSAUX01.DBF
  SYSAUX                         YES
  H:\WIN7\ORACLE\PRODUCT\10.2.0\ORADATA\ORCL\UNDOTBS01.DBF
  UNDOTBS1                     YES
  FILE_NAME
  --------------------------------------------------------------------------------
  TABLESPACE_NAME                AUT
  ------------------------------ ---
  H:\WIN7\ORACLE\PRODUCT\10.2.0\ORADATA\ORCL\SYSTEM01.DBF
  SYSTEM                         YES
  H:\ORACLE\ORCL\SHOPPINGMALL_TBS.DBF
  SHOPPINGMALL_TBS               NO
  H:\ORACLE\ORCL\SHOPPINGMALL_TBS2.DBF
  SHOPPINGMALL_TBS               NO
  已选择6行。
  接着让shoppingmall_tbs.dbf启动autoextend

  SQL>>  数据库已更改。

  SQL>>  2autoextend on next 5m
  3
  SQL> /
  数据库已更改。

  SQL>>  2maxsize 30m
  3
  SQL> /
  maxsize 30m
  *
  第 2 行出现错误:
  ORA-01916: 需要关键字 ONLINE, OFFLINE, RESIZE, AUTOEXTEND 或 END/DROP
  //这里给大家一个反面例子,maxsize要和autoextend等其中一个使用,单独使用是不行的。

  SQL>>  2autoextend on next 5m
  3maxsize 30m
  4
  SQL> /
  数据库已更改。

页: [1]
查看完整版本: oracle中表空间的大小修改问题