oracle创建,查看用户和角色,用户角色赋权

一、创建用户并赋予权限

1、创建用户

create user wangxiangyu identified by wangxiangyu;

2、赋权

grant dba to wangxiangyu;

grant create session to wangxiangyu; --会话权限(没有该权限无法登录)

3、查看已经赋予用户的系统权限

select * from user_sys_privs;

二、创建角色

角色,即权限的集合,可以把一个角色授予给用户

1、创建角色

create role myrole;

2、赋权

grant create session to myrole;--将创建session的权限授予给角色myrole

3、赋角色给用户

grant myrole to zhangsan;--授予zhangsan用户myrole的角色

4、删除角色

drop role myrole;

查看所有用户

select * from dba_users;

select * from all_users;

select * from user_users;

alter user user_name account lock; 锁住用户

alter user user_name account unlock; 解锁用户

查询当前用户所拥有的权限

select * from session_privs;

查看用户被赋予的系统权限(直接赋值给用户或角色的系统权限)

select * from dba_sys_privs where grantee = ‘RESOURCE‘;

select * from user_sys_privs;

注:USER_SYS_PRIVS 视图列出已经授予用户的系统权限。

它的列包括Username、Privilege和 Admin_Option(设置为YES 或NO 的一个标志,用来指出是否用with admin option 授予权限),直接授予用户的所有系统权限都可以通过该视图显示,通过角色授予用户的系统权限不能在此视图中显示。

查看所有角色

select * from dba_roles;

查看用户所拥有的角色

select * from session_roles order by role;--返回当前用户被授予的全部角色, 包括嵌套授权的角色

select * from dba_role_privs;

select * from user_role_privs;

查看当前用户角色所包含的权限

select * from role_sys_privs where role = ‘CONNECT‘;

查看用户对象权限

select * from dba_tab_privs;

select * from all_tab_privs;

select * from user_tab_privs;

查看哪些用户有sysdba或sysoper系统权限(查询时需要相应权限)

select * from v$pwfile_users;

查看用户与默认表空间的关系

select username, default_tablespace from dba_users where username=‘SCOTT‘;

查看当前用户的表

select * from user_tables;

可视化赋权:

1、使用ins用户建表

2、使用mobapp用户(管理员)将ins用户的某个表赋权给odso用户

users——>ins,选中要赋权的表赋权(右键,编辑,权限)

等同于:grant select, insert, update, delete on ins.tb_cablecheck_equ_odso to odso;

3、使用odso用户登录,增删改查该表测试

命令赋权:

赋予权限:grant ... to ...

撤销权限:revoke ... from ...

登陆

grant create session to zhangsan;

使用表空间

grant unlimited tablespace to zhangsan;

创建表

grant create table to zhangsan;

删除表

grant drop table to zhangsan;

grant drop on table_name to user_name;

插入表

grant insert table to zhangsan;

grant insert on table_name to user_name;

grant insert(id) on table_name to user_name;

更新表数据

grant update table to zhangsan;

grant update on table_name to user_name;

grant update(id) on table_name to user_name;

修改表结构

grant alter table on table_name to user_name;

查询表

grant select on table_name to user_name;

创建过程

grant create any procedure to username;

执行过程

grant execute any procedure to username;

grant execute on ins.p_trun_link_odso  to odso_insert;

授予所有权限(all)给所有用户(public)

grant all to public;

权限传递

即用户A将权限授予B,B可以将操作的权限再授予C,

命令如下:

grant alter table on table_name to user_name with admin option;

grant update on table_name to user_name with grant option; --转移更新权限

grant alter table on table_name to user_name with grant option;

原文地址:https://www.cnblogs.com/xyhero/p/7c9248100e6d104febda1038db3870d7.html

时间: 2024-10-08 17:23:02

oracle创建,查看用户和角色,用户角色赋权的相关文章

oracle如何查看当前有哪些用户连接到数据库

oracle如何查看当前有哪些用户连接到数据库 可以执行以下语句: select username,serial#, sid from v$session;  ---查询用户会话 alter system kill session 'serial#, sid ';---删除相关用户会话 建议以后台登陆删除用户会话 1.查询oracle的连接数 select count(*) from v$session; 2.查询oracle的并发连接数 select count(*) from v$sessi

