Oracle用户管理

Oracle用户管理创建用户概述:在oracle中要创建一个新的用户使用createuser语句,一般是具有dba(数据库管理员)的权限才能使用。createuser用户名identifiedby密码;

PS:oracle密码必须以字母开头,否则会创建失败)

扩展:

sql> create user switch identified by 123456default tablespace userstemporary tablespace tempquota 3m on users;identified by 表明用户switch将用数据库方式验证 default tablespace users //用户的表空间在users上temporary tablespace temp //用户的临时表在temp 空间quota 3m on users //表明用户建立的数据对象(表,索引,视图,pl/sql块..)最大只能是3m刚刚创建的用户是没有任何权限的,因此,需要dba给该用户授权.

用户可以连接上数据库

sql>grantconnecttoswitch

用户建表没有空间的限制

sql>grandresourcetoswitch

用户成为dba

sql>grantdbatoswitch

用户修改密码概述:

如果给自己修改密码可以使用password用户名如果给别人修改密码则需要具有dba的权限,或是拥有alteruser的系统权限SQL>alteruser用户名identifiedby新密码

删除用户概述:一般以dba的身份去删除某个用户,如果用其它用户去删除用户则需要具有dropuser的权限。比如dropuser用户名[cascade]在删除用户时,注意:如果要删除的用户,已经创建了表,那么就需要在删除的时候带一个参数cascade;

用户权限管理概述:创建的新用户是没有任何权限的,甚至连登陆的数据库的权限都没有,需要为其指定相应的权限。给一个用户赋权限使用命令grant,回收权限使用命令revoke。基本语法:grant权限/角色to用户

举例:

SQL> conn xiaoming/123456; ERROR: ORA-01045: user XIAOMING lacks CREATE SESSION privilege; logon denied 警告: 您不再连接到 ORACLE。 SQL> show user; USER 为 "" SQL> conn system/123456; 已连接。 SQL> grant connect to xiaoming; 授权成功。 SQL> conn xiaoming/123456; 已连接。 SQL>

PS:SQL>grantconnecttoxiaoming;这里的connect是角色。当然我们也可以这样做,grantcreatesessiontoxiaoming;这样用户小明被赋予了创建会话的权限,也能连接上数据库实例。

扩展:

Oracle的权限分为系统权限和对象权限,createsession就是一个系统权限select,insert之类的就是对象权限。总结起来就是:系统权限是用户对数据库系统的相关权限,对象权限就是用户对其他用户的数据对象操作的权限。

其在命令上就能清晰的看出,以下举例:

系统权限:grantsessiontoxiaoming; –将建立会话的权限赋给用户

对象权限:grantselectonscott.emptoxiaoming; –将查询scott用户下的emp表的权限赋给用户

可以明显的看出系统权限是…to…,而对象权限是…on…to…,从这语法也就证明了上述的总结。

Oracle的角色分为预定义角色和自定义角色,常见的预定义角色有connect,resource,dba

connect角色:可以连接上数据库进行基本操作。

resource角色:在connect角色的基础上可以在任何表空间建表。

dba角色:拥有数据库管理员的权限。PS:在scott用户登录的情况如下操作,如果是以其他用户登录赋权要加用户名scott。*希望xiaoming用户可以去查询scott的emp表grantselectonemptoxiaoming*希望xiaoming用户可以去修改scott的emp表grantupdateonemptoxiaoming*希望xiaoming用户可以去修改/删除,查询,添加scott的emp表grantallonemptoxiaoming*scott希望收回xiaoming对emp表的查询权限revokeselectonempfromxiaoming*希望xiaoming用户可以去查询scott的emp表/还希望xiaoming可以把这个权限继续给别人。–如果是对象权限,就加入withgrantoptiongrantselectonemptoxiaomingwithgrantoption

SQL> conn scott/123456; 已连接。 SQL> grant select on scott.emp to xiaoming with grant option; 授权成功。 SQL> conn system/123456; 已连接。 SQL> create user xiaohong identified by 123456; 用户已创建。 SQL> grant connect to xiaohong; 授权成功。 SQL> conn xiaoming/123456; 已连接。 SQL> grant select on scott.emp to xiaohong; 授权成功。 黑夜下,撕开那张面具尽是怠倦的容颜,

Oracle用户管理

相关文章:

你感兴趣的文章:

标签云: