那么,我们从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语句赋予ydcb对scott用户下的emp表的增删改查权限。
授权成功之后就可以执行scott用户下emp表的增删改查操作了。
scott用户如果要收回ydcb对emp表的删除权限收回权限的关键字为: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;--解锁账户