[oracle]创建查看 LOCAL INDEX

create index IDX_T_GPS_CPH_local on T_GPS (CPH) local; create index IDX_T_GPS_SJ_local on T_GPS (SJ) local; select * from dba_ind_partitions where index_owner ='GPSV4_HIS' order by partition_name 从结果推看,建立Local索引时如果不指定分区,则每个分区上都建立一个. ----------- http:

oracle 创建表空间并授予用户角色

/*分为四步 *//*第1步:创建临时表空间 */ 1 create temporary tablespace jiangh_temp 2 tempfile 'G:\app\smile\oradata\localdb\jiangh_temp.dbf' 3 size 50m 4 autoextend on 5 next 50m maxsize 5120m 6 extent management local; /*第2步:创建数据表空间 */ 1 create tablespace jiangh 2

Oracle创建表空间和分配用户权限

1.创建用户表空间 su - oracle sqlplus / as sysdba --创建临时表空间 --查询临时表空间文件的绝对路径.如果需要的话,可以通过查询来写定绝对路径.一般用${ORACLE_HOME}就可以了 --查询ORACLE_HOME: echo $ORACLE_HOME select name from v$tempfile; --查询到的表空间为/u01/app/oracle/oradata/orcl/temp01.dbf create temporary tablesp

oracle如何查看当前有哪些用户连接到数据库 转

可以执行以下语句:select username,serial#, sid from v$session; ---查询用户会话alter system kill session 'serial#, sid ';---删除相关用户会话 建议以后台登陆删除用户会话1.查询oracle的连接数select count(*) from v$session;2.查询oracle的并发连接数select count(*) from v$session where status='ACTIVE';3.查看不同

oracle 创建数据表空间和用户

--创建临时表空间(不必须)create temporary tablespace zwtest tempfile 'D:\Java\oracle\oradata\zwtest.dbf' size 50m autoextend on next 50m maxsize 20480m extent management local; --创建表空间create tablespace zwtest_data--表空间名称 logging datafile 'D:\Java\oracle\oradata

oracle创建表空间、新用户及分配权限范例

注意点: 1.如果在PL/SQL 等工具里打开的话,直接修改下面的代码中[斜体加粗部分]执行 2.确保路径存在,比如[D:\oracle\oradata\Oracle9i\]也就是你要保存文件的路径存在 /*分为四步 */ /*第1步:创建临时表空间  */ create temporary tablespace user_temp   tempfile 'D:\oracle\oradata\Oracle9i\user_temp.dbf'  size 50m autoextend on next

用Toad for Oracle创建数据库表空间和用户

打开Toad, 1,菜单栏Session->new Connection-.打开如下窗口: 2,进入之后,菜单DatebaseàSechema  Brower...找到Table Space(表空间)选项卡 打开之后显示如下界面: 然后切换另一个选项卡:Date  Feiles(如图所示) 再点开之后: 点此处打开: 指定后,点OK 接下来是创建用户: 到此,你就可以用指定的用户名和密码使用数据库,创建表.视图.序列等等一系列的操作了

Oracle创建用户、角色、授权、建表空间

oracle数据库的权限系统分为系统权限与对象权限.系统权限( database system privilege )可以让用户执行特定的命令集.例如,create table权限允许用户创建表,grant any privilege 权限允许用户授予任何系统权限.对象权限( database object privilege )可以让用户能够对各个对象进行某些操作.例如delete权限允许用户删除表或视图的行,select权限允许用户通过select从表.视图.序列(sequences)或快照

Oracle创建用户、角色、授权、建表

oracle数据库的权限系统分为系统权限与对象权限.系统权限( database system privilege )可以让用户执行特定的命令集.例如,create table权限允许用户创建表,grant any privilege 权限允许用户授予任何系统权限.对象权限( database object privilege )可以让用户能够对各个对象进行某些操作.例如delete权限允许用户删除表或视图的行,select权限允许用户通过select从表.视图.序列(sequences)或快照