Oracle创建用户及赋权限

创建一个用户的语句为:create user username identified by pwd;

username为你要创建的用户名,pwd为用户密码。

首先,打开sqlplus,用scott用户登录,

现在创建一个用户名为ydcb,密码为ydcb的用户,

sql这样写:create user ydcb identified by ydcb;

执行报错:权限不足

也就是scott用户没有添加用户的权限,那么谁有这个权限呢?

Oracle中有三个重要的用户分别是:

a、用户名:sys 默认密码为:change_on_install;

b、用户名:system 默认密码:manager;

c、用户名:scott 默认密码:tiger;

sys-超级管理员system-管理员,scott-普通用户sys权限最高,所以sys用户有创建用户的权限。

那么,我们从scott切换到sys登录:conn sys/change_on_install as sysdba,登陆成功之后,就可以创建上面的ydcb用户了我们打开Enterprise Manager Console,就可以看到刚才创建的用户ydcb

登陆用户:conn ydcb/ydcb,结果报错

这是因为还没有给ydcb用户登录的权限。

再次用sys登录,写上如下sql语句:grant connect,resource to ydcb;这句话就赋予ydcb用户连接数据库和对自己用户下数据库表的增删改查的权限。

权限赋予成功之后,我们就可以用ydcb用户名来登录并对数据表进行操作了。

接下来需要思考的是,ydcb用户能否查看其他用户下的数据表呢?比如现在想要查看scott用户下的emp表:select * from scott.emp;结果报错

这说明ydcb用户没有权限操作其他用户的数据表。

如果一定要在ydcb用户中查询scott用户的表的话,那么登陆scott用户,scott来给他权限进行操作,

赋权限给ydcb用户让其对自己(scott)数据表的增删改查的权限:grant select,delete,update,insert on emp to ydcb;

这个sql语句赋予ydcbscott用户下的emp表的增删改查权限。

授权成功之后就可以执行scott用户下emp表的增删改查操作了。

scott用户如果要收回ydcbemp表的删除权限收回权限的关键字为:revoke,收回删除权限的sql语句为:revoke delete on emp from ydcb;

收回所有权限的sql语句为:revoke all on emp from ydcb;

ydcb用户赋dba的所有权限  

grant dba to ydcb;  

Orale中scott用户本身权限是什么?

select * from  DBA_TAB_PRIVS where grantee='scott';--查看scott权限

select * from  DBA_ROLE_PRIVS where grantee='scott';;--查看scott角色


把多余的角色和权限删除
revoke  权限/角色 from scott; --删除权限

scott账户本来是锁定的
alter user <username> account lock;--锁定账户
alter user <username> account unlock;--解锁账户

 

 

猜你喜欢

转载自stunizhengjia.iteye.com/blog/1611659