Oracle第一章

第一章主要内容:

1 oracle的介绍

 

2 oracle的使用

 

3 oracle的常用命令

 

4 oracle的用户管理

 

5 oracle的权限管理

 

1 oracle的介绍

 

数据库的大小分类:

 

大型:db2 > oracle > sybase

 

中型:sqlserver

 

小型:mysql

 

大小的划分,取决于数据访问量:

 

银行系统、企业集团——oracle

 

安装、卸载

 

为什么要使用oracle?

 

外面企业使用的比较多。

 

数据工程师?  待遇好

 

初级:oca (测试开发人员)

 

中级:ocp 专家级别

 

高级:ocm 大师级别(数据架构、分析师)

 

2 oracle的使用

 

a 一定要启动服务

 

OracleServiceORCL——oracle数据库服务

 

OracleOraDb11g_home1TNSListener——oracle监听服务

 

注意:如果要使用第三方的工具登录时,则需要启动监听服务

 

b 登录oracle数据库

 

oracle数据库中的三个用户

 

sys:(数据库管理员)

 

system:(数据库操作员)   默认密码:123456

 

scott:(普通用户,用来测试操作)

 

注意:scott用户,默认是 锁定状态(解锁),默认密码:tiger

 

角色:sysdba

 

c 如果忘记了密码?

 

找到密码文件修改

 

使用管理员登录修改密码

 

运行中:sqlplus / as sysdba

 

2.Immediate(立即关闭方式)

 

                命令:shutdown immediate  关闭数据库

3 常用命令

 

a 查看当前登录用户:show user;

 

b 切换当前登录用户*****   conn 用户名/密码 [as sysdba];

 

c 解锁用户****  alter user 用户名 account unlock; 注意:一般使用管理员解锁其它用户

 

d 锁定用户*****

alter user 用户名 account lock;

 

注意:一般使用管理员解锁其它用户

 

e 修改当前登录用户的密码

passw[ord]

 

f 修改其它用户的密码******

alter user 用户名 identified by 新密码;

 

注意:一般使用管理员解锁其它用户

 

g 断开当前登录用户:disc

 

h 设置显示行数:set pagesize 数字     默认显示14

 

i 设置行显示的字符大小:set linesize 数字     默认显示80个字符

      

j 清空:clear screen;

 

k 退出:exit

 

 

4 oracle的用户管理

 

注意:操作用户一般都需要拥有管理员权限

 

a 创建用户:create user 用户名 identified by 密码;

 

b 删除用户:drop user 用户名;

 

5 oracle的权限管理

 

权限:系统权限/对象权限(角色)

 

注意:角色其实就是一类权限的分组,所以给用户分配角色其实也是在给用户分配权限。在oracle中有三个比较常用的角色。

 

             对于一般不是很严格的系统可以授予开发用户CONNECTRESOURCE角色权限即可。

     

                      DBA:该角色具有数据库所有的权限。

 

                      CONNECT:该角色具有连接数据库的权限,和create session的权限一样。

 

                      RESOURCE:该角色是应用程序开发角色,具有如下权限

 

.对象权限:

对象权限指的是其它拥有用户的对象的权限。其它用户对象的权限包括:select,delete,update,alter,insert,index(索引),

 

references,flashback,debug,query rewrite,on commit refresh;注意其它用户对象的权限没有drop的权限。

 

 

为用户授权:

 

系统权限:grant 系统权限 to 用户名;

 

对象权限:grant 对象权限 on 表名 to 用户名;

 

1.授予用户connectresource角色权限。一般创建应用程序开发用户可以授予这两个角色的权限。

grant connect,resource to zhang;

 

2.授予用户chenmh用户zhangperson表的SELECT,DELETE,UPDATE,INSERT权限,授予具体的对象权限是对于权限严格控制的一种方案。

grant select,delete,update,insert on zhang.person to chenmh ;

 

 3.将用户(zhang)person表的所有权限授予(用户chenmh)

grant all privileges on zhang.person to chenmh;

 

 

案例:让teacher用户查询scott用户中的emp

 

      --查询所有的系统权限

select * from system_privilege_map;

 

--teacher用户授权:连接

grant connect to teacher;

 

--回收teacher用户的系统权限

revoke connect from teacher;

 

--teacher用户授权针对scott用户中emp表的查询权限

grant select on scott.emp to teacher;

 

--回收对象权限

revoke select on scott.emp from teacher;

 

回收权限:

 

系统权限:revoke 系统权限 from 用户名;

 

