Oracle增加表空间大小的方法

合集下载

Oracle数据压缩和表空间大小的处理

Oracle数据压缩和表空间大小的处理

4.扩展表空间,表空间扩展有两种方法:增加数据文件;调整当前数据文件的大小或扩展的大小。

(1)增加数据文件ALTER TABLESPACE TESTTBSADD DATAFILE 'D:/ora/datafile/users.ora' SIZE 500MAUTOEXTEND ONNEXT 50MMAXSIZE 2000M;增加了一个500M的数据文件,并且可以自动扩展到2G,每次扩展50M。

(2)增加当前数据文件的大小ALTER DATABASEDATAFILE 'D:/ora/datafile/users.ora'RESIZE 50000M;或者使用file_idALTER DATABASEDATAFILE 10RESIZE 50000M;(3)在使用过程中,如果想改变某个数据文件的最大大小,可以ALTER DATABASEDATAFILE 'D:/ora/datafile/users.ora'AUTOEXTEND ONMAXSIZE 10240M;---------------------------------------------------------------------------------- Oracle中压缩数据节省空间和提高速度添加时间:2007-4-22使用表压缩来节省空间并提高查询性能很多决策支持系统通常都涉及到存储于几个特大表中的大量数据。

随着这些系统的发展,对磁盘空间的需求也在快速增长。

在当今的环境下,存储着数百TB(太字节)的数据仓库已经变得越来越普遍。

为了帮助处理磁盘容量问题,在Oracle9i第2版中引入了表压缩特性,它可以极大地减少数据库表所需要的磁盘空间数量,并在某些情况下提高查询性能。

在本文中,我将向你说明表压缩是如何工作的,以及在构建和管理数据库时如何配置表空间。

我还将基于一些示例测试结构讨论一些性能问题,以帮助你了解使用表压缩预计能获得多大好处。

Oracle-undo-表空间管理

Oracle-undo-表空间管理

Oracle-undo-表空间管理Oracle的Undo表空间管理是Oracle数据库中非常重要而又基础的管理工作之一。

因为数据库中的Undo表空间与事务有着紧密的联系,影响着数据库的性能和稳定性。

本文将对Oracle的Undo表空间管理进行详细介绍,包括Undo表空间的概念、作用、管理方法、优化等方面。

一、Undo表空间的概念Undo表空间是用来存储Oracle数据库中操作的回滚信息,主要的作用是进行事务的回滚和恢复。

在Oracle数据库中,事务的ACID属性可以保证数据的完整性和一致性,而Undo表空间就是为了保证事务的ACID属性而存在的。

在Oracle数据库中,Undo表空间分为两种类型:System Undo表空间和User Undo表空间。

系统Undo表空间是由系统自动创建的一个表空间,用于存储系统级的回滚信息,用户不能自己创建或删除该表空间。

而用户Undo表空间则是由用户自己创建的,用来存储用户级别的回滚信息,一个数据库中可以有多个用户Undo表空间。

二、Undo表空间的作用Undo表空间的作用非常重要,它主要用来完成以下几个方面的功能:1. 事务的回滚当某个事务需要回滚时,Oracle会将该事务所做的修改操作写入到Undo表空间中,然后撤销这些操作来回滚事务。

因此Undo表空间的存储能力和速度直接影响着Oracle数据库回滚事务的性能和效率。

2. 数据库恢复当数据库需要恢复时,Oracle会利用Undo表空间中的回滚信息将数据库恢复到特定的时间点。

因此Undo表空间存储的时间范围和存储能力对数据库恢复能力有着直接的影响。

3. MVCC机制在Oracle数据库中,MVCC(多版本并发控制)机制是一种用来实现并发控制的技术,它需要利用Undo表空间中的回滚信息来实现数据的版本控制。

当多个事务同时对一个数据进行操作时,Undo表空间就派上用场了。

三、Undo表空间的管理方法为了更好地管理Undo表空间,我们需要掌握以下几种管理方法:1. 创建Undo表空间在Oracle数据库中,可以通过语句CREATE UNDO TABLESPACE来创建Undo表空间。

