首先创建用户就必须登陆Oracle的SYS账户:
点击添加连接:
注意角色需要改成SYSDBA,下方的SID选项一般是安装时候设置的都是orcl,点击测试
如果显示状态为成功即可连接进入,进入后选择查看->DBA:
创建角色:
这时候屏幕左下角出现DBA的选项窗口:
点击加号选择连接:
选择你的SYS登陆用的连接,这边我的是SYS连接:
展开SYS连接选择安全选项,显示由用户和角色的选项,右键点击角色,选择新建:
弹出创建角色窗口,输入角色名,可以不用输入口令,(输入口令后就不能把该角色设置为用户的默认角色,我试了好多次,但不知道为毛这样子?手动摊手)注意:角色名必须以C##开头,否则会报非法角色名的错误。
授予角色可以赋予该角色其他角色的权限,系统权限选项卡选择该用户的权限:
在该界面勾选系统权限。一般如果该角色是用作默认角色的话,必须有create session的权限,或者你的用户角色就必须有这个全选,否则该用户就不能登陆。
设置好后还可以在SQL选项卡查看对应的SQL语句:
点击右下角应用提示创建成功后点击关闭即可:
创建用户:
与创建角色类似,进入SYS->安全->用户,右键点击新建:
输入用户名和口令,务必记住口令,默认表空间选择USERS 、临时表空间选择TEMP:
在授予角色选项卡界面把之前创建的角色赋予该用户,并设置为默认角色使其生效。
其他几个选项与角色类似:点击应用完成创建。
在SYS的工作表空间输入该命令使该角色生效:
set role C##Role;
下方出现如下提示则表示生效操作成功。
新建连接登陆新创建的用户,注意此时的角色选项选择默认值,SID仍旧是orcl:
点击测试,显示状态成功则表示可以连接,点击连接,登陆该用户:
注意此时该用户只拥有C##Role角色赋予的权限:即只有read any table和create session的权限。下面我们来验证下:
右键点击表选择新建表:
由于只是验证,就直接点击确定:
系统提示权限不够:
使用我们的read any table权限,展开User->其他用户,展开某个用户(事先准备好的用户):
右键点击Book表选择打开,则会如图显示,点击数据:
显示该表数据,即可以读表:
友情提示,所有的对于角色和用户的权限操作都是在SYS用户下进行的(因为该用户有这样的权限),每当修改权限后,只有重新连接新的设置才会生效。