日期:2014-05-16  浏览次数:20473 次

oracle相关概念简述
1.oracle体系结构简述
oracle体系结构分为三个大类,包括:进程结构(用户进程、服务器进程、后台进程),内存结构(SGA和PGA),存储文件(数据文件、控制文件、日志文件)。其中用户进程是指用户到数据库的连接,用户进程处理用户的输入并与Oracle服务器通信。后台进程至少有5个进程:SMON(系统监控进程)、PMON(进程监视进程)、DBWN(数据库写入进程)、LGWR(日志写入进程)、CKPT(检查点进程)
服务器进程负责检索数据并返回,并修改缓冲区的数据。PGA则是指程序全局区,SGA则是指系统全局区。PGA是指被一个进程使用的私有区域。而SGA则是几个进程共享。PGA在进程创建时分配,在终止进程是回收,而SGA在启动Oracle实例时被分配,在关闭Oracle实例时被释放。

注:Oracle实例与数据库,oracle实例只短暂存在于RAM和CPU中。数据库(database)由磁盘上的物理文件组成,Oracle实例和数据库合起来又构成了Oracle数据库服务器。



2.oracle启动与关闭

.Oracle数据3种启动方式和4种关闭方式联系(abort关闭方式不用练习)。
  练习完后把其中的其中的原理写在txt文档里面。(写出自己的想法)
  3种启动方式:
   nomount: 一般用于第一次创建数据库或重建控制文件时。
   mount:   只有dba可以进行特殊的管理工作。
   open:   用户可以访问数据库。(默认为open)如: startup
  4种关闭方式:
    Normal :不允许新用户登录,等待用户操作完并退出(exit)后,才关闭。(也不推荐,经常关不掉:如:有其他用户时,其他用户exit后才能关闭。如果只有当前用户,也需要执行sql之后执行exit,才能退出)

  Transactional  :不允许新用户登录,等待用户操作完当前的操作后关闭数据库。
  Immediate      :不允许新用户登录,回滚并退出。
  Abort          :不允许新用户登录,不回滚并退出,会导致数据很乱。(不推荐)


3.权限
  权限的分类:
   系统权限: 允许用户执行特定的数据库动作,如创建表、创建索引、连接实例等
例如:(create sequence,create table,create user,drop user,create view)


   对象权限: 允许用户操纵一些特定的对象,如读取视图,可更新某些列、执行存储过程等
例如:(alter,delete,execute,index,insert,references,select,update)

   角色权限:角色其实是特定系统权限和对象权限的组合,是一组权限的组合,便于对用户授权。例如:Oracle内置了一些角色,如经常使用的  connnet,reseource和dba等。
权限:  加了 with admin/grant   option  就可以传递,(没加时就不能传递,只能自己使用)


with admin/grant   option  的区别
  with admin  option  只能在赋予system privilege 时使用(系统权限和角色权限时),如connect角色权限时  ,如:grant  connect to mike with admin option;(注:grant  resource to mike with admin option; --虽然显示授权成功,但是并不能操作别的表,如查询别的表,只是让该用户拥有对自身的resource权限而已(增删改查等),还是需要用下面的语句进行授权。)  (取消时不是级联


  with grant   option  只能在赋予object privilege 时使用,如:授予select权限时  如:grant  select  on  myt.student  to mike with  grant   option; (取消时级联



在查询时:在拥有对别的用户的某个表的查询权限后,查询的写法:select * myt.student;   --注:   如果表中没有数据,会显示未选定行