Oracle 11g表空间——创建和扩展(永久)表空间

Oracle 11g表空间——创建和扩展(永久)表空间

Oracle 11g表空间——创建和扩展(永久)表空间本文内容创建(永久)表空间查看表空间扩展表空间创建(永久)表空间Oracle 按照区和段空间进行管理表空间。

区管理方式 - 针对区的分配方式的不同,有两种方式:字典管理方式(dictionary-managed tablespace,DMT)和本地管理方式(local-managed tablespace,LMT)。

Oracle 10g 开始强烈建议使用 LMT 方式。

从 Oracle 9i 开始,创建表空间时默认使用 LMT。

其中,LMT 区的分配方式:统一(UNIFORM)- 统一分配。

指定表空间中所有区的大小都相同。

默认值是 1MB。

自动(AUTOALLOCATE 或 SYSTEM)- 自动分配。

指定有 Oracle 系统来自动管理区的大小。

这是默认设置。

段管理方式– LMT 方式,除了可以指定区的分配方式外,还可以指定段的管理方式。

段空间管理方式主要是指 Oracle 用来管理段中已用数据块和空闲数据块的机制。

分为两种:手动(MANUAL)- Oracle 将使用空闲列表(free list)管理段的已用数据块和空闲数据块。

这是传统的段空间管理方式,为了与以前的版本兼容。

自动(AUTO)- Oracle 将使用位图(bitmap)来管理段的已用数据块和空闲数据块。

通过位图中单元的取值判断段中的数据块是否可用。

字典管理方式没有段管理。

下面示例演示用本地管理方式创建表空间。

这是 Oracle 推荐的方式。

示例 1:使用 AUTOALLOCATE 区分配方式。

创建表空间 mytbs01,数据文件是D:\oracledata\mytbs01_1.dbf,大小为 2M,并指定区分配方式为 AUTOALLOCATE。

create tablespace mytbs01datafile 'D:\oracledata\mytbs01_1.dbf' size 2Mautoallocate;示例 2:使用 UNIFORM 区分配方式。

oracle数据库表空间扩容方法

oracle数据库表空间扩容方法

一、概述数据库管理是企业信息系统中极为重要的一环,而Oracle数据库作为业界优秀的关系型数据库管理系统,通常被广泛应用于企业级应用中。

在数据库管理中,表空间是一个很重要的概念,它用于管理数据库中的数据存储。

随着数据量的增加,表空间可能会出现空间不足的情况,因此扩容表空间变得至关重要。

本文将介绍几种扩容Oracle数据库表空间的方法。

二、从数据文件角度扩容表空间1. 增加数据文件当表空间中的数据文件即将满的时候,可以通过增加数据文件的方式来扩容表空间。

具体操作步骤如下:1) 在Oracle数据库中使用“alter tablespace 表空间名 add datafile 新数据文件名 size 新数据文件大小”命令来增加数据文件;2) 通过以上操作,可以为表空间增加数据文件,并使表空间的空间得到扩容。

2. 自动扩展在表空间创建的时候,可以选择启用自动扩展功能。

当表空间中的数据文件空间不足时,可以自动扩展表空间的空间大小。

具体操作步骤如下:1) 在创建表空间的时候,使用“autoextend on”选项来启用自动扩展功能;2) 当表空间中的数据文件空间不足时,系统会自动扩展表空间的空间大小。

三、从段角度扩容表空间1. 移动段移动段是一种有效的扩容表空间的方法。

通过移动段,可以将表或索引从原有的表空间移动到具有足够空间的表空间中,从而实现表空间的扩容。

具体操作步骤如下:1) 使用“alter table 表名 move tablespace 新表空间名”命令来将表移动到新的表空间;2) 使用“alter index 索引名 rebuild tablespace 新表空间名”命令来将索引移动到新的表空间。

2. 压缩段通过压缩段的方式,可以释放表空间中的空闲空间,从而实现表空间的扩容。

具体操作步骤如下:1) 使用“alter table 表名enable row movement”命令来启用行移动功能;2) 使用“alter table 表名shrink spacepact”命令来压缩表,释放表空间中的空闲空间。

