`
mikixiyou
  • 浏览: 1100700 次
  • 性别: Icon_minigender_1
  • 来自: 南京
博客专栏
C3c8d188-c0ab-3396-821d-b68331e21226
Oracle管理和开发
浏览量:353693
社区版块
存档分类
最新评论

限制DBA级别的用户在任意表空间上建表

阅读更多

限制DBA级别的用户在任意表空间上建表

通常情况下,数据库中的用户都授予了connect,resource,dba三个角色。有了这些权限的用户,操作时很方便,但随意性很强。将对象建立到USERS表空间下是经常的事情。我想到一种从技术上的限制方法。步骤如下:

第一步,新建用户和权限处理

SQL> conn / as sysdba
Connected.
SQL> create user usr_xx identified by usr_xx default tablespace tbs_yy;

User created.

SQL> grant connect,resource,dba to usr_xx;

Grant succeeded.

SQL> revoke unlimited tablespace from usr_xx;

Revoke succeeded.

关键点,取消unlimited tablespace 系统权限。取消之后,新建用户在任何表空间上都没有quota了。
因此,客观上限制了用户在任意表空间上建立对象的行为。

第二步,测试效果

SQL> conn usr_xx/usr_xx
Connected.
SQL> create table t_yy(a date,b number,c varchar2(10));
create table t_yy(a date,b number,c varchar2(10))
*
ERROR at line 1:
ORA-01950: no privileges on tablespace 'TBS_YY'

在默认表空间上也无法建表了。


第三步,授予表空间的QUOTA

SQL> conn / as sysdba
Connected.
SQL> alter user usr_xx quota unlimited on tbs_yy;

User altered.

SQL> conn usr_xx/usr_xx
Connected.
SQL> create table t_yy(a date,b number,c varchar2(10));

Table created.

在默认表空间上可以建表了。我们再测试其他表空间上建表操作。


SQL> create table t_yy_users(a date,b number,c varchar2(10)) tablespace users;
create table t_yy_users(a date,b number,c varchar2(10)) tablespace users
*
ERROR at line 1:
ORA-01950: no privileges on tablespace 'USERS'


结果证实,在其他表空空间上是不能建立的。

墙外: http://mikixiyou.blogspot.com/2012/04/dba.html
分享到:
评论

相关推荐

    sql建表及表空间

    ### SQL建表及表空间知识点解析 #### 一、创建临时表空间 在数据库管理中,**临时表空间**主要用于存储临时数据,如排序操作、表连接等过程中产生的临时数据。这些数据通常在操作完成后会被自动清除。创建临时表...

    ORACLE新建用户表空间及授权DBA

    本文将根据提供的文件信息,深入解析如何在Oracle环境中新建用户表空间,并授予DBA级别的权限,确保数据存储与访问的安全性与高效性。 ### 一、创建表空间 在Oracle中,表空间是数据物理存储的逻辑容器,用于组织...

    oracle导入导出建表空间.txt

    oracle导入导出建表空间语句:建用户;建表空间;用户授权dba;导入导出;

    建表空间例子

    通过上述分析,我们了解到如何在Oracle数据库中创建表空间及其相关属性设置方法,并且学会了如何创建用户并将其与特定的表空间关联起来。这对于数据库管理和优化具有重要意义。在实际应用中,合理地规划表空间及其...

    oracle 创建表空间命令

    3. **将用户与表空间关联**:最后,需要将新创建的用户与表空间关联起来,这样用户就可以在这个表空间内创建对象了: ```sql ALTER USER myuser DEFAULT TABLESPACE mytablespace; ``` 这会将`myuser`的默认表空间...

    ORACLE quota 表空间限制

    若要移除配额限制,使用户在该表空间上享有无限的空间使用权限,则可执行以下命令: ```sql ALTER USER test_quota QUOTA UNLIMITED ON users; ``` 需要注意的是,即使查询结果显示用户的配额为 0,但如果该用户被...

    完整ORACLE创建表空间、用户、设置用户权限脚本

    ### 完整Oracle创建表空间、用户及设置用户权限脚本解析 #### 一、创建表空间 在Oracle数据库管理中,创建表空间是数据库管理的基础之一。表空间是Oracle数据库中逻辑存储结构的一部分,它将数据库物理存储空间...

    linux oracle创建用户,表空间 资料

    以下将详细讲解如何在Linux上进行Oracle用户创建和表空间设置。 首先,确保你的Linux系统已经安装了Oracle数据库服务器,并且你有足够的权限进行数据库操作。通常,你需要以`oracle`或`dba`用户身份登录到系统。 1...

    NC5.7建表空间

    - **定义**:在Oracle数据库中,表空间是逻辑存储结构的最高级别。每个数据库至少有一个表空间,默认为SYSTEM表空间。 - **作用**:表空间由一个或多个数据文件组成,用于存储数据字典、表、索引等数据库对象。合理...

    oracle创建表空间用户等

    本文将详细介绍如何在Oracle数据库中创建表空间、创建用户并分配相应的权限,以及如何设置表空间的自增长和修改其大小。 #### 一、创建表空间 表空间是Oracle数据库中的逻辑存储单元,它由一个或多个数据文件组成...

    Oracle建表建用户

    ### Oracle建表建用户知识点详解 ...通过以上步骤,我们可以详细了解如何在Oracle数据库中进行表空间的创建与管理、用户创建及权限管理等操作。这些知识对于数据库管理员来说是非常重要的基础技能。

    oracle创建DBA用户

    此命令创建了一个名为 `dba_tbs` 的表空间,并将其数据文件存储在 `D:\dbatbs.dbf`,初始大小为 500 MB。 ##### 3. 设置默认表空间 ```sql ALTER USER username DEFAULT TABLESPACE tablespace_name; ``` **参数...

    oracle一个创建用户,创建表空间、授权、剪标的完整的过程

    - `UNLIMITED TABLESPACE`:允许用户在指定表空间内创建对象,不受大小限制。 ### 四、剪标(删除对象) 剪标通常指的是删除数据库中的对象,如表、视图等。例如,删除一个名为`my_table`的表: ```sql DROP ...

    oracle 建表空间 实用脚本

    - `GRANT "DBA" TO "DZJC"`:授予用户DBA(数据库管理员)权限,这意味着用户具有最高级别的管理权限,可以对数据库执行所有操作。 - `WITH ADMIN OPTION`:表示用户还可以将这些权限再授予其他用户。 ### 总结 ...

    oracle创建表空间,创建用户,授权给新建的用户实例全解

    在Oracle数据库管理中,表空间(Tablespace)是存储数据的主要单位,用户(User)则是在数据库中拥有特定权限的实体。本篇文章将深入解析如何在Oracle中创建表空间、创建用户以及如何将权限授予新创建的用户。 一、...

    DBA常用表总结

    - **dba_ts_quotas**:列出了用户在各个表空间中的配额情况。 - **dba_free_space**:显示了各表空间中的空闲区域信息。 - **dba_profiles**:提供了用户配置文件的信息,包括CPU使用限制、登录次数限制等。 - **dba...

    Oracle10g创建、修改、删除用户和用户表空间

    在Oracle 10g数据库管理中,创建、修改和删除用户以及用户表空间是数据库管理员(DBA)的常见任务。这些操作对于维护数据库的安全性、性能和数据完整性至关重要。下面将详细阐述如何在Oracle 10g中执行这些操作。 ###...

    oracle创建表空间和用户授权及删除表空间和用户

    在Oracle数据库管理中,创建与删除表空间以及用户授权是非常重要的操作。本文将详细介绍如何在Oracle环境下进行这些操作,包括创建表空间、为用户分配权限、以及如何删除表空间和用户。 ### 一、创建表空间 #### ...

    疯狂Java_疯狂软件_Oracle_数据字典和创建表空间

    在实际应用中,根据业务需求和性能考虑,你可能还需要创建临时表空间、撤销表空间或者设置表空间的只读属性等。了解并灵活运用这些操作,可以帮助你更好地管理和优化Oracle数据库。 总的来说,Oracle的数据字典提供...

Global site tag (gtag.js) - Google Analytics