Oracle 用户权限

原创 2015年07月09日 21:24:00
--创建用户panda,密码为passwords:
create user panda identified by passwords;

--系统权限:
grant create session to panda; --拥有该权限,用户才可以登录数据库
grant create table to panda; --授予创建表的权限
grant unlimited tablespace to panda; --授予不受限制的使用表空间的权限

--回收权限:
revoke create session from panda;
revoke create table from panda;
revoke unlimited tablespace from panda;

--对象权限:
grant select on mytable to panda; --授予用户panda对mytable表查询的权限
grant insert on mytable to panda; --授予用户panda对mytable表插入的权限
grant all on mytable to panda; --授予用户panda对mytable表所有的操作权限

--对象权限可以精确的控制到列(只能针对插入和更新):
--注意: 查询和删除不能控制到列,只能是整行.
grant update(name) on mytable to panda1; --授予panda1可以对mytable表更新name字段的权限
grant insert(id) on mytable to panda1; --授予panda1可以对mytable表插入id字段的权限

--回收权限:
revoke select on mytable from panda;
revoke insert on mytable from panda;
revoke all on mytable from panda;

--授予[所有用户]都拥有某个权限(public指所有用户):
grant create session to public;
grant create any table to public;

--查看当前用户拥有哪些系统权限:
select * from user_sys_privs;
--查看当前用户拥有哪些对象权限:
select * from user_tab_privs;
--如果对表的对象权限控制精确到列,那么查询权限时,用user_col_privs(column)
select * from user_col_privs;

对象的传递

--权限的传递
grant alter any table to panda1 with admin option;
grant select on mytable to panda1 with grant option;

--角色
create role myrole; --创建角色
grant create session to myrole; --给角色分配权限
grant create table to myrole; --给角色分配权限
grant myrole to zhangsan; --将角色赋予用户
drop role myrole; --删除角色

create table --可以给自己创建表
[alter table(无此权限)]
[drop table (无此权限)]
create any table --可以给任意用户创建表
alter any table --修改任意用户的表
drop any table --删除任意用户的表

--注意: 有些系统角色权限过大,不可以将其赋予角色,只能赋予用户
--表是属于某一个用户的;角色不属于某个用户,大家共用的.
grant unlimited tablespace to myrole;
grant unlimited tablespace to myrole
*
第 1 行出现错误:
ORA-01931: 无法将 UNLIMITED TABLESPACE 授予角色

其他

--创建用户
create user 用户名
identified by 密码
default tablespace 表空间
temporary tablespace 表空间
quota 整数 K|M|Limited on 表空间
--例子
create user UserName identified by userPwd default tablespace users temporary tablespace temp quota 50M on users

--限制用户
--用户加锁
alter user UserName account lock;
--用户解锁
alter user UserName account unlock;
--用户口令即刻失效
alter user UserName password expire;

--删除用户及用户的所有对象
drop user UserName cascade;
=======================================================================

密码忘记怎么办?

1.   普通用户密码忘记

用sys用户更改普通用户的密码:

SQL> alteruser panda identified by passwords;

用户已更改。

2.   Sys管理员密码忘记

到D:\oracle\product\10.2.0\db_1\database目录下, 将PWDorcl.ora文件备份, 然后删除该文件

执行命令: C:\Users\pansanday>orapwd file=D:\oracle\product\10.2.0\db_1\database\PWDorcl.ora password=admin entries=5 force=y

这默认是给sys用户重置密码的; entries是该密码文件中最大特权用户允许数量;force是是否覆盖原文件

 

查看该密码文件中特权用户列表

SQL> select * from v$pwfile_users;


USERNAME                       SYSDB SYSOP

----------------------------------- -----

SYS                            TRUE TRUE

版权声明:本文为博主原创文章,未经博主允许不得转载。

Oracle用户的权限都有哪些

系统权限: 允许用户执行特定的数据库动作,如创建表、创建索引、连接实例等(对用户而言) 对象权限: 允许用户操纵一些特定的对象,如读取视图,可更新某些列、执行存储过程等(是针对表或视图而言的) 1...
  • MOONCOM
  • MOONCOM
  • 2016年07月26日 10:34
  • 324

Oracle用户创建及权限设置

Oracle默认自带3个用户     sys;//系统管理员,拥有最高权限  system;//本地管理员,次高权限  scott;//普通用户,密码默认为tiger,默认未解锁 首先以系统管理...
  • halazi100
  • halazi100
  • 2015年09月10日 14:16
  • 504

Oracle创建用户及权限设置

oracle用户创建及权限设置 权限:   create session     create table      unlimited tablespace   connect   resour...
  • yangwenxue_admin
  • yangwenxue_admin
  • 2015年08月06日 21:24
  • 4840

Oracle用户,权限,角色以及登录管理

1. sys和system用户的区别 system用户只能用normal身份登陆em。除非你对它授予了sysdba的系统权限或者syspoer系统权限。 sys用户具有“SYSDBA”或者“SYS...
  • pianzif
  • pianzif
  • 2014年03月13日 13:18
  • 2497

Oracle用户创建及权限授予

一 创建 sys; //系统管理员,拥有最高权限 system;//本地管理员,次高权限 scott;//普通管理员,默认未解锁 二 权限: create session create t...
  • u012186491
  • u012186491
  • 2013年10月18日 09:13
  • 1535

Oracle数据库(权限、用户、角色、基本知识介绍)

oracle(权限/用户/角色)
  • u013412772
  • u013412772
  • 2016年10月04日 11:12
  • 7496

oracle 创建用户、赋权限、删除用户和一些基本查询操作

oracle 赋权限 导入、导出
  • youzhao1212
  • youzhao1212
  • 2015年05月20日 11:53
  • 935

ORACLE 11g用户权限管理随笔精髓

总结工作中经常用到一些用户管理随笔记录:1、查看数据库里所有用户各自拥有的角色:select * from (select distinct connect_by_root grantee usern...
  • mchdba
  • mchdba
  • 2015年09月30日 23:18
  • 3540

Oracle12C--权限管理(二十一)

知识点的梳理: sql语句针对权限的控制提供了两个操作命令:GRANT(授权)与REVOKE(回收权限);    说明 用户创建完成后是没有权限的,所以无法使用,要为此用户授权...
  • qq_33301113
  • qq_33301113
  • 2017年04月24日 09:28
  • 957

如何查看某个角色被授予的权限Oracle

详解查看Oracle用户权限的七种方法 查看Oracle用户权限一般要通过一些实际操作,首先需要遍历所有用户,然后才是查看Oracle用户的权限等等操作。希望本文能给大家有所帮助。 1.查看所...
  • haiross
  • haiross
  • 2014年05月13日 17:26
  • 22647
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:Oracle 用户权限
举报原因:
原因补充:

(最多只允许输入30个字)