oracle建立表空间的方法

oracle建立表空间的方法

oracle建立表空间的方法Oracle数据库中建立表空间的方法主要有两种:一种是通过SQL命令的方式,另一种是通过Oracle客户端Enterprise Manager Console来创建。

通过SQL命令的方式创建表空间,需要先创建临时表空间和数据表空间,然后创建用户并指定表空间。

具体步骤如下:1. 创建临时表空间。

可以通过以下命令创建:```sqlcreate temporary tablespace user_temptempfile 'D:\oracle\oradata\Oracle9i\user_'size 50m autoextend on next 50mmaxsize 20480mextent management local;```2. 创建数据表空间。

可以通过以下命令创建:```sqlcreate tablespace user_dataloggingdatafile 'D:\oracle\oradata\Oracle9i\user_'size 50m autoextend on next 50mmaxsize 20480mextent management local;```3. 创建用户并指定表空间。

可以通过以下命令创建用户并将表空间指定给该用户:```sqlcreate user username identified by password;grant create session, create tablespace to username;alter user username default tablespace user_data temporary tablespace user_temp;```通过Oracle客户端Enterprise Manager Console来创建表空间,可以通过以下步骤完成:1. 打开Oracle客户端Enterprise Manager Console。

【总结】Oracle数据库查看表空间和增加表空间

【总结】Oracle数据库查看表空间和增加表空间

