oracle开放用户权限,Oracle 用户权限

--创建用户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

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值