<b>Oracle数据库中机动管理用户表空间配额-备份恢复</b>[Oracle防范]
本文“<b>Oracle数据库中机动管理用户表空间配额-备份恢复</b>[Oracle防范]”是由七道奇为您精心收集,来源于网络转载,文章版权归文章作者所有,本站不对其观点以及内容做任何评价,请读者自行判断,以下是其具体内容:
在我们为微软的NTFS分区格局中的用户磁盘配额鼓掌的时刻,Oracle数据库中也已经实现了用户磁盘配额的技术.可以借助表空间,来对用户举行磁盘配额管理.操纵表空间的用户磁盘配额,可以实现很多功效.
如可以操纵用户磁盘配额,来管理用户成立数据库对象的本领.我们都知道,若用户想要在某个表空间中成立筹划对象的话,必须同时满意两个对象.一是用户具有数据库系统中CREATE TABLE等相关的权限;二是在这个筹划对象利用的表空间中具有配额.因为这两个条件必须同时满意,用户才可以成功的成立对象.所以,若我们可以不给用户某个表空间的配额,如此的话,便可以限制用户的相关操作.
别的,我们也可以操纵磁盘配额来对用户举行数据大小的限制.因为有时刻我们大概在同一台数据器重会运行多个利用服务.如笔者从前在同一台服务器里同时运行邮箱与Oracle数据库系统.为了让削减这个两个系统对硬盘空间的过渡利用,所以,有必要对他们举行磁盘配额的限定.故,如用数据库管理员需求将资源限制作为自己数据库安全战略的一部份的话,便可以考虑为每个用户设置表空间配额.
总之,笔者认为,表空间配额是一个很不错的帮助管理工具.笔者在这方面管理上,稍有心得,跟有识之士,谈论谈论.
1、给用户分配表空间.
在Oracle数据库中,关于用户的磁盘配额是通过表空间来实现的.给某个用户分配了多少的表空间,这个用户就有多少的磁盘配额.所以,关于用户举行磁盘配额的管理,就是对用户举行表空间的限制.
在成立用户的时刻,若没有关联表空间,则其普通情形下,就属于默许的表空间.而其拥有表空间的大小,则是按照其所属角色的差别而有所辨别.如其属于resource组的话,则其表空间是没有大小限制的.
普通情形下,若数据库管理员需求对表空间举行磁盘配额管理的话,则笔者倡议,在用户成立的时刻,为用户指定表空间,并设置表空间的大小.如我们可以操纵以下这条号令配置用户的磁盘空间配额:ALTER USER user_name QUOTA ** ON tablespace.此中参数User_name表示用户名,而参数Tablespace表示用户所属的表空间.若我们参数设置为UNLIMITED的话,表示这个用户的表空间没有限制,直到全部的空间用完为止.
所以,在普通情形下,两种情形下的用户具有没有限制的磁盘配额.一是这个用户属于resource这个角色,因为这个角色默许情形下,其是没有磁盘限额限制的.二是在用户成立的时刻,手工操纵UNLIMITED指定该用户不具有磁盘限额.不过,为了提高Oracle数据库的安全性与机动性,笔者是大力倡议要对用户举行磁盘配额管理.
成立错误:
若在对用户举行磁盘限额后,数据库管理员最简单犯的错误,就是忘掉给用户分配磁盘限额,招致对象成立失利.如笔者第一次接触Oracle数据库的时刻,就犯过这方面的错误.我新建了一个用户,并且赋予了其相关的权限.但是,在建表的时刻,系统提醒错误信息,说"表空间权限不足".笔者查了好久,最后查询表空间用户确认配额的时刻,发现该用户的缺省配额没有分配.操纵号令更改了默许配额之后,便可以成立表了.
2、若何拓展用户的表空间?
若对用户举行磁盘限额之后,有时刻数据库管理员会发现用户的磁盘空间不足了,需求举行拓展.此时该若何处理呢?
若采取自动分配表空间大小的话,则Oracle数据库会自动调整表空间的大小,以满意用户的需求.但是,目前由于采取了磁盘配额管理,所以数据库管理员不得不举行手工的调整.不过在谈这个话题之前,数据库管理员有必要理解一下表空间区的分配方法.
若数据库管理员可以猜测到表空间中存放的大部份对象都需求利用相同大小的区的话,那么便可以采取Uinform区的分配方法.采纳这种方法的话,Oracle数据库将为这个表空间中的全部数据库对象分配数据库管理员指定大小的区.这种方法的长处是不会产生磁盘碎片,可以提高磁盘空间的操纵率与数据库的性能.
若数据库管理员可以猜测到表空间中存放的大部份对象需求利用的区的大小是差别的话(常常都是差别的),则需求采取AUTOALLOCAT的辨别配方法.这种分配方法下,将由Oracle数据库自动为表空间的对象分配一定大小的区,而不是有效户指定.这种方法的长处就是可以节俭数据库管理员的工作量.缺陷是会产生对比多的磁盘碎片.不过总的来说,比起数据库管理员的工作量来说,这点磁盘碎片还是简单承受的.笔者在成立表空间的时刻,基本上都是采取这个方法的.
故在拓展表空间的时刻,其采取的是原先表空间的分配方法.也就是说,原先表空间采取的是什么辨别配方法,则拓展空间也采取原先的分配方法.则是拓展表空间时必必要注意的问题.
当表空间不足,需求举行拓展的时刻,笔者常用的办法是通过增添数据文件的方法来实现的.因为表空间是其相关数据文件大小的总和.所以,为表空间增添新的数据文件,是最常用的增添表空间的方法.
如当数据库管理员发现TEST1 表空间大小不足的时刻,我们可以操纵号令ALTER TABLESPACE TEST1 ADD DATEFILE ‘数据文件存放途径’ SIZE 500M.我们可以操纵这个号令增添表空间的大小,然后再增添用户的磁盘配额.如此,便可以对用户的表空间举行拓展.
笔者倡议:
固然数据库管理员可以通过图形界面的方法对Oracle数据库举行近似的管理.但是,若在数据库管理专家眼前,采取图形化的管理界面的话,则这个数据库管理员大概会被他们认为是菜鸟.这主如果因为图形管理化的界面效率并非很高.一方面要从众多的菜单栏中找到相关的功效,会浪费数据库管理员一定的时间;并且,其语句履行的效率,也比号令行要低.故,笔者倡议,Oralce数据库管理员还是需求学会号令行的管理方法.
3、磁盘配额管理的几个倡议.
1、当在成立表空间对象的时刻,呈现"超越表空间的空间限量"错误提醒的处理思绪.这种情形普通是由很多种情形所造成的.笔者在碰到这种问题的时刻,普通的处理思绪是,先查看该用户的磁盘配额,看其能否满意空间上的需求.若该用户没有磁盘配额管理的话,大概磁盘配额大小符合既定需求的话,则倡议查看表空间的大小,看能否是因为表空间不足所造成的.若前两步还是不可以办理问题的,则看看表空间的管理方法.若是数据字典管理情势的话,则把他改成本地管理情势,普通便可以办理问题了.
2、若数据库中存放着差别办事处大概差别分公司的数据时,笔者倡议对Oracle数据库举行磁盘限额.这可以有效的避免因为硬盘空间的不足招致整个数据库的崩溃.而若对用户举行磁盘配额管理的话,那最多只是某个办事处(某个用户)数据库操作呈现弊端罢了.这也是提高Oracle数据库可用性的一个有效手段.
以上是“<b>Oracle数据库中机动管理用户表空间配额-备份恢复</b>[Oracle防范]”的内容,如果你对以上该文章内容感兴趣,你可以看看七道奇为您推荐以下文章:
本文地址: | 与您的QQ/BBS好友分享! |