Oracle数据库中灵活管理用户表空间配额
2008-10-30 12:57:27 来源:WEB开发网若数据库管理员能够预测到表空间中存放的大部分对象都需要使用相同大小的区的话,那么就可以采用Uinform区的分配方式。采取这种方式的话,Oracle数据库将为这个表空间中的所有数据库对象分配数据库管理员指定大小的区。这种方式的优点是不会产生磁盘碎片,可以提高磁盘空间的利用率与数据库的性能。
若数据库管理员能够预测到表空间中存放的大部分对象需要使用的区的大小是不同的话(往往都是不同的),则需要采用AUTOALLOCAT的区分配方式。这种分配方式下,将由Oracle数据库自动为表空间的对象分配一定大小的区,而不是有用户指定。这种方式的优点就是可以节省数据库管理员的工作量。缺点是会产生比较多的磁盘碎片。不过总的来说,比起数据库管理员的工作量来说,这点磁盘碎片还是容易接受的。笔者在创建表空间的时候,基本上都是采用这个方式的。
故在拓展表空间的时候,其采用的是原先表空间的分配方式。也就是说,原先表空间采用的是什么区分配方式,则拓展空间也采用原先的分配方式。则是拓展表空间时必须要注意的问题。
当表空间不足,需要进行拓展的时候,笔者常用的方法是通过增加数据文件的方式来实现的。因为表空间是其相关数据文件大小的总和。所以,为表空间增加新的数据文件,是最常用的增加表空间的方式。
如当数据库管理员发现TEST1 表空间大小不足的时候,我们可以利用命令ALTER TABLESPACE TEST1 ADD DATEFILE ‘数据文件存放路径’ SIZE 500M。我们可以利用这个命令增加表空间的大小,然后再增加用户的磁盘配额。如此,就可以对用户的表空间进行拓展。
笔者建议:
虽然数据库管理员可以通过图形界面的方式对Oracle数据库进行类似的管理。但是,若在数据库管理专家面前,采用图形化的管理界面的话,则这个数据库管理员可能会被他们认为是菜鸟。这主要是因为图形管理化的界面效率并不是很高。一方面要从众多的菜单栏中找到相关的功能,会浪费数据库管理员一定的时间;而且,其语句执行的效率,也比命令行要低。故,笔者建议,Oralce数据库管理员还是需要学会命令行的管理方式。
三、磁盘配额管理的几个建议。
1、当在创建表空间对象的时候,出现“超出表空间的空间限量”错误提示的处理思路。这种情况一般是由很多种情况所造成的。笔者在遇到这种问题的时候,一般的处理思路是,先查看该用户的磁盘配额,看其是否满足空间上的需求。若该用户没有磁盘配额管理的话,或者磁盘配额大小符合既定需求的话,则建议查看表空间的大小,看是否是因为表空间不足所造成的。若前两步还是不能够解决问题的,则看看表空间的管理方式。若是数据字典管理模式的话,则把他改为本地管理模式,一般就可以解决问题了。
2、若数据库中存放着不同办事处或者不同分公司的数据时,笔者建议对Oracle数据库进行磁盘限额。这可以有效的防止因为硬盘空间的不足导致整个数据库的崩溃。而若对用户进行磁盘配额管理的话,那最多只是某个办事处(某个用户)数据库操作出现故障而已。这也是提高Oracle数据库可用性的一个有效手段。
- ››oracle 中 UPDATE nowait 的使用方法
- ››Oracle ORA-12560解决方法
- ››Oracle 10g RAC 常用维护命令
- ››Oracle如何在ASM中定位文件的分布
- ››Oracle的DBMS_RANDOM.STRING 的用法
- ››oracle 外部表导入时间日期类型数据,多字段导入
- ››Oracle中查找重复记录
- ››oracle修改用户登录密码
- ››Oracle创建删除用户、角色、表空间、导入导出等命...
- ››Oracle中登陆时报ORA-28000: the account is lock...
- ››Oracle数据库在配置文件中更改最大连接数
- ››Oracle中在pl/sql developer修改表的两种方式
更多精彩
赞助商链接