Oracle用户表空间宝典
Oracle还是比较常用的,于是我研究了一下Oracle用户表空间,在这里拿出来和大家分享一下,希望对大家有用。在我们为微软的NTFS分区格式中的用户磁盘配额鼓掌的时候,Oracle数据库中也已经实现了用户磁盘配额的技术。可以借助表空间,来对用户进行磁盘配额管理。利用表空间的用户磁盘配额,可以实现很多功能。
如可以利用用户磁盘配额,来管理用户创建数据库对象的能力。我们都知道,若用户想要在某个表空间中创建方案对象的话,必须同时满足两个对象。一是用户具有数据库系统中CREATE TABLE等相关的权限;二是在这个方案对象使用的表空间中具有配额。因为这两个条件必须同时满足,用户才能够成功的建立对象。所以,若我们可以不给用户某个表空间的配额,如此的话,就可以限制用户的相关操作。
另外,我们也可以利用磁盘配额来对用户进行数据大小的限制。因为有时候我们可能在同一台数据器重会运行多个应用服务。如笔者以前在同一台服务器里同时运行邮箱与Oracle数据库系统。为了让减少这个两个系统对硬盘空间的过渡应用,所以,有必要对他们进行磁盘配额的限定。故,如用数据库管理员需要将资源限制作为自己数据库安全策略的一部分的话,就可以考虑为每个用户设置表空间配额。
总之,笔者认为,表空间配额是一个很不错的辅助管理工具。笔者在这方面管理上,稍有心得,跟有识之士,讨论讨论。
一、给用户分配表空间。
在Oracle数据库中,对于用户的磁盘配额是通过表空间来实现的。给某个用户分配了多少的表空间,这个用户就有多少的磁盘配额。所以,对于用户进行磁盘配额的管理,就是对用户进行表空间的限制。
在创建用户的时候,若没有关联表空间,则其一般情况下,就属于默认的表空间。而其拥有表空间的大小,则是根据其所属角色的不同而有所区别。如其属于resource组的话,则其表空间是没有大小限制的。
一般情况下,若数据库管理员需要对表空间进行磁盘配额管理的话,则笔者建议,在用户建立的时候,为用户指定表空间,并设置表空间的大小。如我们可以利用如下这条命令配置用户的磁盘空间配额:ALTER USER user_name QUOTA ** ON tablespace。其中参数User_name表示用户名,而参数Tablespace表示用户所属的表空间。若我们参数设置为UNLIMITED的话,表示这个Oracle用户表空间没有限制,直到所有的空间用完为止。
所以,在一般情况下,两种情形下的用户具有无限制的磁盘配额。一是这个用户属于resource这个角色,因为这个角色默认情况下,其是
相关文档:
在实际工作中,经常要从数据库中导出数据或往数据库中导入数据。当遇到数据量较大时,就需要导入文本格式的数据,一般导入的数据格式有txt,csv等。以下主要介绍我在实际工作中向oracle中导入数据的两个实例。
1.使用PL/SQL Developer的Text Importer
(1)从菜单中选取Text Importer功能。
Tool&mda ......
WINDOWS下 ORACLE 侦听程序异常停止故障处理
WINDOWS下 ORACLE 侦听程序异常停止故障处理
家里用来的台式机上装了个WINDOWS下的ORACLE 10G,好久没用了,今天打开打算用一下,启动数据库,启动侦听,看着很正常,但是在客户端的TNSPING
C:\>tnsping homedb
TNS Ping Utility for 32-bit Window ......
删除ORACLE FOR windows 的oci.dll错误的解决方法
删除ORACLE FOR windows 的oci.dll错误的解决方法
今天发现自己台式机上的ORACLE有问题,打算重装一下,发现整个ORACLE目录删除,报OCI.DLL无法删除错误,研究了一下,
发现关掉MSDTC服务就可以了,MSDTC服务在系统中的服务名为
Distributed T ......
ORACLE数据库内存参数设大于8G的内存启动出错问题解决
4个INTEL 1.6g 4核CPU,16G 内存,安装完ORACLE 10G FOR RED HAT LINUX-64UPDATA4X86-64 准备导数据进去,顺手修改了几个参数。
alter system set sga_max_size=11g scope=spfile;
alter system set sga_target=11g scope=spfile ......