oracle更改system表空间大小,收缩system表空间大小

注:这种方法功能有限,如果system表空间末尾写入了一些系统表资料,那么是无法回收的。

C:\Documents and Settings\Administrator.XY>sqlplus "/as sysdba"

SQL*Plus: Release 10.2.0.1.0 - Production on 星期三 2月 14 10:45:30 2007

Copyright (c) 1982, 2005, Oracle.  All rights reserved.

连接到:

Oracle Database 10g Enterprise Edition Release 10.2.0.1.0 - Production

With the Partitioning, OLAP and Data Mining options

SQL> conn system/oracle@orcl

已连接。

查看初始表空间大小

SQL> select tablespace_name,bytes/1024/1024/1024 "大小(G)" from v$datafile_hea

der where tablespace_name='SYSTEM';

TABLESPACE_NAME                 大小(G)

------------------------------ ----------

SYSTEM                         .478515625

将表空间设定自动扩展

SQL> alter database datafile 1 autoextend on next 100m maxsize 2G;

数据库已更改。

在system下创建测试表并插入数据

SQL> create table t as select * from dba_objects;

表已创建。

SQL> insert into t  select * from t;

已创建50362行。

SQL> /

已创建100724行。

SQL> /

已创建201448行。

SQL> /

已创建402896行。

SQL>

SQL> /

已创建805792行。

SQL> /

已创建1611584行。

SQL> /

已创建3223168行。

SQL> commit;

提交完成。

查看此时表空间大小

SQL> select tablespace_name,bytes/1024/1024/1024 "大小(G)" from v$datafile_hea

der where tablespace_name='SYSTEM';

TABLESPACE_NAME                 大小(G)

------------------------------ ----------

SYSTEM                         1.16210938

删除数据

SQL> truncate table t;

表被截断。

SQL> alter database datafile 1 resize 500m;

数据库已更改。

此时system表空间已经成功收缩,

SQL> select tablespace_name,bytes/1024/1024/1024 "大小(G)" from v$datafile_hea

der where tablespace_name='SYSTEM';

TABLESPACE_NAME                 大小(G)

------------------------------ ----------

SYSTEM                          .48828125

SQL>

继续ing

SQL> insert into t select * from dba_objects;

已创建50399行。

SQL> insert into t  select * from t;

已创建50399行。

SQL> /

已创建100798行。

SQL> /

已创建201596行。

SQL> /

已创建403192行。

SQL> /

已创建806384行。

SQL> select tablespace_name,bytes/1024/1024/1024 "大小(G)" from v$datafile_hea

der where tablespace_name='SYSTEM';

TABLESPACE_NAME                 大小(G)

------------------------------ ----------

SYSTEM                          .68359375

SQL> commit;

提交完成。

SQL> drop table t;

表已删除。

SQL> alter database datafile 1 resize 500m;

数据库已更改。

SQL> select tablespace_name,bytes/1024/1024/1024 "大小(G)" from v$datafile_hea

der where tablespace_name='SYSTEM';

TABLESPACE_NAME                 大小(G)

------------------------------ ----------

SYSTEM                          .48828125

SQL>

由此可见删除表后也可以resize datafile,也可以说明drop table也回收hwm

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值