Oracle——16用户、角色和权限

简介: 一、用户 1、利用SQL创建用户的语法格式如下:   create user user_name --用户名*/ [identified by password | externally | globally as 'external_name'] --以何种方式验...


一、用户

1、利用SQL创建用户的语法格式如下:

 

		create user user_name --用户名*/
		[identified by password | externally | globally as 'external_name'] --以何种方式验证用户,验证方式有3种:口令、外部和全局,
		--口令表示利用创建用户时提供的password进行验证,外部表示利用第三方程序来验证,如操作系统的登录密码,全局则指当有多个数据时,
		--建立一个全局的用户,其他数据库都以这个用户来验证,只有使用口令的时候才需要关键字by*/
		[default tablespace tablespace_name] --指定用户的默认表空间*/
		[temporary tablespace tablespace_name] --指定用户的临时表空间*/
		[quota integer K | integer M | unlimited on tablespace_name] --在指定表空间能分配的最大空间*/
		[profile profile_name] --指定概要文件*/
		[default role roleName,..n | all[except roleName,...n] | none] --指定用户拥有的角色,default是将一个或多个默认的
		--角色分给用户,all[except role]是把所有的角色或除某些角色以外的角色分给用户,none表示不指定角色*/
		[password expire] --表示使password失效,这将强制用户在第一次登录数据库时更换密码*/
		[account lock | unlock] --账户是否锁定*/
	示例代码:
		create user hello identified by world password expire;
		
 

2、利用SQL修改用户的语法格式如下:

 

		alter user user_name
		identified by password | externally | globally as 'external_name'
		[default tablespace tablespace_name]
		[temporary tablespace tablespace_name]
		[quota integer K | integer M | unlimited on tablespace_name]
		[profile profile_name]
		[default role roleName | all[except roleName] | none]
		[password expire]
		[account lock | unlock]
	示例代码:
		alter user hello identified by helloworld;
 

3、利用SQL命令删除用户的语法格式如下:

 

		drop user user_name [cascade]; --使用cascade会把用户拥有的对象一起删除*/
	示例代码:
		drop user hello cascade;
 

二、角色

1、利用SQL语句创建角色的语法格式如下:

 

		create role role_name
		[not identified]
		[identified by password | externally | globally]
 

示例代码:

 

		create role hello;
 

2、利用SQL语句修改角色的语法格式如下:

 

		alter role role_name
		[not identified]
		[identified by password | externally | globally]
 

3、利用SQL语句删除角色的语法格式如下:

 

		drop role role_name
 

三、权限

权限既可以授予单独的用户,也可以授予给角色。

1、使用grant进行授权

语法格式如下:

 

		grant system_privilege | role_name to user_name | role_name [with admin option]; --把系统权限或某个角色授予某一用户或角色*/
 

说明:with admin option表示被授予权限的用户有权限把该权限授予其他用户或角色。

示例代码:

 

		grant connect to hello;
 

对某些对象也可以单独授予权限,如表、视图等,语法格式如下:

 

		grant system_privilege on object to user_name | role_name; --对某个对象授予权限*/
 

示例代码:

 

		grant select on table_name to hello; --授予用户hello对表table_name的select权限*/
 

2、使用revoke进行权限的移除

语法格式如下:

 

		revoke system_privilege | role_name from user_name | role_name; --把系统权限或某个角色从某一用户或角色的权限列表中移除*/
 

示例代码:

 

		revoke connect from hello;
 

对某些对象单独授予的权限,也可以使用revoke进行移除,语法格式如下:

 

		revoke system_privilege on object from user_name | role_name; --把某一对象的系统权限授予某一用户或角色*/
 

示例代码:

 

		revoke select on table_name from hello; --移除用户hello对表table_name的select权限*/
目录
相关文章
|
5月前
|
Oracle 安全 关系型数据库
|
7月前
|
SQL Oracle 关系型数据库
【ORACLE】 事务 | 锁 | 约束 | 权限、角色与用户管理
【ORACLE】 事务 | 锁 | 约束 | 权限、角色与用户管理
83 1
|
数据安全/隐私保护 数据库管理
Oracle-用户、角色以及权限控制
Oracle-用户、角色以及权限控制
42 0
|
SQL Oracle 关系型数据库
9-7 Oracle如何管理权限和角色
9-7 Oracle如何管理权限和角色
309 0
|
存储 SQL Oracle
Oracle-PROCEDURE权限解读
Oracle-PROCEDURE权限解读
282 0
|
存储 SQL Oracle
Oracle 用户、角色管理简介
Oracle 用户、角色管理简介
150 0
|
Oracle 关系型数据库 Linux
如果oracle用户下的$ORACLE_HOME bin oracle文件的属主或权限出了问题,那么该如何修复呢?
如果oracle用户下的$ORACLE_HOME bin oracle文件的属主或权限出了问题,那么该如何修复呢?
411 1
|
Oracle 关系型数据库 Linux
Oracle Linux 8.5 上架微软应用商店,用户可免费下载
Oracle Linux 8.5 上架微软应用商店,用户可免费下载
114 0
Oracle Linux 8.5 上架微软应用商店,用户可免费下载
|
SQL Oracle 关系型数据库
常见问题:在 Windows 平台的 Oracle 12.1 数据库版本上的 Oracle Home 用户 (Doc ID 2101982.1、Doc ID 1529702.1)
常见问题:在 Windows 平台的 Oracle 12.1 数据库版本上的 Oracle Home 用户 (Doc ID 2101982.1、Doc ID 1529702.1)
240 0
|
Oracle 关系型数据库 数据安全/隐私保护
oracle学习25-手工删除oracle归档日志后操作步骤 和修改用户默认解锁时间
oracle学习25-手工删除oracle归档日志后操作步骤 和修改用户默认解锁时间
165 0