当前位置:首页 > Oracle
给表空间增加数据文件,扩展表空间
来源:靑龍一笑的博客  作者:靑龍一笑  发布时间:2021-08-23 09:54:31  点击量:626  评论:0

    Oracle 表空间数据文件容量与 db_block_size 设置有关,这个参数在创建数据库实例的时候就已经指定了。
    可以使用如下命令查看 Oracle 的数据块大小:

SQL> select value from v$parameter where name='db_block_size';

VALUE
--------------------------------------------------------------
8192

    一般情况下,db_block_size 的大小是 8K。而 Oracle 的物理文件最大只允许 4194304 个数据块。
    所以,4194304*8=33554432(单位是K)=32G
    也就是说,即使创建表空间时设置了“autoextend on next 50M maxsize unlimited”,其最大空间也不会超过 32G。
    当数据文件超过 32G 时,将无法继续写入数据,从而报“ORA-01653: 表 xxx 无法通过 8192 (在表空间 xxx 中) 扩展”错误。
    为了演示方便,我这里创建了一个比较小的表空间(只有 3M):

create tablespace blog
datafile 'F:\DB_Data\blog.dbf'
size 3M;

create user blog identified by p2021#DBA
default tablespace blog;

grant connect, resource, exp_full_database, imp_full_database to blog;


    然后,添加数据进去:

    很快,表空间就被撑爆了。
    接下来,使用两种方法给表空间增加数据文件,扩展表空间。

方法一:使用命令

alter tablespace blog
add datafile 'F:\DB_Data\blog_new.dbf'
size 50M
autoextend on
next 50M maxsize unlimited;


    从 Toad 上可以看到表空间已经扩展到 53M,而且最大是 32G 了:

方法二:使用 Toad 可视化客户端工具

    点击添加数据文件按钮:

    指定一个数据文件名,初始大小同样为 50M,超过时按每 50M 大小进行自动扩展:

    可以看到,跟刚才使用命令的结果是一样的:

    现在表空间已经扩展到 103M,而且最大是 64G 了:

    经测试,使用均正常:

版权所有 © 2005-2023 靑龍一笑的博客  Powered by C.S.Ricen
Copyright © 2005-2023 by www.ricensoftwares.com.cn  All Rights Reserved.

欢迎光临本站,这里是靑龍一笑的博客。

因资金匮乏,本站已迁到国外的免费空间,可能导致本站的访问速度较慢,由此给您带来的不便,敬请谅解。

您可以通过下方的“支持本站建设”链接,给本站提供资金支持。

Free Web Hosting