【总结】Oracle数据库查看表空间和增加表空间⼀、Oracle查看表空间的名称及其⼤⼩查看表空间的名称及其⼤⼩的SQL语句:select t1.tablespace_name,round(sum(bytes/(1024*1024)),0) tablespace_Size_MBfrom dba_tablespaces t1, dba_data_files t2where t1.tablespace_name = t2.tablespace_namegroup by t1.tablespace_name;查询结果:TABLESPACE_NAME TABLESPACE_SIZE_MB------------------------------ ------------------DLOTTEY 276480SYSAUX 48450UNDOTBS1 20000INDEXMT 10240USERS 1041SYSTEM 10240UNDOTBS2 20000MMLOTTERY 2150408 rows selected.⼆、Oracle查看表空间的具体使⽤情况⽅法1:(未排序)select a.tablespace_name "tablespace_name",totalspace "totalspaceM",freespace "freespaceM",round((1-freespace/totalspace)*100,2) "round%"from(select tablespace_name,round(sum(bytes)/1024/1024) totalspace from dba_data_files group by tablespace_name) a,(select tablespace_name,round(sum(bytes)/1024/1024) freespace from dba_free_space group by tablespace_name) bwhere a.tablespace_name=b.tablespace_name;查询结果:tablespace_name totalspaceM freespaceM round%------------------------ ----------- ---------- ----------DLOTTEY 276480 232415 15.94SYSAUX 48450 9683 80.01UNDOTBS1 20000 19741 1.3INDEXMT 10240 10024 2.11USERS 1041 138 86.74SYSTEM 10240 4344 57.58UNDOTBS2 20000 19601 2MMLOTTERY 215040 36279 83.138 rows selected.⽅法⼆:(查询结果排序) select a.tablespace_name,a.bytes/1024/1024 "Sum MB",(a.bytes-b.bytes)/1024/1024 "used MB",b.bytes/1024/1024 "free MB",round(((a.bytes-b.bytes)/a.bytes)*100,2) "percent_used"from(select tablespace_name,sum(bytes) bytes from dba_data_files group by tablespace_name) a,(select tablespace_name,sum(bytes) bytes,max(bytes) largest from dba_free_space group by tablespace_name) bwhere a.tablespace_name=b.tablespace_nameorder by ((a.bytes-b.bytes)/a.bytes) desc;查询结果:TABLESPACE_NAME Sum MB used MB free MB percent_used---------------------- ---------- ---------- ---------- ------------USERS 1041.25 903.375 137.875 86.76MMLOTTERY 215040 178761 36279 83.13SYSAUX 48450 38767 9683 80.01SYSTEM 10240 5896.125 4343.875 57.58DLOTTEY 276480 44065.4375 232414.563 15.94INDEXMT 10240 215.625 10024.375 2.11UNDOTBS2 20000 399.3125 19600.6875 2UNDOTBS1 20000 257.5 19742.5 1.298 rows selected.三、Oracle查看表空间物理⽂件的名称及⼤⼩set lines 150;col tablespace_name for a20;col file_name for a60;1、查询所有的表空间SQL语句:select tablespace_name, file_id, file_name,round(bytes/(1024*1024),0) total_space_MBfrom dba_data_filesorder by tablespace_name;2、查询指定的表空间SQL语句:select tablespace_name, file_id, file_name,round(bytes/(1024*1024),0) total_space_MBfrom dba_data_fileswhere tablespace_name = 'MMLOTTERY'order by tablespace_name;查询结果:TABLESPACE_NAME FILE_ID FILE_NAME TOTAL_SPACE_MB------------------- ---------- ------------------------------------------- --------------MMLOTTERY 18 +DATA/ora11g/datafile/mmlottery01.dbf 30720MMLOTTERY 19 +DATA/ora11g/datafile/mmlottery02.dbf 30720MMLOTTERY 20 +DATA/ora11g/datafile/mmlottery03.dbf 30720MMLOTTERY 22 +DATA/ora11g/datafile/mmlottery04.dbf 30720MMLOTTERY 23 +DATA/ora11g/datafile/mmlottery05.dbf 30720MMLOTTERY 26 +DATA/ora11g/datafile/mmlottery06.dbf 30720MMLOTTERY 27 +DATA/ora11g/datafile/mmlottery07.dbf 307207 rows selected.四、Oracle查看表真实占⽤的空间SQL语句:select t.owner,t.segment_name,t.segment_type,sum(t.bytes/1024/1024) used_MBfrom dba_segments twhere owner = 'MMLOTTERY'group by owner,segment_name,segment_typeorder by used_MB desc;查询结果:OWNER SEGMENT_NAME SEGMENT_TYPE USED_MB------------------- -------------------------------- ------------------ ----------MMLOTTERY TB_ORIGINAL_ORDERDETAILS TABLE 1792MMLOTTERY TB_LOTTERY_SALEDETAIL TABLE 1472MMLOTTERY TB_LOTTERYSCHEMEINFO_ADD TABLE 1280MMLOTTERY TEST_007 TABLE 1152MMLOTTERY TB_ACCOUNT_OPERATE_DETAIL TABLE 808MMLOTTERY PK14 INDEX 377MMLOTTERY PK14_11 INDEX 312MMLOTTERY PK14_13 INDEX 200MMLOTTERY PK14_12 INDEX 160MMLOTTERY TB_BONUS_ORDERDETAILS TABLE 160MMLOTTERY TB_WINBONUS_DETAIL TABLE 14411 rows selected.五、Oracle 增加表空间语法:alter tablespace {表空间名字} add datafile '物理数据⽂件路径' SIZE 『初始⼤⼩M』 AUTOEXTEND ON NEXT 『⾃动扩展⼤⼩M』例⼦:alter tablespace MMLOTTERY add datafile '+DATA/ora11g/datafile/mmlottery08.dbf' size 30720m autoextend on next 200m;注意:如果添加表空间的⽂件名重复,那么会报错,如下:SQL> alter tablespace MMLOTTERY add datafile '+DATA/ora11g/datafile/mmlottery08.dbf' size 30720m autoextend on next 200m;alter tablespace MMLOTTERY add datafile '+DATA/ora11g/datafile/mmlottery08.dbf' size 30720m autoextend on next 200m*ERROR at line 1:ORA-01537: cannot add file'+DATA/ora11g/datafile/mmlottery08.dbf' - file already part of database若 datafile 加错到表空间,则执⾏删除操作。

oracle表空间不足扩容的方法

oracle表空间不足扩容的方法

