oracle 怎么授权用户 只能在指定的表空间中 创建表

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了oracle 怎么授权用户 只能在指定的表空间中 创建表相关的知识,希望对你有一定的参考价值。

oracle 怎么授权用户 只能在指定的表空间中 创建表
比如用户默认配置表空间是 bill_temp,在默认情况下允许用户直接创建表,但是为了数据管理 在该用户下不允许把表创建到除bill_temp以外的其他表空间!

可以通过alter方法给用户指定表空间的,之后创建表不需要指定,会进行默认的表空间存储的。
sql:ALTER USER 用户名 IDENTIFIED BY 口令 DEFAULT TABLESPACE 表空间;
解释:上述语句就是给“用户名”用户指定了默认的表空间“表空间”,之后所有的表都会默认进行存储。
备注:一般表空间都是设置默认自动扩展的,所以一般不用担心存储超出最大存储的问题的。
参考技术A 首先查看用户所拥用的权限,把不相关的权限收回,再查看用户对表空间的权限
一、查看用户的权限
1.查看当前用户所拥有的系统权限
select * from session_privs;
2.查看数据库内的所有角色
selec * from dba_roles;
3.查看数据库所支持的最大角色数
SQL> show parameter role

max_enabled_roles integer 150 --该值可以修改

os_roles boolean FALSE

remote_os_roles boolean FALSE
4.查看当前用户所拥有的角色
select * from session_roles;

5.查看角色的嵌套关系和所授予的用户
select * from dba_role_privs order by 1;

6.其他查看角色和权限的命令
select * from role_sys_privs;
select * from dba_sys_privs;

二、查看用户表空间的权限
SQL> select * from user_ts_quotas;
如果可以在其它表空间上操作,修改用户;本回答被提问者采纳
参考技术B 如果一个账号刚刚创建,他是没有任何权限的,你首先要赋予其登陆的权利grant connect to a,
以及赋予其资源,
这样他就可以在他对应的表空间下操作了,
但是他如果不是用sys账号登陆,他是不可能在其他表空间创建表

oracle 创建一个用户,只能访问指定的对象

今天在开发接口时候,需要给接口开发公司提供一个ORACLE 用户,只能访问指定的表或视图,把过程记录到此

1.创建一个ORACLE 的用户

 create user username identified by pws;

2.给用户授权   grant connect,resource to username;  grant select on 表或视图名 to username;

到此,这个用户就可以访问指定的表了,可是用户登录

在PLSQL中用 Select * from 表或视频图名;提示表或视图不存在

查其原因:

因为指定的表或视图不在新建的用户下,要查询,语句如下:

select * from 用户名.表或视频图名

注:用户名是拥有表或视频图的用户

感觉这样写SQL 用些别扭.又给新建的用户授了一个权限

grant create  synonym  to username;

给他一个可以创建同义词的权根.

在用新用户登录PLSQL 执行

create or replace synonym 表或视频图名 for 用户名.表或视频图名;

通过以上步骤,在查询 表或视频图名时就可以直接写 "Select * from 表或视频图名" 了

摘自:http://www.cnblogs.com/BetterWF/archive/2012/07/03/2574416.html

以上是关于oracle 怎么授权用户 只能在指定的表空间中 创建表的主要内容,如果未能解决你的问题,请参考以下文章

Oracle快速创建表空间及用户授权

oracle 中创建用户,并限定该用户在指定的时间访问?

oracle 怎么查指定用户(例如scott)用到的表空间

oracle 查看同义词

oracle中创建一个用户,只能查看指定的视图,如何授权

oracle的表空间是啥