oracle如何访问权限,oracle 远程访问权限

如何对Oracle10g数据库设置用户对表的访问权限。

oracle可以通过设置表的权限来设定用户对表的访问权限。

创新互联主营宣恩网站建设的网络公司,主营网站建设方案,重庆App定制开发,宣恩h5小程序开发搭建,宣恩网站营销推广欢迎宣恩等地区企业咨询

通过dba权限用户或者表的拥有者用户来设定相关权限。

基本的权限主要有三个,select,update和delete.

其实还有一个alter权限,不过这个权限不建议授予,这个还是掌握在dba手中比较好。不然将来会很麻烦。

授权语句大同小异,只是dba授权的话,需要加上表的所属用户。

举例:比如要把aaa用户下的a表,授予bbb用户。dba用户为ccc

那么用aaa用户的授权语句为

grant select on a to bbb;

使用ccc用户的授权语句为

grant select on aaa.a to bbb;

其他的update,和delete只要把select 替换就好。

当然如果三个权限都想授予。那么可以考虑grant all on a to bbb;

如何控制oracle用户的权限

权限允许用户访问属于其它用户的对象或执行程序,

ORACLE系统提供权限:Object 对象级、System 系统级

1.系统权限(系统权限是对用户而言):

DBA拥有最高的系统权限:

1,可以创建用户

语法:create user username identified by password;

例如:create user briup identified by briup;

当用户创建成功之后,此用户什么权限都没有,甚至不能登录数据库。

2. 赋予权限:

一个用户应该具有的基本权限包含:

CREATE SESSION

CREATE TABLE

CREATE SEQUENCE

CREATE VIEW

CREATE PROCEDURE

如果有多个用户他们都具有相同的权限(create session,create table,create sequence),赋予权限的动作过于麻烦,要给每个用户分别制定这些权限,因此oracle提出角色的概念,可以将权限赋值给角色,然后再将角色赋值给用户。

例如,我们当初在进行操作时写的:

grant resource,connect to briup;

此时resource,connect就是角色。

查询resource,connect 具有哪些权限可以使用:

select privilege,role

from role_sys_privs

where role = 'CONNECT' or role ='RESOURCE';

语法:

grant xxxx to user_name ;

例如:

grant create view to briup;

3.回收权限

语法:revoke xxx from user_name;

例如:

revoke create view from briup;

4.修改密码:

语法:alter user xxx identified by xxxx;

例如:

alert user briup identified by briup;

5.删除用户:

语法:drop user username [cascade];

note: cascade:当用户下有表的时候,必须使用cascade级联删除。

例如: drop user test cascade;

2.对象权限(针对对象,类似表对象等):

对象权限:select, update, insert, alter, index, delete, all //all包括所有权限

对象的 拥有者拥有所有的权限。

1.给用户赋予操作对象的权限:

GRANT object_priv [(columns)]

ON object

TO {user|role|PUBLIC}

[WITH GRANT OPTION]; //允许分配到权限的用户继续将权限分配给其它用户

例如:

grant select on s_emp to jd1613;

给jd1613用户赋予在s_emp表上进行查询的权利。

grant update(id) on s_emp to jd1613;

给jd1613赋予能够更新s_emp表上id列的权限。

2.回收权限:同系统权限。

语法:revoke xxx on obj from user;

note: 通过with grant option赋予额权限也会被回收。

例如:

revoke select , update on s_emp from jd1613;

3.创建同义词: 相当于给对象起别名

语法:create[public] synonym sy_name for obje_name;

note:只有dba才有权利创建public的同义词

例如:

create synonym emp for s_emp;

4.删除同义词:

语法: drop synonym syn_name;

例如:

drop synonym emp;

5.导出数据库

exp,imp不属于sqlplus的命令,所以不是在sqlplus终端执行的。

系统终端:exp userid=briup/briup full=y file=briup.dmp

导入:imp userid=briup/briup full=y file=briup.dmp;

Oracle中怎样的设定用户访问权限?

一般授予connect权限用户就能够连接数据了,授予resource权限用户就可以建表、索引、视图、存储过程了,其他权限根据具体需求来建,具体示例如下:

登录数据库服务器,运行sqlplus,

connect / as sysdba

create user test identified by test1234 tablespace test_data;(需要事先建好test_data表空间)

grant connect to test;

grant resource to test;

如果该用户需要查询数据库中所有数据:grant select any table to test;

如果该用户需要读取数据字典、使用OEM工具等:grant select dictionary to test;

如果该用户需要操作其他用户的表(如对scott用户下的emp表进行增删改操作):

grant insert,update,delete on scott.emp to test;

ORACLE 怎么设置远程连接权限?

设置方法如下:

1、找到$ORACLE_HOME/client_1/network/admin目录下的tnsnames.ora文件,并用文本模式打开。

2、添加以下内容:

本地实例名=

(DESCRIPTION =

(ADDRESS = (PROTOCOL = TCP)(HOST = 数据库IP地址)(PORT = 端口号))

(CONNECT_DATA =

(SERVER = DEDICATED)

(SERVICE_NAME = 服务名)

)

)

3、用工具登录即可。

如何查看oracle用户具有的权限和角色?

1.查看所有用户:

select * from dba_users;

select * from all_users;

select * from user_users;

2.查看用户或角色系统权限(直接赋值给用户或角色的系统权限):

select * from dba_sys_privs;

select * from user_sys_privs;

3.查看角色(只能查看登陆用户拥有的角色)所包含的权限

sqlselect * from role_sys_privs;

4.查看用户对象权限:

select * from dba_tab_privs;

select * from all_tab_privs;

select * from user_tab_privs;

5.查看所有角色:

select * from dba_roles;


分享标题:oracle如何访问权限,oracle 远程访问权限
本文URL:http://ybzwz.com/article/dsdgdge.html