oracle表空间不足扩容的方法一、基于备份/恢复1、创建必要的备份目录:SQL> create directory dbs_bak as ‘/data/ora/dbs_bak’;2、对表空间test_tab_space 做一次全备(包含数据文件):SQL> alter tablespace test_tab_space begin backup;3、将备份出来的数据文件移至另一空间:mv /oracle/oradata/dbsname/test_tab_space01.dbf /data/ora/dbs_bak 4、根据需要对文件进行扩容:命令行模式:dd if=/dev/zeroof=/data/ora/dbs_bak/test_tab_space01.dbf bs=10M count=1005、将该文件移回oracle数据文件目录:mv /data/ora/dbs_bak/test_tab_space01.dbf/oracle/oradata/dbsname/6、使用备份来恢复该表空间:SQL> recover tablespace test_tab_space;7、执行最后确认:SQL> alter tablespace test_tab_space end backup二、使用ADD DATAFILE 命令1、新建一个大小较大的文件,在ORACLE目录分区中:2、然后,使用ADD DATAFILE 命令来添加文件,添加完成后,表空间自动扩容:SQL> alter tablespace test_tab_space add datafile‘/oracle/oradata/dbsname/test_tab_space04.dbf’;。

oracle数据库修改表空间数据文件大小,优化存储

oracle数据库修改表空间数据文件大小,优化存储

oracle数据库修改表空间数据⽂件⼤⼩,优化存储查询数据⽂件存储使⽤情况/** ⽰例1 只查询*/select b.file_id ⽂件ID, b.tablespace_name 表空间, b.file_name 物理⽂件名, b.bytes /1024/1024 总字节数, (b.bytes -sum(nvl(a.bytes, 0))) /1024/1024 已使⽤, sum(nvl(a.bytes, 0)) /1024/1024 剩余, round(sum(nvl(a.bytes, 0)) / (b.bytes) *100, 2) 剩余百分⽐ from dba_free_space a,dba_data_files b where a.file_id= b.file_id group by b.tablespace_name,b.file_name,b.file_id,b.bytes order by b.tablespace_name;/** ⽰例2 附带查询压缩脚本*/select a.file#,,a.bytes /1024/1024 CurrentMB,ceil(HWM * a.block_size) /1024/1024 ResizeTo,(a.bytes - HWM * a.block_size) /1024/1024 ReleaseMB,'alter database datafile '''|| ||''' resize '||ceil(HWM * a.block_size) /1024/1024||'M;' ResizeCmdfrom v$datafile a,(SELECT file_id, MAX(block_id + blocks -1) HWMFROM DBA_EXTENTSGROUP BY file_id) bwhere a.file# = b.file_id(+)And (a.bytes - HWM * a.block_size) >0and rownum <10修改数据⽂件容量语句alter database datafile 'D:\DSINSTALL\ORACLE\ORADATA\ORCL\USERS_DATA01.DBF' resize 10M;楼主在此处遇见了⼀个问题,在清理了⼀⼤批数据后,发现表空间的存储⼤⼩基本没变,强⾏修改数据⽂件⼤⼩也不⾏,会提⽰“资源正在占⽤”,后⾯了解到,在删除数据时最好使⽤下列语句:/* 清空表i数据*/truncate table table_name;注:不要使⽤delete删除,由于oracle⾃带回滚机制或者oracle处于数据保护机制,使⽤delete删除的数据oracle会临时保存,类似于假删除/回收站/* 删除⽤户及附属数据*/drop user user_name descade;如果数据表曾经存在⼤数据情况下,还需要修改表的初始化STORAGE值,语句如下,该语句的含义是修改表/索引的初始值为64k,每次增长的幅度为32k--表select'ALTER TABLE '||owner||'.'||table_name||' MOVE TABLESPACE '||tablespace_name||' STORAGE(INITIAL 64K NEXT 32K);'from dba_tableswhere owner='AA'and initial_extent>65536--索引select'ALTER INDEX '||owner||'.'||index_name||' REBUILD STORAGE(INITIAL 64K NEXT 32K);'from dba_indexeswhere owner='AA'and initial_extent>65536--分区表select'ALTER table '||table_owner||'.'||table_name||' MOVE PARTITION '||PARTITION_NAME||' STORAGE(INITIAL 64K NEXT 32K);'from DBA_tab_PARTITIONSwhere table_owner='AA'and initial_extent>65536--分区索引select'ALTER INDEX '||index_owner||'.'||index_name||' REBUILD PARTITION '||PARTITION_NAME||' STORAGE(INITIAL 64K NEXT 32K);'from DBA_ind_PARTITIONSwhere index_owner='AA'and initial_extent>65536清空当前⽤户数据库表下存储⼤于1M的表数据脚本查询语句select'truncate table '|| segment_name||';',bytes/1024/1024 MB,u.*from user_extents uwhere bytes/1024/1024>1查询数据库中各个表的实际数据存储使⽤情况selectsegment_name, sum(bytes)/1024/1024 MBfrom user_extents ugroup by segment_name。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

