十年网站开发经验 + 多家企业客户 + 靠谱的建站团队
量身定制 + 运营维护+专业推广+无忧售后,网站问题一站解决
先是dba的身份进入数据库,才可以给别的用户授权!
创新互联是网站建设技术企业,为成都企业提供专业的成都做网站、成都网站建设,网站设计,网站制作,网站改版等技术服务。拥有十载丰富建站经验和众多成功案例,为您定制适合企业的网站。十载品质,值得信赖!
使用dba身份进入:conn sys/sys as sysdba;
然后就可以授权了:grant dba to scott
dba:是个权限名字,scott是个 用户名,想给别的用户授权的话换成那个用户的名字就可以了,权限名也可以改,还有 connection,create table等权限。
oracle可以通过设置表的权限来设定用户对表的访问权限。
通过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;
grant create table to username;
grant create view to username;
grant dba to username;
revoke create table from username;
revoke dba from username;
它的权限多了。系统、对象、角色权限。你看赋予和收回的命令,就和上面类似。当英文读就可以了。
安装ORACLE提示权限不够说明使用的用户不正确,“$ ”操作符说明你使用的是oracle用户,请改用root用户执行这个脚本。
改用root用户执行的方法:
使用root 修改/usr/oracle/database整个目录的权限
# chown -R oracle:oinstall /usr/local/oracle/database
然后再chmod。
正规流程是:
1、root 建立oracle用户;
2、为oracle用户建立/u01目录;
3、同时为oracle 用户付权限;
4、重新设置linux内核参数。
权限允许用户访问属于其它用户的对象或执行程序,
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;
普通用户可以有的最高权限是dba。数据库本身的最高权限用户是sys。 给一个普通用户wen授予dba权限 首先连接到sys sqlplus /nolog SQLconn / as sysdba SQLgrant dba to wen; OK