如何将数据文件添加到已经满的表空间?
How to add the datafile to tablespace which is already full?
考虑初始 Tablespace 声明为
CREATE TABLESPACE tbs_perm_02
DATAFILE 'tbs_perm_02.dat'
SIZE 10M
REUSE
AUTOEXTEND ON NEXT 10M MAXSIZE 200M;
声明的 space 已用完,我需要添加更多数据文件。
作为
ALTER TABLESPACE tbs_perm_02
ADD DATAFILE 'tbs_perm_02.dat'
SIZE 20M
AUTOEXTEND ON;
这里的重点是table地方已经用完了它最初声明的10M加200M的价值。但是当我们用扩展数据文件改变 tablespace 时,会成功吗?或者在这种情况下是否有另一种扩展或更改的方法。
这将不起作用,因为您添加的数据文件与第一个数据文件同名。
size/autoextend/maxsize - 子句引用数据文件,而不是表空间。所以数据文件被耗尽,而不是表空间。您可以将第二个数据文件添加到您的表空间
ALTER TABLESPACE tbs_perm_02 ADD DATAFILE 'tbs_perm_02_02.dat'
SIZE 20M AUTOEXTEND ON NEXT 10M MAXSIZE 200M;
或者您可以更改表空间的数据文件的 MAXSIZE
ALTER DATABASE DATAFILE 'tbs_perm_02.dat' RESIZE
AUTOEXTEND ON NEXT 10M MAXSIZE 400M;
数据文件可以是文件系统或 ASM 存储的一部分。如果数据库正在使用 ASM 存储,那么您需要检查磁盘组名称以添加数据文件。
在 ASM 中 add datafile 的步骤:
检查磁盘组位置以添加数据文件:
显示参数db_create_filedest;
ALTER TABLESPACE tablespace_name ADD DATAFILE 'LOCATION' SIZE 10M AUTOEXTEND ON MAXSIZE 10G;
最大大小:8k 块大小高达 32G,16K 块大小高达 64G。
添加位于 file_system 的数据文件:
select file_name, bytes/1024/1024/1024,MAXBYTES/1024/1024/1024, autoextensible from dba_data_files where TABLESPACE_NAME='&TABLESPACE_NAME';
ALTER TABLESPACE tablespace_name ADD DATAFILE 'location' SIZE 10M AUTOEXTEND ON MAXSIZE 10G;
例如:
ALTER TABLESPACE tablespace_name ADD DATAFILE '/U01/ORACLE/DATAFILES/TESTDB/users02.dbf' SIZE 10M AUTOEXTEND ON MAXSIZE 10G;
考虑初始 Tablespace 声明为
CREATE TABLESPACE tbs_perm_02
DATAFILE 'tbs_perm_02.dat'
SIZE 10M
REUSE
AUTOEXTEND ON NEXT 10M MAXSIZE 200M;
声明的 space 已用完,我需要添加更多数据文件。
作为
ALTER TABLESPACE tbs_perm_02
ADD DATAFILE 'tbs_perm_02.dat'
SIZE 20M
AUTOEXTEND ON;
这里的重点是table地方已经用完了它最初声明的10M加200M的价值。但是当我们用扩展数据文件改变 tablespace 时,会成功吗?或者在这种情况下是否有另一种扩展或更改的方法。
这将不起作用,因为您添加的数据文件与第一个数据文件同名。 size/autoextend/maxsize - 子句引用数据文件,而不是表空间。所以数据文件被耗尽,而不是表空间。您可以将第二个数据文件添加到您的表空间
ALTER TABLESPACE tbs_perm_02 ADD DATAFILE 'tbs_perm_02_02.dat'
SIZE 20M AUTOEXTEND ON NEXT 10M MAXSIZE 200M;
或者您可以更改表空间的数据文件的 MAXSIZE
ALTER DATABASE DATAFILE 'tbs_perm_02.dat' RESIZE
AUTOEXTEND ON NEXT 10M MAXSIZE 400M;
数据文件可以是文件系统或 ASM 存储的一部分。如果数据库正在使用 ASM 存储,那么您需要检查磁盘组名称以添加数据文件。
在 ASM 中 add datafile 的步骤:
检查磁盘组位置以添加数据文件:
显示参数db_create_filedest;
ALTER TABLESPACE tablespace_name ADD DATAFILE 'LOCATION' SIZE 10M AUTOEXTEND ON MAXSIZE 10G;
最大大小:8k 块大小高达 32G,16K 块大小高达 64G。
添加位于 file_system 的数据文件:
select file_name, bytes/1024/1024/1024,MAXBYTES/1024/1024/1024, autoextensible from dba_data_files where TABLESPACE_NAME='&TABLESPACE_NAME';
ALTER TABLESPACE tablespace_name ADD DATAFILE 'location' SIZE 10M AUTOEXTEND ON MAXSIZE 10G;
例如:
ALTER TABLESPACE tablespace_name ADD DATAFILE '/U01/ORACLE/DATAFILES/TESTDB/users02.dbf' SIZE 10M AUTOEXTEND ON MAXSIZE 10G;