Oracle 入门到精通Part 1-用户管理
来源:互联网 发布:edu是什么域名 编辑:程序博客网 时间:2024/05/29 13:31
学习数据库,首先得先登陆数据库,登陆需要账号吧?
那我们就先了解Oracle对账号的管理以及规则,
对以后一些涉及到数据库安全、用户权限可以更好的处理。
默认用户
Oracle安装会自动的生成sys用户和system用户:
(1) sys用户是超级用户,具有最高权限,具有sysdba角色,有create database的权限,该用户默认的密码是change_on_install
(2) system用户是管理操作员,权限也很大。具有sysoper角色,没有create database的权限,默认的密码是manager
(3) 一般讲,对数据库维护,使用system用户登录就可以拉 也就是说sys和system这两个用户最大的区别是在于有没有create database的权限。
创建用户
概述:在oracle中要创建一个新的用户使用create user语句,一般是具有dba(数据库管理员)的权限才能使用。
create user 用户名 identified by 密码; (oracle有个毛病,密码必须以字母开头,如果以字母开头,它不会创建用户)
给用户修改密码
概述:如果给自己修改密码可以直接使用
password 用户名
如果给别人修改密码则需要具有dba的权限,或是拥有alter user的系统权限
SQL> alter user 用户名 identified by 新密码
删除用户
概述:一般以dba的身份去删除某个用户,如果用其它用户去删除用户则需要具有drop user的权限。
比如 drop user 用户名【cascade】
在删除用户时,注意:
如果要删除的用户,已经创建了表,那么就需要在删除的时候带一个参数cascade;
用户管理的综合案例
概述:创建的新用户是没有任何权限的,甚至连登陆的数据库的权限都没有,需要为其指定相应的权限。给一个用户赋权限使用命令grant,回收权限使用命令revoke。
为了给讲清楚用户的管理,这里我给大家举一个案例。
SQL> conn xiaoming/m12;
ERROR:
ORA-01045: user XIAOMING lacks CREATE SESSION privilege; logon denied
警告: 您不再连接到 ORACLE。
SQL> show user;
USER 为 ""
SQL> conn system/p;
已连接。
SQL> grant connect to xiaoming;
授权成功。
SQL> conn xiaoming/m12; //后面的为密码分开来输入。
已连接。
SQL>
注意:grant connect to xiaoming;在这里,准确的讲,connect不是权限,而是角色。
现在说下对象权限,现在要做这么件事情:
* 希望xiaoming用户可以去查询emp表
* 希望xiaoming用户可以去查询scott的emp表
grant select on emp to xiaoming
* 希望xiaoming用户可以去修改scott的emp表
grant update on emp to xiaoming
* 希望xiaoming用户可以去修改/删除,查询,添加scott的emp表
grant all on emp to xiaoming
* scott希望收回xiaoming对emp表的查询权限
revoke select on emp from xiaoming
//对权限的维护。
* 希望xiaoming用户可以去查询scott的emp表/还希望xiaoming可以把这个权限继续给别人。
--如果是对象权限,就加入 with grant option
grant select on emp to xiaoming with grant option
我的操作过程:
SQL> conn scott/tiger;
已连接。
SQL> grant select on scott.emp to xiaoming with grant option;
授权成功。
SQL> conn system/p;
已连接。
SQL> create user xiaohong identified by m123;
用户已创建。
SQL> grant connect to xiaohong;
授权成功。
SQL> conn xiaoming/m12;
已连接。
SQL> grant select on scott.emp to xiaohong;
授权成功。
--如果是系统权限。
system给xiaoming权限时:
grant connect to xiaoming with admin option
<!--[if !supportLineBreakNewLine]-->
<!--[endif]-->
问题:如果scott把xiaoming对emp表的查询权限回收,那么xiaohong会怎样?
答案:被回收。
下面是我的操作过程:
SQL> conn scott/tiger;
已连接。
SQL> revoke select on emp from xiaoming;
撤销成功。
SQL> conn xiaohong/m123;
已连接。
SQL> select * from scott.emp;
select * from scott.emp
第 1 行出现错误:
ORA-00942: 表或视图不存在
<!--[if !supportLineBreakNewLine]-->
<!--[endif]-->
结果显示:小红受到诛连了。
- Oracle 入门到精通Part 1-用户管理
- Oracle 入门到精通Part 2-表的管理
- Oracle 11g用户管理与权限分配(《Oracle从入门到精通》读书笔记5)
- oracle入门到精通
- oracle用户管理入门
- 黑马韩前成Linux从入门到精通の第六章Linux用户和组的管理
- Oracle 11g控制文件和日志文件管理(《Oracle从入门到精通》读书笔记2)
- Oracle 11g表空间和数据文件管理(《Oracle从入门到精通》读书笔记3)
- 源码-PL/SQL从入门到精通-第二章-PL/SQL基本概念-Part 1
- 源码-PL/SQL从入门到精通-第三章-变量和类型-Part 1
- 源码-PL/SQL从入门到精通-第六章-查询数据表-Part 1
- 源码-PL/SQL从入门到精通-第八章-记录与集合-Part 1
- 源码-PL/SQL从入门到精通-第九章-SQL内置函数-Part 1
- 源码-PL/SQL从入门到精通-第十章-使用游标-Part 1
- 源码-PL/SQL从入门到精通-第十二章-异常处理机制-Part 1
- 源码-PL/SQL从入门到精通-第十三章-子程序-Part 1
- 源码-PL/SQL从入门到精通-第十四章-包-Part 1
- 源码-PL/SQL从入门到精通-第十五章-触发器-Part 1
- 项目管理 草案
- 开发环境中的环境变量
- spring MongoDB 集成(分页)
- 挂载硬盘(新添硬盘)
- java创建对象的四种方法
- Oracle 入门到精通Part 1-用户管理
- MD5加密一个小例子。。
- linux下启动dbca或netmgr类的图形界面报错
- struts url中文乱码问题
- 关于非常规数码压缩的构思
- java struts2复制文件到另一个目录下
- MySQL server has gone away问题解决方法
- Grails中service的线程安全的小例子
- sql 同数据库拷贝