Oracle用户表空间宝典
Oracle还是比较常用的,于是我研究了一下Oracle用户表空间,在这里拿出来和大家分享一下,希望对大家有用。在我们为微软的NTFS分区格式中的用户磁盘配额鼓掌的时候,Oracle数据库中也已经实现了用户磁盘配额的技术。可以借助表空间,来对用户进行磁盘配额管理。利用表空间的用户磁盘配额,可以实现很多功能。
如可以利用用户磁盘配额,来管理用户创建数据库对象的能力。我们都知道,若用户想要在某个表空间中创建方案对象的话,必须同时满足两个对象。一是用户具有数据库系统中CREATE TABLE等相关的权限;二是在这个方案对象使用的表空间中具有配额。因为这两个条件必须同时满足,用户才能够成功的建立对象。所以,若我们可以不给用户某个表空间的配额,如此的话,就可以限制用户的相关操作。
另外,我们也可以利用磁盘配额来对用户进行数据大小的限制。因为有时候我们可能在同一台数据器重会运行多个应用服务。如笔者以前在同一台服务器里同时运行邮箱与Oracle数据库系统。为了让减少这个两个系统对硬盘空间的过渡应用,所以,有必要对他们进行磁盘配额的限定。故,如用数据库管理员需要将资源限制作为自己数据库安全策略的一部分的话,就可以考虑为每个用户设置表空间配额。
总之,笔者认为,表空间配额是一个很不错的辅助管理工具。笔者在这方面管理上,稍有心得,跟有识之士,讨论讨论。
一、给用户分配表空间。
在Oracle数据库中,对于用户的磁盘配额是通过表空间来实现的。给某个用户分配了多少的表空间,这个用户就有多少的磁盘配额。所以,对于用户进行磁盘配额的管理,就是对用户进行表空间的限制。
在创建用户的时候,若没有关联表空间,则其一般情况下,就属于默认的表空间。而其拥有表空间的大小,则是根据其所属角色的不同而有所区别。如其属于resource组的话,则其表空间是没有大小限制的。
一般情况下,若数据库管理员需要对表空间进行磁盘配额管理的话,则笔者建议,在用户建立的时候,为用户指定表空间,并设置表空间的大小。如我们可以利用如下这条命令配置用户的磁盘空间配额:ALTER USER user_name QUOTA ** ON tablespace。其中参数User_name表示用户名,而参数Tablespace表示用户所属的表空间。若我们参数设置为UNLIMITED的话,表示这个Oracle用户表空间没有限制,直到所有的空间用完为止。
所以,在一般情况下,两种情形下的用户具有无限制的磁盘配额。一是这个用户属于resource这个角色,因为这个角色默认情况下,其是
相关文档:
我的ORACLE RAC INSTALL for LINUX 10.2研究
我的ORACLE RAC INSTALL for LINUX 10.2研究
1、创建虚拟机
DB1虚拟机文件目录 g:\vmtest1 文件大小8G 内存944M(原谅我只有2GRAM)
DB2虚拟机文件目录 E:\vmtest2 文件大小8G 内存944M
在DB1上创建共享磁盘,
E:\SHARE 文件大小8G
DB2也创建磁盘, ......
oracle巨大表的数据删除的方法,20分钟搞定
一个客户的日志表,已经有3000多千万的记录了,容量大约30G,打算维护一下,看了一下字段,发现日志是按日期记录的,打算只保留3个月的日志就好了。
第一个思路:
按条件查出来,直接DELETE
试了一下
delete from NTLS_LOGS where to_char(START ......
WINDOWS下 ORACLE 侦听程序异常停止故障处理
WINDOWS下 ORACLE 侦听程序异常停止故障处理
家里用来的台式机上装了个WINDOWS下的ORACLE 10G,好久没用了,今天打开打算用一下,启动数据库,启动侦听,看着很正常,但是在客户端的TNSPING
C:\>tnsping homedb
TNS Ping Utility for 32-bit Window ......
使用nulls first 或者nulls last 语法
Nulls first和nulls last是Oracle Order by支持的语法
如果Order by 中指定了表达式Nulls first则表示null值的记录将排在最前(不管是asc 还是 desc)
如果Order by 中指定了表达式Nulls last则表示null值的记录将排在最后 (不管是asc 还是 desc)
使用语法如下:
--将nulls ......