对象权限:revoke 对象权限 on 表名 from 用户名;

 

案例:

1.回收角色权限

revoke connect,resource from chenmh;

2.回收系统权限

revoke create from chenmh;

3.回收用户对象权限,回收zhang用户下person表的所有权限,如果是单个授予的权限需要单个的收回

revoke all privileges on zhang.person from chenmh;

 

 

 

 

回顾:

使用数据:

 

a 打开服务

 

b登录oracle数据库

 

三个用户:sys(sysdba角色)     system(默认密码123456)      scott(测试用户,默认为 锁定状态,默认密码 tiger)

 

角色:sysdba

 

在运行窗口:sqlplus / as sysdba

 

常用的命令:

 

查看用户:show user;

 

切换用户:conn 用户名/密码 [as sysdba]

 

解锁账户:alter user 用户名 account unlock;    注意:管理员操作

 

锁定账户:alter user 用户名 account lock;    注意:管理员操作

 

修改自己的密码:passw[ord]

 

修改其它用户的密码:alter user 用户名 identified by 新密码;    注意:管理员操作

 

 

设置显示行数:set pagesize 行数;   默认14

 

设置显示字符:set linesize 字符数;   默认80个字符

 

清空:clear screen;

 

退出:exit

 

断开:disc

 

查看表结构:desc 表名;

第二章:

 

1 oracle的体系结构

 

2 表空间的管理

 

3 用户管理

 

4 权限管理

 

5 角色管理

 

1 oracle的体系结构

 

数据库的结构:

 

物理存储结构:在操作系统中数据的存在形式(文件)

 

从文件角度分为:

 

数据文件——存放后期产生的数据

 

控制文件——存放数据库本身的相关数据

 

日志文件——存放操作过程中的相关记录数据

 

 

逻辑存储结构:数据在数据库中的存储关系

 

从层次角度分为:

 

表空间  ——存放表、视图和索引等对象的磁盘存储空间, 类似于 mysql/sqlserver的单个数据库

   |

逻辑对象——存放表、视图和索引及过程等存储结构

   |

      ——指定类型的存储结构  如:创建表(数据段)、创建索引(索引段)

   |

数据区间——最小的存储单元(分配和释放空间)

   |

数据块  ——最基本的管理结构

 

注意:一般而言,一个表空间可以有多个数据文件,一个数据文件只属于一个表空间

 

   2 表空间的管理

 

a 创建

 

表空间:create tablespace 表空间名 datafile 路径 size

 

临时表空间:create temporary tablespace 临时表空间名 tempfile 路径 size

 

b 修改

 

大小:alter tablespace 空间名 add datafile 路径 size

 

默认:alter database default tablespace 空间名

 

c 删除

 

drop tablespace 空间名;——逻辑删除表空间

 

drop tablespace 空间名 including contents;——逻辑删除表空间和段

 

drop tablespace 空间名 including contents and datafiles;——删除表空间和段以及数据文件

 

表空间和临时表空间的区别:

 

表空间:存放表、视图等

 

临时表空间:体统针对排序、分组等操作的内存空间

 

 

 

3 用户管理

 

注意:具有管理权限者才能操作

 

a 创建用户

 

create user 用户名 identified by 密码 [default tablespace 空间名] [temporary tablespace 临时表空间名]

 

查询用户所在表空间:select * from dba_users where username='大写的用户名';

 

b 删除用户

 

drop user 用户名;

 

 

4 权限管理

 

权限

 

系统权限:针对数据库的相关操作,如:创建表、连接、视图等

 

对象权限:针对数据的相关操作,如:数据的查询、修改等

 

授权语法:

 

系统权限:grant 系统权限/角色 to 用户 [with admin option];

 

对象权限:grant 对象权限 on 表名 to 用户 [with grant option];

 

 

回收语法:

 

系统权限:revoke 系统权限/角色 from 用户;

 

对象权限:revoke 对象权限 on 表名 from 用户;

 

思考:

如果是系统权限,不会进行级联回收

 

如果是对象全系,会进行级联回收

 

 

 

 

5 角色管理

 

角色:多个权限组成了一个角色

 

分类:

 

系统角色:connectresourcedba

 

自定义角色

 

 

自定义角色:

 

a 创建

 

create role 角色名;

 

b 为角色授予权限

 

grant 权限 to 角色名;

 

c 为用户授予角色

 

grant 角色名 to 用户名;

 

d 删除角色

 

drop role 角色名;

 

posted @ 2019-06-21 08:40  细竹赫映姬  阅读(105)  评论(0)    收藏  举报