- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
Oracle数据库技术培训
2008年4月
培训内容
Oracle数据库基础 Oracle 数据库结构 Oracle 数据库实例 * Oracle 数据库访问 * Oracle 分布式处理及分布式数据库 * Oracle 数据库备份和恢复 *
培训内容
数据库基础 Oracle 数据库结构
区 (Extent)
– 回退段区
– Oracle将自动检测数据库中的回退段,是否已经大于最佳大小, 若大于最大值,Oracle将自动释放回退段中的一个或多个区。
– 临时段区
– Oracle在执行完需要临时段的语句时,Oracle将自动删除临时段, 并 将其已经分配给该段的区返回到相关的表空间中。
段(Segment)
段是由一组区组成。它包括表空间中特定逻辑存储结构组成的所有数 据。 组成
– 数据段
–表 – 分区 – 表簇
– 索引段 – 临时段
– 在处理查询时,Oracle需要临时工作区,作为语法检查和执行的 中间场所。Oracle将自动分配临时工作区,通常临时工作区作为 排序工作区。
段(Segment)
组成 (Cont..) – 临时段
表空间查询
通过执行下面的语句来查询该数据库系统中所包含的表空间及状态
Connect sys/manager; desc dba_tablespaces select * from dba_tablespaces; /* 查询表空间当前状态及存储参数 */ select tablespace_name,sum(bytes) from dba_free_space group by
– Oracle是由一个或多个表空间组成。 – 每个表空间由一个或多个数据文件组成。 – 数据库的全部数据存储于数据文件中,这些数据文件组成了
数据库中的每个表空间。
表空间
系统表空间(system)
– 每个数据库都包含一个system表空间。它是在数据库创建时 ,由Oracle自动创建的。
– system表空间始终包含整个数据库的数据字典。
控制文件的丢会给数据库的系统管理带来灾难性的后果. 建议将控制文件存储于多个磁盘卷。也可以在数据库创建后,建
立一个备份的控制文件。 – alter database backup controlfile to trace; 在系统的trace目录找到控制文件的创建模板。 – 查询control file 位置 connect sys/manager desc v$controlfile; select * from v$controlfile;
通过执行结构化查询语句(SQL)操纵行上的数据.
关系型数据库
主键(PK)----基表中每一行都有的唯一标识符. 外键(FK)----多个基表间建立逻辑关系的标识.
Table Name: S_CUSTOMER
ID NAME
PHONE
SALES_ REP_ID
201 Unisports
66101
14
204 Womansport
1-206-104-0103 11
Table Name: EMP
ID LAST_NAME FIRST_NAME
10 Havel 11 Magee 12 Giljum 14 Nguyen
Marta Colin Henry Mai
关系型数据库
每个表由行和列组成.
S_CUSTOMER Table (Relation)
– Data block, Extent,Segment – Tablespace, Datafile – Data Dictionary
Oracle 数据库实例
– Database and Instance Startup and Shutdown – Memory Structure – Process Structure
Row (Tuple)
ID NAME
PHONE
SALES_ REP_ID
201 Unisports
55-2066101
12
202 Simms Atheletics 81-20101
14
203 Delhi Sports
91-10351
14
204 Womansport
1-206-104-0103 11
Column (Attribute)
Oracle 数据库的备份和恢复
– 物理备份 – 热备份 – 逻辑备份
数据库基础
关系型数据库
在1970年提出了关系模型的概念. 这是关系型数据库管理系统的基础 (RDBMS). 关系模型包含以下内容:
– 对象和关系的集合 – 关系上的一组操作 – 数据一致性管理
关系型数据库
查询回退段请求数 select sum(value) data requests from v$sysstat where name in ( do block gets,consistent gets);
Oracle数据库结构
表空间及数据文件
逻辑上Oracle将数据存储于表空间中,物理上存储于相应表空间关 联的数据文件上。
临时段表空间(Temporary Tablespace)
– 临时段所属的表空间
索引表空间(Index Tablespace)
– 索引段所属的表空间
回退段表空间(Rollback Tablespace)
– 回退段所属的表空间
创建表空间
OEM(Oracle Enterprise Manager)
– 数据块的大小是在数据库创建时设定的。并且块大小是操作系 统块大小的倍数。
– 块格式:块头,表目录,行目录,行数据,空闲空间
区 (Extent)
数据库存储空间分配的一个逻辑单元,它是由一些连续的数据块组成。而 一个或多个区又够成段(Segment)。 – 初始区( Initial Extent ) – 增量区( Next Extent ) – 数据段区 (在创建表时,可指定表的存储参数。若不指定,使用缺省表空间存 储参数)
重做日志文件(redolog file)
数据的每一种改变,都记录到重做日志文件中。当 事故发生时, 使用重做日志文件恢复所有的事物。
在数据库创建时,只定三个缺省的redolog file. – redolog1,redolog2,redolog3 – 在数据库处于非归档方式下,redolog file是循环使用的。 – 在处于归档方式下的数据库,所有的redolog信息被保留。
关系型数据库是关系或二维表的集合.
Oracle Server
Table Name: CUSTOMER
ID NAME
PHONE
SALES_ REP_ID
201 Unisports
55-2066101
12
202 Simms Atheletics 81-20101
14
203 Delhi Sports
91-10351
回退段(rollback Segment)
查询系统中已有的回退段数 – 通过系统的参数文件来查看系统中可用的rollback segment 个数。 – initsid.ora 文件 (私有的) – connect sys/manager desc dba_rollback_segs select segment_name from dba_rollback_segs; /*查询系统中使用的回退段数*/
– 举例:Create table table_name (col1 type, col2 type ) Storage ( initial 50K next 50k pctincrease 0);
– 索引段区
– 分配给索引段的区,只要索引存在就保留其分配。如果删除索引及相关 的表,Oracle将回收这些区给表空间中的其它用户使用。
– Oracle提供图形界面的管理工具来创建、管理表空间。
SQL 命令
– 创建tablespace Create tablespace test_ts Datafile file_name size 10M default Storage ( initial 50k next 50k pctincrease 0 minextents 2); – 修改tablespace Alter tablespace test_ts add datafile file_name size 10M; – 删除tablespace drop tablespace;
查看系统的redolog file的状态 connect sys/manager; desc v$logfile; select * from v$logfile;
控制文件(control file)
控制文件用于保存数据库管理系统操作的重要信息。它是在数据 实例(instance)启动时,确定数据文件和重做日志文件在系统中 的位置。
tablespace_name; /* 查询表空间的剩余状态 */
数据文件
在一个完整的数据库的环境中,需要下列文件:
– 数据文件
– 每个数据文件只能于一个表空间和一个数据库关联。 – 在数据文件被首次创建时,分配的磁盘空间被格式化。 – 使用数据字典,查询数据库对应的数据文件。
connect sys/manager; desc dba_data_files; select * from dba_data_files;
Oracle 数据库访问
– Oracle Sql and Pl*sql – Oracle Procedure and Package
培训内容
Oracle分布式处理及分布式数据库
– 分布式处理
– Oracle 客户机服务器的体系结构 – Net8
– 分布式数据库
– Oracle分布式数据库体系结构
回退段(rollback Segment)
回退段管理 – OEM(oracle enterprise manager)来管理 rollback segment – SQL 命令来管理 创建回退段: create rollback segment name tablespace ts_name storage( initial number k or M next number k or M optimal number k or M minextent number maxextent number);
– 下列语句需要临时工作区 – Create Index – Select order by – Select distinct – Select group by – Select Union – Select Intersect – Select Minus
– 若用户在定义时,若没有指定临时段表空间,则缺省的临时段 空间为system表空间。
描述 数据库的基本存储单位(由行和列组成).
一个或多个表中数据的逻辑映像. 产生主键的值. 提高查询的性能. 改变对象的名称 过程、函数和包(由SQL、PL/SQL语句组成).
Oracle 数据库结构
Oracle数据库结构
数据块,区和段的关系
– 数据块(db_block)
– 它是Oracle数据库存储的最小单位,Oracle是以多个Oracle块的 大小来请求数据的。
段(Segment)
组成 (Cont..) – 回退段
– 每个数据库都包含一个或多个回退段。回退段记录了由每个事 物处理改变了的原值。它主要用于提供读一致性、回退事物处 理和恢复数据库。
– 在创建回退段时,需要指定该段的区的分配。每个回退段必须 至少分配两个区。
– 事物顺序地写入回退段中。每个事物在任何时候只写入回退段 一个区中。多个活动的事务可以并行地写入单个回退段甚至是 同一个回退段的区中。但是回退段中的每个数据块,只为单个 事物处理保存数据。
12
202 Simms Atheletics 81-20101
14
203 Delhi Sports
91-10351
14
204 Womansport
1-206-104-0103
11
Table Name: S_EMP
ID LAST_NAME FIRST_NAME
10 Havel 11 Magee 12 Giljum 14 Nguyen
Marta Colin Henry Mai
Primary Key
Foreign Key Primary Key
关系型数据库特点
通过SQL命令访问或修改数据库中的对象 由一系列基表构成 支持大量操作 便于修改 数据独立性
关系型数据库对象
对象 基表
视图 序列号 索引 同义词 程序单元