【问题标题】:Changing tablespace increment size更改表空间增量大小
【发布时间】:2017-05-27 22:27:15
【问题描述】:

我们的一个数据文件达到了 32G 的最大值。因此,我们在该表空间中创建了第二个数据文件。

但是,我们忘记提供默认的 NEXT 大小。因此,文件 1 的 NEXT 为 50MB。文件 2 的 NEXT 为 8k。

这些都是本地管理的,所以,我猜唯一要做的就是创建一个新的表空间,并移动所有的对象。还是有其他解决方案?一个问题:如何移动 TYPES?我需要删除并重新创建这些吗?这将使很多事情无效.......

有什么建议吗?我可以只隔离那个数据文件中的对象吗?

谢谢你。

【问题讨论】:

  • 您可以创建“BIG FILE”,而不是添加 2 个数据文件,它可以变得非常大。并且 BIGFILE 支持 chan NEXT 值 ALTER TABLESPACE my_TBS_name AUTOEXTEND ON NEXT 20G;

标签: oracle tablespace


【解决方案1】:

您应该始终先咨询Oracle documentation。你要求的是一个简单的single-SQL-command-involving action。您错过的关键知识是您不要更改表空间,alter a datafile

概念证明

首先,我将只查询我的example 表空间的块大小,因为我将使用该值来证明我的数据文件已正确更改。

SQL> select tablespace_name, block_size
SQL> from dba_tablespaces
SQL> where tablespace_name = 'EXAMPLE';

TABLESPACE_NAME                BLOCK_SIZE
------------------------------ ----------
EXAMPLE                              8192

好的,tbs 使用 8KB 的块大小。

现在,我的example 数据文件是什么样的?

SQL> select file_name, file_id, tablespace_name, autoextensible, increment_by * &example_tbs_block_size_b / 1048576 as increment_by_mbytes
SQL> from dba_data_files
SQL> where tablespace_name = 'EXAMPLE';

FILE_NAME                          FILE_ID    TABLESPACE_NAME AUTOEXTENSIBLE INCREMENT_BY_MBYTES
---------------------------------- ---------- --------------- -------------- -------------------
D:\ORA\MY_CDB\MY_PDB\EXAMPLE01.DBF         10 EXAMPLE         YES                              1

好的,我只看到一个自动扩展为 1MB 的数据文件。

现在修改数据文件...

SQL> alter database datafile 10 autoextend on next &target_autoextend maxsize unlimited;

Database altered

并再次检查 tbs 数据文件

SQL> select file_name, file_id, tablespace_name, autoextensible, increment_by * &example_tbs_block_size_b / 1048576 as increment_by_mbytes
SQL> from dba_data_files
SQL> where tablespace_name = 'EXAMPLE';

FILE_NAME                          FILE_ID    TABLESPACE_NAME AUTOEXTENSIBLE INCREMENT_BY_MBYTES
---------------------------------- ---------- --------------- -------------- -------------------
D:\ORA\MY_CDB\MY_PDB\EXAMPLE01.DBF         10 EXAMPLE         YES                              8

而且,瞧,我有一个 8MB 的自动扩展。

【讨论】:

  • 这对临时文件也有效吗?
  • @kamalpreet,是的,它会的,请记住,在这种情况下,您不会更改“数据文件”,而是更改“临时文件”。其余的保持不变。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2015-11-12
  • 2021-01-22
  • 1970-01-01
  • 2016-06-05
  • 1970-01-01
  • 1970-01-01
  • 2011-01-14
相关资源
最近更新 更多