Oracle增加表空间大小的方法作者:雨竹清风改变表空间大小的方法总体有3种:1.改变数据文件的大小。

改变数据文件大小的又分为创建表空间时和创建表空间后。

♣创建表空间时使用autoextend on自动的改变数据文件的大小。

♣创建表空间后需要使用如下的命令:Alter database datafile‘数据文件名(包含路径)’autoextend on next n M;//n是代表数字几,可变,根据自己的需要来即可,如:可以填写1,2等等,以下红色的n意义相同。

2.使用增加数据文件的方法来扩大表空间的大小,这就需要使用如下命令:Alter tablespace表空间名Add datafile‘数据文件名(包含路径)’Size n M;3.使用手工重置的方法来改变表空间的大小。

命令如下:Alter database datafile‘数据文件名(包含路径)’resize n M;示例如下:方法1(创建表空间后):1)查看dba_data_files结构SQL>desc dba_data_files;名称是否为空?类型-----------------------------------------------------------------------------FILE_NAME VARCHAR2(513) FILE_ID NUMBER TABLESPACE_NAME VARCHAR2(30) BYTES NUMBERBLOCKS NUMBERSTATUS VARCHAR2(9) RELATIVE_FNO NUMBER AUTOEXTENSIBLE VARCHAR2(3) MAXBYTES NUMBER MAXBLOCKS NUMBER INCREMENT_BY NUMBERUSER_BYTES NUMBERUSER_BLOCKS NUMBERONLINE_STATUS VARCHAR2(7)2)查询表空间XUANXUAN是否是自动扩展。

SQL>col file_name for a38SQL>col tablespace_name for a15SQL>select FILE_ID,FILE_NAME,TABLESPACE_NAME,AUTOEXTENSIBLE from dba_data_files;FILE_ID FILE_NAME TABLESPACE_NAME AUT---------------------------------------------------------------4D:\ORACLE\PRODUCT\10.2.0\ORADATA\ORCL\USERS01.DBF USERS YES3D:\ORACLE\PRODUCT\10.2.0\ORADATA\ORCL\SYSAUXSYSAUX01.DBF YES2D:\ORACLE\PRODUCT\10.2.0\ORADATA\ORCL\UNDOTBS1UNDOTBS01.DBF YES1D:\ORACLE\PRODUCT\10.2.0\ORADATA\ORCL\SYSTEMSYSTEM01.DBF YES5D:\ORACLE\PRODUCT\10.2.0\ORADATA\ORCL\EXAMPLEEXAMPLE01.DBF YES7D:\ORACLE\PRODUCT\10.2.0\USER_TABLESPACE\FANLU_TABLESPACE.DBF NO8D:\ORACLE\PRODUCT\10.2.0\USER_TABLESPACE\XIXI.DBF NO6D:\ORACLE\PRODUCT\10.2.0\USER_TABLESPACE\XUANXUAN.DBF NO已选择8行。

从结果可以看到XUANXUAN表空间不是自动扩展的。

3)修改表空间,使其变为自动扩展。

SQL>alter database datafile 'D:\ORACLE\PRODUCT\10.2.0\USER_TABLESPACE\XUANXUAN.DBF'autoextend on next1M;数据库已更改。

4)查询是否已经成功。

