ALTER DATABASE DATAFILE 'D:\ORACLEDATA\DATA\AFCWORK01.DBF' RESIZE 800M/重新设置数据文件大小,改变表空间/
select file_name, SUM(BYTES)/1024/1024 MB from DBA_DATA_FILES group by file_name order by file_name /查看表空间文件大小/
SELECT TABLESPACE_NAME,SUM(BYTES)/1024/1024 MB FROM DBA_FREE_SPACE GROUP BY TABLESPACE_NAME order by TABLESPACE_NAME/查看表空间剩余空间/
本文主要是以Oracle更改表空间大小的实际操作代码来引出Oracle更改表空间大小的实际操作步骤,同时此文章也对用户空间限额的具体操作步骤有一详细介绍,望大家在看望此片文章之后会有所收获。
- sys@TEST1>alter tablespace test_16k offline;
表空间已更改。
- sys@TEST1>alter database datafile '
d:\oracle\product\10.2.0\oradata\test1\test6k.dbf'
autoextend on next 50m maxsize 200m;
数据库已更改。
- sys@TEST1>alter database datafile '
d:\oracle\product\10.2.0\oradata\test1\test.dbf' resize 10m;
数据库已更改。
- sys@TEST1>alter user mxl quota 200m on test_16k;
用户已更改。
总结:
1、Oracle更改表空间大,乃修改的datafile非tablespace
2、不要出低级拼写错误。
3、错误提示很重要,不要想当然。
附:
三、磁盘配额管理的几个建议。
1、当在创建表空间对象的时候,出现“超出表空间的空间限量”错误提示的处理思路。这种情况一般是由很多种情况所造成的。笔者在遇到这种问题的时候,一般的处理思路是,先查看该用户的磁盘配额,看其是否满足空间上的需求。
若该用户没有磁盘配额管理的话,或者磁盘配额大小符合既定需求的话,则建议查看表空间的大小,看是否是因为表空间不足所造成的。若前两步还是不能够解决问题的,则看看表空间的管理方式。若是数据字典管理模式的话,则把他改为本地管理模式,一般就可以解决问题了。
2、若数据库中存放着不同办事处或者不同分公司的数据时,笔者建议对Oracle更改表空间大小进行磁盘限额。这可以有效的防止因为硬盘空间的不足导致整个数据库的崩溃。而若对用户进行磁盘配额管理的话,那最多只是某个办事处(某个用户)数据库操作出现故障而已。这也是提高Oracle数据库可用性的一个有效手段。
经查,表空间跟表空间限额两个值是不一样的.
推测按默认的话oracle应该会给每个用户分配一个默认的表空间限额,具体比例待查,但这比例肯定远小于100%.
所以说分配了400M的表空间未必能存储400M的数据.
解决办法如下:
查看用户表空间的限额
- select * from user_ts_quotas;
max_bytes字段就是了
-1是代表没有限制,其它值多少就是多少了.
不对用户做表空间限额控制:
- GRANT UNLIMITED TABLESPACE TO ***(用户);
这种方式是全局性的.
或者
- alter user ***(用户名) quota unlimited on ***(表空间);
这种方式是针对特定的表空间的.
可以分配自然也可以回收了:
- revoke unlimited tablespace from ***(用户)
或者
- alter user *** quota 0 on ***
以上的相关内容就是对Oracle更改表空间大小的介绍,望你能有所收获。
转自http://database.51cto.com/art/201005/199057.htm
分享到:
相关推荐
### Oracle 修改表空间大小 #### 一、背景介绍 在使用Oracle 10g数据库管理系统进行数据管理的过程中,经常会遇到由于表空间限制而导致的数据导入失败问题。这是因为Oracle默认的表空间大小为400MB,当数据库中的...
### ORACLE 修改表空间大小详解 #### 一、问题背景及原因分析 在Oracle数据库管理过程中,经常会遇到因表空间不足导致的各种问题。其中一种常见问题是ORA-01652错误,即“无法在指定表空间扩展临时段”。这通常...
1. **增加表空间大小**:如果你发现某个表空间已满,可以通过增加新的数据文件或扩大现有数据文件的大小来扩展表空间。例如,使用`ALTER TABLESPACE`语句添加新数据文件: ```sql ALTER TABLESPACE 表空间名 ADD ...
通过修改表空间文件大小或者添加表空间文件方式修改Oracle表空间
本文将详细介绍如何在Oracle数据库中创建表空间、创建用户并分配相应的权限,以及如何设置表空间的自增长和修改其大小。 #### 一、创建表空间 表空间是Oracle数据库中的逻辑存储单元,它由一个或多个数据文件组成...
在Oracle数据库管理中,表空间...通过监控和调整表空间大小,可以有效地避免存储瓶颈,提升系统的整体性能。同时,理解如何创建和管理表空间,以及与之相关的数据文件操作,对于数据库的长期维护至关重要。
### 调整Oracle内存及调整表空间大小的方法 #### Oracle内存管理 Oracle数据库的内存管理对于确保数据库高效运行至关重要。内存配置不当可能导致性能下降甚至系统崩溃。在默认情况下,Oracle会根据系统的总内存自动...
在Oracle数据库系统中,表空间(Tablespace)是存储数据对象(如表、索引、视图等)的逻辑单位,而临时表空间(Temporary Tablespace)则用于存储临时数据,比如排序或联接操作产生的中间结果。创建和管理表空间及...
2. **移动表、索引等对象**:将block_id大于目标表空间大小的表、索引、分区表等对象移动到一个新的临时表空间中。 3. **收缩表空间**:在确保所有对象都已妥善处理后,执行收缩操作。 4. **移动对象回原表空间**:...
1. **多表联接**:通过`dba_free_space`与`dba_data_files`联接,可以获取表空间内所有文件的总空间大小以及空闲空间大小。 2. **计算碎片率**:利用`(sum(free)*100/sum(bytes))`计算表空间的碎片率,其中`sum(free...
其中,`USED_BYTES` 列显示了用户在对应表空间中已经使用的空间大小(单位:MB),而 `MAX_BYTES` 列则表示用户在该表空间上的最大配额(单位:MB)。 #### 四、处理已被删除表空间的配额信息 当某个表空间被删除...
### Oracle更改表空间(table、index、lob) 在Oracle数据库管理中,更改表空间是一项重要的维护任务,尤其是在需要重新组织数据或优化存储时。本文将详细介绍如何通过SQL命令来更改表空间中的表(table)、索引...
在本地管理表空间中,这些信息都通过位图记录在每个数据文件的头部,无需修改数据字典表,因此可以更高效地管理表空间内的空间使用。 #### 四、总结 通过采用本地管理表空间,Oracle能够在降低系统资源消耗的同时...
在Oracle数据库管理中,修改表空间是一项常见的维护任务,尤其当需要优化存储、解决空间不足或进行数据迁移时。本文将详细阐述如何在Oracle中修改表空间,包括处理BLOB和CLOB字段的具体步骤。 ### 修改表空间的背景...
4. **调整新表空间大小**(如果需要): ```sql ALTER DATABASE TEMPFILE '/u01/app/oracle/oradata/BXG/temp02.dbf' RESIZE 100M; ``` #### 二、UNDO表空间处理 UNDO表空间用于存储事务的回滚信息,以便在需要...
- **`QUOTA`** 限制了用户在指定表空间上的存储空间大小。 - **`PROFILE`** 可以设置用户的资源限制和其他安全策略。 - **`PASSWORD EXPIRE`** 设置了密码过期,要求用户下次登录时更改密码。 #### 三、创建表 在...
在Oracle数据库中,修改表空间大小通常涉及以下操作: 1. 扩大表空间:可以添加新的数据文件(Datafile)到表空间,或者通过ALTER DATABASE DATAFILE命令增大已有数据文件的大小。 示例: ```sql ALTER ...
本文将深入探讨如何在Oracle环境中修改redo日志文件的大小,以及这一操作的具体步骤和注意事项。 ### 一、理解redo日志文件 在开始修改redo日志文件大小之前,首先需要了解redo日志文件的基本概念。redo日志文件是...
表空间可以进行各种修改操作,包括添加数据文件、调整大小、更改状态等。 ##### 添加数据文件 ```sql ALTER TABLESPACE tablespace_name ADD DATAFILE 'path/filename.xxx' SIZE xM MAXSIZE xM/UNLIMITED; ``` - `...