《Oracle2基础7844.pptx》由会员分享,可在线阅读,更多相关《Oracle2基础7844.pptx(29页珍藏版)》请在得力文库 - 分享文档赚钱的网站上搜索。
1、公司公司徽标徽标OracleOracle学习学习学习学习(一一一一)OracleOracle简介简介简介简介Oracle是一种对象关系数据库管理系统(ORDBMS)。提供了关系数据库和面向对象数据库这两者的功能。Oracle产品基于一种称为”客户机/服务器技术”的概念。Oracle使用Internet文件系统,该系统是一种基于Java的应用程序,它可以使数据库成为基于Internet的开发平台。OracleOracle简介简介简介简介数据库都包含下列组件:物理组件Database Files(数据库文件)Control Files(控制文件)Redo Log Files(恢复日志文件)逻辑组件
2、Tablespaces(表空间)Segments(段)Extents(数据区)Oracle-Oracle-数据库文件或数据文件(*.dbf)RDBMS由一个或多个数据库文件组成.这些文件是物理操作系统文件,包括如用户数据、系统数据等数据信息。逻辑数据库结构建立在这些文件之上.创建好的数据库至少包含一个数据文件。之后可按照自己的需要添加数据文件。一个数据文件只可以属于一个数据库一个数据文件只可以属于一个数据库。一个和多个数据文件形成了数据库的一个逻辑单位,这个逻辑单位称为表空间表空间数据库最终操作都是对这些文件进行读写操作,数据文件中的数据以块为单位块为单位.块的大小通常取决于操作系统Oracl
3、e-Oracle-物理组件物理组件物理组件物理组件控制文件(*.ctl)每个已建好的数据库具有一个控制文件。控制文件存储数据库的物理结构,即与数据库数据库相关的相关的所有文件的信息所有文件的信息,包括包括:数据库的名字数据库的名字数据文件和恢复日志文件的名字及其位置数据文件和恢复日志文件的名字及其位置时间戳时间戳(这些信息包括了数据库的名字,创建时间,数据文件名称及位置、日这些信息包括了数据库的名字,创建时间,数据文件名称及位置、日志文件名称志文件名称通过控制文件访问数据文件和日志文件通过控制文件访问数据文件和日志文件)只要数据库实例启动,控制文件将用于查找和定位数据库组件只要数据库实例启动,
4、控制文件将用于查找和定位数据库组件,在在出错以及恢复数据库过程中也将使用控制文件。出错以及恢复数据库过程中也将使用控制文件。控制文件是存储在硬盘上的物理文件,它存储数据库的物理结构控制文件是存储在硬盘上的物理文件,它存储数据库的物理结构和与该数据库相关的所有文件的信息和与该数据库相关的所有文件的信息Oracle-Oracle-物理组件物理组件物理组件物理组件恢复日志文件(*.log)恢复日志文件是操作系统文件集,记载对数据库的任何修改,由RDBMS用于记录对数据库所做的更改。该信息作为事务进程的一部分由数据库进行维护,每个事务都被记录到恢复日志文件。数据库通常有两个或多个恢复日志文件。恢复日志
5、以循环方式工作。恢复日志的功能受数据库运行的模式控制:NOARCHIVELOG MODE(不归档模式)如果日志已经都被写满,需要继续写的时候,将以前的恢复日志文件的内容重写,这样以前的日志信息将被冲洗掉(默认为这种)ARCHIVELOG MODE(归档模式)在日志切换发生前生成当前日志文件的物理副本。这些文件称为归档文件Oracle-Oracle-逻辑组件逻辑组件逻辑组件逻辑组件逻辑组件决定数据库中物理空间的使用Tablespaces(表空间)Segments(段)Extents(数据区)Schema Objects(模式对象)Oracle-Oracle-逻辑组件逻辑组件逻辑组件逻辑组件表空间
6、数据库由称为表空间的逻辑单位组成。一个数据库可以包含一个或多个表空间.表空间包含一组相关的数据库对象.逻辑表空间具有一个或多个与之相关的物理数据库文件.Oracle中典型的表空间SYSTEM表空间,用于存储数据库管理自身所需的所有信息,即数据词典信息.DATA表空间,用于存储关于用户的信息USER表空间,用于存储关于用户信息TOOLS表空间,用于存储不同工具所需的数据库对象TEMP表空间,用于存储在大型排序操作过程中创建的所有临时表.Oracle-Oracle-逻辑组件逻辑组件逻辑组件逻辑组件每个数据库都在逻辑上分成一个或多个表空间将为每个表空间显示创建一个或多个数据文件,以将所有物理结构的数
7、据存储在一个表空间之内表空间数据文件的组合大小和表空间的总的存储容量数据库表空间的组合存储容量是数据库的总的存储容量Oracle-Oracle-逻辑组件逻辑组件逻辑组件逻辑组件段表空间中的逻辑单位形式上为段.表空间中的数据存储在分配的数据库空间(称为段)中.段被定义成给逻辑数据库数据段索引段回滚段-(数据的前映象保存修改前的数据)临时段-(形成临时表空间)Oracle-Oracle-逻辑组件逻辑组件逻辑组件逻辑组件数据区由一定数目的相邻数据块组成,段是数据区的集合.创建表的时候,Oracle 将一定数目的数据块组成的初始数据区分配给表的数据段.尽管还没有插入任何行,但是已经为该表的行留出了与初
8、始数据区对应的Oracle数据块如果数据区的数据块已经满了,而且还需要更多空间存储新的数据,则Oracle将自动为该段分配新增数据区.(最小的区数10区-最大的区数为22区)Oracle-Oracle-数据区数据区数据区数据区数据块最小粒度的逻辑单位数据块代表数据库存储粒度的最细级别.数据块大小定义为一定数目的字节数,此数目通常取决与操作系统.Oracle-Oracle-创建表空间创建表空间创建表空间创建表空间数据库由称为表空间的逻辑单位组成。一个数据库可以包含一个或多个表空间.表空间包含一组相关的数据库对象.逻辑表空间具有一个或多个与之相关的物理数据库文件.Create Tablespace
9、 spacedatafile filename size sizedefault storage(initial initvalue next nextvalue maxextents unlimited pctincrease 50)online;create temporary tablespace spaceTempfile filename size size临时表空间临时表空间修改和删除表空间修改和删除表空间修改和删除表空间修改和删除表空间修改表空间Alter tablespace space addRNAME datafile TO datafileDrop tablespace
10、space INCLUDING CONTENTS;Oracle-Oracle-创建表空间创建表空间创建表空间创建表空间查看当前数据库中的表空间 SELECT*FROM DBA_TABLESPACESOracle-Oracle-创建用户创建用户创建用户创建用户Create user userNameidentified by userPassworddefault tablespace 表空间名;temporary TABLESPACE Tempquota unlimited on TABLESPACEOracle-Oracle-设置权限设置权限设置权限设置权限GRANT语句用来对用户进行特定权
11、限的设置Grant 权限名,on 数据库对象 to 用户名将某一个数据对象的操作权限付给某一用户Grant 权限,To 用户名 WITH ADMIN OPTION 将系统权限赋给某一用户,这个该用户可以给其他用户赋权限Oracle-Oracle-设置权限设置权限设置权限设置权限REVOKE-将某一权限取消掉REVOKE 权限名,on 数据库对象From 权限接收者从数据库的某一对象上取消某一用户的原有权限Oracle-Oracle-设置权限设置权限设置权限设置权限对象权限对象类型说 明ALTER表、序列对对象使用ALTER语句DELETE表、视图、可更新的具体化视图运行进行DELETE操作EX
12、CUTE过程、函数、包和对象类型允许执行PL/SQL对象INDEX表使用Create Index命令INSERT表、视图、可更新的具体化视图允许使用INSERT操作SELECT表、视图、可更新的具体化视图允许对对象使用SELECTUPDATE表、视图、可更新的具体化视图对对象使用UPDATE语句REFERENCES表允许创建一个限制指向该表Oracle-Oracle-设置权限设置权限设置权限设置权限对象权限对象类型说 明ON COMMIT REFRESH具体化视图在指定的表上创建提交时及时刷新的视图QUERY REWRITE具体化视图创建查询时重写入具体化视图READ目录从指定目录中读取REF
13、ERENCES表允许创建一个限制指向该表UNDER对象类型允许创建特定的子类型对象在在8i或更高级版本中运用或更高级版本中运用Oracle-Oracle-设置角色设置角色设置角色设置角色角色本质上是一个权限的集合,包括对象权限的系统权限。CREATE ROLE ROLE_NAME -创建一个角色GRANT 权限名 ON 数据库对象 TO ROLE_NAME-将某一权限设置给该角色Oracle-Oracle-设置角色设置角色设置角色设置角色角色名所授权权限CONNECT可对表空间的对象进行一些查询操作RESOURCE可以对数据库中的对象进行添加和修改操作EXP_FULL_DATABASE可以执行
14、一些数据备份的命令操作DBA具有对数据库的管理权限Oracle-Oracle-序列序列序列序列序列是Oracle提供的一个对象,可以用来生成唯一、连续的整数Create sequence seqINCREMENT BY n-序列号之间的间隔START WITH n -第一个序列号MAXVALUE n/NOMAXVALUE-可生成的最大值MINVALUE n/NOMINVALUE-序列最小值CYCLE/NOCYCLE-当序列达到最小或最大值后是否重新开始生成值CACHE n/NOCACHE;-是否使用缓存Oracle-Oracle-序列序列序列序列修改序列通过alert sequence语句来修
15、改序列定义设置或删除MINVALUE或MAXVALUE修改增量值修改缓存中的序列号的数目不能包含 start with参数值Alter sequence sequINCREMENT BY nMACVALUE n/NOMAXVALUEMINVALUE n/NOMINVALUECYCLE/NOCYCLECACHE n/NOCACHE;Oracle-Oracle-序列序列序列序列删除序列Drop sequence sequOracle-Oracle-伪列伪列伪列伪列Oracle提供了一种在表结构中不实际存在列,称为伪列NextvalCurrvalROWNUM oracle系统顺序分配为从查询返回的行
16、的编号当不能已其他表的别名来做前缀名ROWIDrowid就是唯一标志记录物理位置的一个id data_object_id#+rfile#+block#+row#组成,占用10个bytes的空间LEVEL仅仅用在对表执行层次树遍历的SELECT语句中,使用START WITH和CONNECT BY子句LEVEl把树的当前层次作为一个NUMBER数值返回.Oracle-ROWNUMOracle-ROWNUM的运用的运用的运用的运用只能用以上符号(、,=,=,Between.and select*from(select rownum r,a.*from emp a where rownum 1;可以
17、用来实现分页查询查询操作Oracle-LEVELOracle-LEVEL的运用的运用的运用的运用如在做EMP表的操作的时候,按层次查询出某一个管理者所带的员工信息select lpad(,4*(level-1)|ename ename,empno,mgr from empstart with mgr is nullconnect by prior empno=mgr;集合操作符集合操作符集合操作符集合操作符Union返回查询所选定的所有的行,去重复的Select orderno from order_masterUnionSelect orderno from order_detailUnion all返回两个查询所选定的所有行,包括重复行Select orderno from order_masterUnion allSelect orderno from order_detailIntersect 仅返回两个查询都有的行Select orderno from order_masterIntersectSelect orderno from order_detailMinus返回仅由第一个查询选定并且没有被第二个查询选定的所有不同行Select orderno from order_masterMinusSelect orderno from order_detail
限制150内