SQL>col file_name for a38SQL>col tablespace_name for a15SQL>select FILE_ID,FILE_NAME,TABLESPACE_NAME,AUTOEXTENSIBLE from dba_data_files;FILE_ID FILE_NAME TABLESPACE_NAME AUT---------------------------------------------------------------4D:\ORACLE\PRODUCT\10.2.0\ORADATA\ORCL\USERS01.DBF USERS YES3D:\ORACLE\PRODUCT\10.2.0\ORADATA\ORCL\SYSAUXSYSAUX01.DBF YES2D:\ORACLE\PRODUCT\10.2.0\ORADATA\ORCL\UNDOTBS1UNDOTBS01.DBF YES1D:\ORACLE\PRODUCT\10.2.0\ORADATA\ORCL\SYSTEMSYSTEM01.DBF YES5D:\ORACLE\PRODUCT\10.2.0\ORADATA\ORCL\EXAMPLEEXAMPLE01.DBF YES7D:\ORACLE\PRODUCT\10.2.0\USER_TABLESPACE\FANLU_TABLESPACE.DBF NO8D:\ORACLE\PRODUCT\10.2.0\USER_TABLESPACE\XIXI.DBF NO6D:\ORACLE\PRODUCT\10.2.0\USER_TABLESPACE\XUANXUAN.DBF YES已选择8行从结果可以看到已经修改成功,这是相应的数据文件已经成为自动扩展的。

方法2(增加数据文件的方法来扩大表空间的大小):1)添加一个新的数据文件。

SQL>alter tablespace XUANXUAN2add datafile 'D:\ORACLE\PRODUCT\10.2.0\USER_TABLESPACE\XUANXUAN02.DBF' 3size80M;表空间已更改。

2)查询是否成功SQL>col FILE_NAME for a50SQL>col TABLESPACE_NAME for a8SQL>select FILE_ID,FILE_NAME,TABLESPACE_NAME,BYTES/(1024*1024)MB from dba_data_files where tablespace_name like'XUANXUAN';FILE_ID FILE_NAME TABLESPA--------------------------------------------------------------------MB----------6D:\ORACLE\PRODUCT\10.2.0\USER_TABLESPACE\XUANXUAN.XUANXUANDBF1009D:\ORACLE\PRODUCT\10.2.0\USER_TABLESPACE\XUANXUAN0XUANXUAN2.DBF80方法3(手工重置):1)查询结构SQL>desc dba_data_files;名称是否为空?类型-----------------------------------------------------------------------------FILE_NAME VARCHAR2(513) FILE_ID NUMBER TABLESPACE_NAME VARCHAR2(30) BYTES NUMBERBLOCKS NUMBERSTATUS VARCHAR2(9) RELATIVE_FNO NUMBER AUTOEXTENSIBLE VARCHAR2(3) MAXBYTES NUMBER MAXBLOCKS NUMBER INCREMENT_BY NUMBERUSER_BYTES NUMBERUSER_BLOCKS NUMBERONLINE_STATUS VARCHAR2(7)2)查询SQL>col FILE_NAME for a55SQL>col TABLESPACE_NAME for a15SQL>select FILE_ID,FILE_NAME,TABLESPACE_NAME,BYTES from dba_data_files where tablespace_name like'XUANXUAN';FILE_ID FILE_NAME TABLESPACE_NAME BYTES-----------------------------------------------------------------6D:\ORACLE\PRODUCT\10.2.0\USER_TABLESPACE\XUANXUAN.DBF XUANXUAN5242880 3)用手工重置数据文件大小SQL>alter database datafile 'D:\ORACLE\PRODUCT\10.2.0\USER_TABLESPACE\XUANXUAN.DBF'resize100M;数据库已更改。

4)查询是否成功SQL>col FILE_NAME for a50SQL>col TABLESPACE_NAME for a8SQL>select FILE_ID,FILE_NAME,TABLESPACE_NAME,BYTES/(1024*1024)MB from dba_data_files where tablespace_name like'XUANXUAN';FILE_ID FILE_NAME TABLESPA----------------------------------------------------------------------MB----------6D:\ORACLE\PRODUCT\10.2.0\USER_TABLESPACE\XUANXUAN.DBF XUANXUAN100从结果可以看到已经将数据文件改为100M。

相关文档
最新文档