Oracle用户表空间宝典
Oracle还是比较常用的,于是我研究了一下Oracle用户表空间,在这里拿出来和大家分享一下,希望对大家有用。在我们为微软的NTFS分区格式中的用户磁盘配额鼓掌的时候,Oracle数据库中也已经实现了用户磁盘配额的技术。可以借助表空间,来对用户进行磁盘配额管理。利用表空间的用户磁盘配额,可以实现很多功能。
如可以利用用户磁盘配额,来管理用户创建数据库对象的能力。我们都知道,若用户想要在某个表空间中创建方案对象的话,必须同时满足两个对象。一是用户具有数据库系统中CREATE TABLE等相关的权限;二是在这个方案对象使用的表空间中具有配额。因为这两个条件必须同时满足,用户才能够成功的建立对象。所以,若我们可以不给用户某个表空间的配额,如此的话,就可以限制用户的相关操作。
另外,我们也可以利用磁盘配额来对用户进行数据大小的限制。因为有时候我们可能在同一台数据器重会运行多个应用服务。如笔者以前在同一台服务器里同时运行邮箱与Oracle数据库系统。为了让减少这个两个系统对硬盘空间的过渡应用,所以,有必要对他们进行磁盘配额的限定。故,如用数据库管理员需要将资源限制作为自己数据库安全策略的一部分的话,就可以考虑为每个用户设置表空间配额。
总之,笔者认为,表空间配额是一个很不错的辅助管理工具。笔者在这方面管理上,稍有心得,跟有识之士,讨论讨论。
一、给用户分配表空间。
在Oracle数据库中,对于用户的磁盘配额是通过表空间来实现的。给某个用户分配了多少的表空间,这个用户就有多少的磁盘配额。所以,对于用户进行磁盘配额的管理,就是对用户进行表空间的限制。
在创建用户的时候,若没有关联表空间,则其一般情况下,就属于默认的表空间。而其拥有表空间的大小,则是根据其所属角色的不同而有所区别。如其属于resource组的话,则其表空间是没有大小限制的。
一般情况下,若数据库管理员需要对表空间进行磁盘配额管理的话,则笔者建议,在用户建立的时候,为用户指定表空间,并设置表空间的大小。如我们可以利用如下这条命令配置用户的磁盘空间配额:ALTER USER user_name QUOTA ** ON tablespace。其中参数User_name表示用户名,而参数Tablespace表示用户所属的表空间。若我们参数设置为UNLIMITED的话,表示这个Oracle用户表空间没有限制,直到所有的空间用完为止。
所以,在一般情况下,两种情形下的用户具有无限制的磁盘配额。一是这个用户属于resource这个角色,因为这个角色默认情况下,其是
相关文档:
收藏于http://dev.yesky.com/296/8090796.shtml
Oracle数据库
中管理表空间和数据文件
数据库的三大组成部分:数据文件,控制文件,Redo日志。
表空间分为系统表空间和非系统表空间。
SYSTEM表空间是最基本的,必须的,Oracle建议你为用户数据,用户索引,Undo数据段,临时数据段创建单独的表空间 ......
不是ORACLE的问题
2009-12-30 15:00
  ......
oracle巨大表的数据删除的方法,20分钟搞定
一个客户的日志表,已经有3000多千万的记录了,容量大约30G,打算维护一下,看了一下字段,发现日志是按日期记录的,打算只保留3个月的日志就好了。
第一个思路:
按条件查出来,直接DELETE
试了一下
delete from NTLS_LOGS where to_char(START ......
1. 通过v$session,v$locked_object查看谁锁定了资源
select t1.sid, t1.serial#, t1.username, t1.logon_time
from v$session t1 , v$locked_object t2
where t1.sid = t2.session_id
order by t1.logon_time
......
删除ORACLE FOR windows 的oci.dll错误的解决方法
删除ORACLE FOR windows 的oci.dll错误的解决方法
今天发现自己台式机上的ORACLE有问题,打算重装一下,发现整个ORACLE目录删除,报OCI.DLL无法删除错误,研究了一下,
发现关掉MSDTC服务就可以了,MSDTC服务在系统中的服务名为
Distributed T ......