通常情况下,数据库中的用户都授予了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'
结果证实,在其他表空空间上是不能建立的。
- 浏览: 1100700 次
- 性别:
- 来自: 南京
博客专栏
-
Oracle管理和开发
浏览量:353693
最新评论
-
Simon.Ezer:
请问对于“如果非主键字段值发生改变,则不会同步过去”这种情况, ...
创建增量同步Oracle物化视图问题 -
dahai639:
挺好的,支持一下
Oracle的pipelined函数实现高性能大数据处理 -
zealotpz:
不错,原来是用户oracle 的所属组的问题
以sysdba身份登录oracle报ORA-1031权限不足错误之完美分析 -
mikixiyou:
zhangyuslam 写道如果担心全局索引失效,可以使用如下 ...
Oracle分区表的分区交互技术实现数据快速转移 -
sea0108:
...
Oracle sql loader使用速成
相关推荐
### SQL建表及表空间知识点解析 #### 一、创建临时表空间 在数据库管理中,**临时表空间**主要用于存储临时数据,如排序操作、表连接等过程中产生的临时数据。这些数据通常在操作完成后会被自动清除。创建临时表...
本文将根据提供的文件信息,深入解析如何在Oracle环境中新建用户表空间,并授予DBA级别的权限,确保数据存储与访问的安全性与高效性。 ### 一、创建表空间 在Oracle中,表空间是数据物理存储的逻辑容器,用于组织...
oracle导入导出建表空间语句:建用户;建表空间;用户授权dba;导入导出;
通过上述分析,我们了解到如何在Oracle数据库中创建表空间及其相关属性设置方法,并且学会了如何创建用户并将其与特定的表空间关联起来。这对于数据库管理和优化具有重要意义。在实际应用中,合理地规划表空间及其...
3. **将用户与表空间关联**:最后,需要将新创建的用户与表空间关联起来,这样用户就可以在这个表空间内创建对象了: ```sql ALTER USER myuser DEFAULT TABLESPACE mytablespace; ``` 这会将`myuser`的默认表空间...
若要移除配额限制,使用户在该表空间上享有无限的空间使用权限,则可执行以下命令: ```sql ALTER USER test_quota QUOTA UNLIMITED ON users; ``` 需要注意的是,即使查询结果显示用户的配额为 0,但如果该用户被...
### 完整Oracle创建表空间、用户及设置用户权限脚本解析 #### 一、创建表空间 在Oracle数据库管理中,创建表空间是数据库管理的基础之一。表空间是Oracle数据库中逻辑存储结构的一部分,它将数据库物理存储空间...
以下将详细讲解如何在Linux上进行Oracle用户创建和表空间设置。 首先,确保你的Linux系统已经安装了Oracle数据库服务器,并且你有足够的权限进行数据库操作。通常,你需要以`oracle`或`dba`用户身份登录到系统。 1...
- **定义**:在Oracle数据库中,表空间是逻辑存储结构的最高级别。每个数据库至少有一个表空间,默认为SYSTEM表空间。 - **作用**:表空间由一个或多个数据文件组成,用于存储数据字典、表、索引等数据库对象。合理...
本文将详细介绍如何在Oracle数据库中创建表空间、创建用户并分配相应的权限,以及如何设置表空间的自增长和修改其大小。 #### 一、创建表空间 表空间是Oracle数据库中的逻辑存储单元,它由一个或多个数据文件组成...
### Oracle建表建用户知识点详解 ...通过以上步骤,我们可以详细了解如何在Oracle数据库中进行表空间的创建与管理、用户创建及权限管理等操作。这些知识对于数据库管理员来说是非常重要的基础技能。
此命令创建了一个名为 `dba_tbs` 的表空间,并将其数据文件存储在 `D:\dbatbs.dbf`,初始大小为 500 MB。 ##### 3. 设置默认表空间 ```sql ALTER USER username DEFAULT TABLESPACE tablespace_name; ``` **参数...
- `UNLIMITED TABLESPACE`:允许用户在指定表空间内创建对象,不受大小限制。 ### 四、剪标(删除对象) 剪标通常指的是删除数据库中的对象,如表、视图等。例如,删除一个名为`my_table`的表: ```sql DROP ...
- `GRANT "DBA" TO "DZJC"`:授予用户DBA(数据库管理员)权限,这意味着用户具有最高级别的管理权限,可以对数据库执行所有操作。 - `WITH ADMIN OPTION`:表示用户还可以将这些权限再授予其他用户。 ### 总结 ...
在Oracle数据库管理中,表空间(Tablespace)是存储数据的主要单位,用户(User)则是在数据库中拥有特定权限的实体。本篇文章将深入解析如何在Oracle中创建表空间、创建用户以及如何将权限授予新创建的用户。 一、...
- **dba_ts_quotas**:列出了用户在各个表空间中的配额情况。 - **dba_free_space**:显示了各表空间中的空闲区域信息。 - **dba_profiles**:提供了用户配置文件的信息,包括CPU使用限制、登录次数限制等。 - **dba...
在Oracle 10g数据库管理中,创建、修改和删除用户以及用户表空间是数据库管理员(DBA)的常见任务。这些操作对于维护数据库的安全性、性能和数据完整性至关重要。下面将详细阐述如何在Oracle 10g中执行这些操作。 ###...
在Oracle数据库管理中,创建与删除表空间以及用户授权是非常重要的操作。本文将详细介绍如何在Oracle环境下进行这些操作,包括创建表空间、为用户分配权限、以及如何删除表空间和用户。 ### 一、创建表空间 #### ...
在实际应用中,根据业务需求和性能考虑,你可能还需要创建临时表空间、撤销表空间或者设置表空间的只读属性等。了解并灵活运用这些操作,可以帮助你更好地管理和优化Oracle数据库。 总的来说,Oracle的数据字典提供...