oracle数据库入门培训课件_第1页
oracle数据库入门培训课件_第2页
oracle数据库入门培训课件_第3页
oracle数据库入门培训课件_第4页
oracle数据库入门培训课件_第5页
已阅读5页,还剩127页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

培训目录一、数据库简介当前主流数据库及其简介关系数据库介绍二、ORACLE数据库介绍体系结构数据存储结构启动和关闭用户管理备份和恢复三、ORACLE常用的开发工具SQLPLUSPL/SQLTOADPDM/ERWin培训目录一、数据库简介培训目录一、数据库简介当前主流数据库及其简介关系数据库介绍二、ORACLE数据库介绍体系结构数据存储结构启动和关闭用户管理备份和恢复三、ORACLE常用的开发工具SQLPLUSPL/SQLTOADPDM/ERWin培训目录一、数据库简介数据库简介-当前主流数据库及其简介

ORACLESYSBASEINFORMIXSQLSERVERDB2数据库简介-当前主流数据库及其简介 培训目录一、数据库简介当前主流数据库及其简介关系数据库介绍二、ORACLE数据库介绍体系结构数据存储结构启动和关闭用户管理备份和恢复三、ORACLE常用的开发工具SQLPLUSPL/SQLTOADPDM/ERWin培训目录一、数据库简介关系数据库元素实体和联系键(key)数据完整性SQL语言关系数据库简介-关系数据库概念关系数据库元素关系数据库简介-关系数据库概念关系数据库简介-关系数据库概念-关系数据库元素关系数据库简介-关系数据库概念-关系数据库元素实体(Entity):客观存在的并可相互区分的“事物”实体通常成为表,表由行和列组成,每一行描述实体的一个示例,每一列描述实体的一个特征实体在逻辑数据库设计时被确定联系(Relation):实体之间存在的对应或连接关系一对一关系(1:1):表中的一行与相关表中的零行或多行相关一对多关系(1:n):表中的一行与相关表中的零行或多行相关多对多关系(n:m):表中的多行与相关表中的零行或多行相关联系的实现:在关系数据库设计中,联系通常利用逻辑键来实现关系数据库简介-关系数据库概念-实体和联系实体(Entity):客观存在的并可相互区分的“事物”关系数主键超键(SuperKey):在一个关系中能唯一表示元组的属性集侯选键(CandidateKey):一个属性集能唯一标识元组而又不含多余的属性主键(PrimaryKey):被选用的侯选键外键公共键(CommonKey):两个关系中具有相容(或相同)的属性或属性组外键(ForeignKey):如果公共键是其中一个关系的主键,那么这个公共键在另一个关系中称为外键组合键组合键(CompositKey):由两个或两个以上属性(列)组成的键关系数据库简介-关系数据库概念-键(KEY)主键关系数据库简介-关系数据库概念-键(KEY)实体完整性关系中的元组在组成主键的属性上不能有空值,也不能有重复值,否则就不能起到唯一标识元组的作用域完整性关系中的属性取值的正确性限制,包括数据类型、精度、取值范围、是否允许空值等参照完整性反映了实体之间存在的某种约束条件。要求外键的值不允许参照不存在的主键的值,它使主键和外键之间的值保持一致或相容,来维护数据库数据的一致性或相容性业务规则一般包括数据完整性、参照完整性、遵循组织的任一其他需求,以便保证业务的正确运行关系数据库简介-关系数据库概念-数据完整性(DataIntergrity)实体完整性关系数据库简介-关系数据库概念-数据完整性(Dat数据操纵语言(DML)SELECTDELETEINSERTUPDATE数据定义语言(DDL)CREATE定义数据库实体结构ALTER修改数据库实体结构DROP删除数据库实体GRANT/REVOKE数据库对象的权限管理数据控制语言(DCL)COMMIT/ROLLBACKSAVEPOINT关系数据库简介-SQL语言(StructureQueryLanguage)数据操纵语言(DML)关系数据库简介-SQL语言(Str培训目录一、数据库简介当前主流数据库及其简介关系数据库介绍二、ORACLE数据库介绍体系结构数据存储结构启动和关闭用户管理备份和恢复三、ORACLE常用的开发工具SQLPLUSPL/SQLTOADPDM/ERWin培训目录一、数据库简介datafilesredologfilescontrolfilesparameterfile

数据文件日志文件控制文件参数文件ORACLE数据库介绍-体系结构-物理结构datafilesredologfilescontrolfileparameteriles*.dbf*.logInitorasid.ora*.ctldatafilesreORACLE数据库介绍-体系结构-物理结构图DBWRLGWRCKPTSMONPMONinstanceSGADatabufferRedoLogbufferLibrarycacheDatadictionarycacheSharedpoolControlfilesControlfilesControlfilesdatafilesControlfilesRedologfilesALTERfileParameterfilePasswordfileUserProcessServerProcessPGABackgroundprocessARCHArchivedlogfilesORACLE数据库介绍-体系结构-物理结构图DBWRLG占OS内存的60-70%,大小可由参数文件内参数计算sharedpool(共享池),databasebuffercache(数据缓冲区),

redologbuffer(重做日志缓冲区)(如以下图所示)SGA=share_pool_size+db_block_size*db_block_buffers

+log_buffersORACLE数据库介绍-体系结构-内存结构(SGA)shared_pooldatabase_buffer_cacheredo_logbuffer占OS内存的60-70%,大小可由参数文件内参数计算ORACinstance=SGA+backgroundprocess实例=内存分配+一组后台进程如果把Oracle比作一部汽车,instance相当于汽车的发动机一样,启动oracle前提应先启动instance.ORACLE数据库介绍-体系结构-实例(INSTANCE)SGAbackgroundprocessSGAbackgroundprocessSGAbackgroundprocessinstance=SGA+backgroundproce

Oracle是多用户、多任务、可分布式管理的数据库,同时可有很多个用户对数据库操作。ORACLE数据库介绍-体系结构-连接(session)oracleuseruserusersession ORACLE数据库介绍-体系结构-连接(sessio

事务是一组修改动作的集合

Eg:

1、

insertDDL(数据定义语句)

delete例如:create,alter,drop,commit等

commit每两个DDL语句间是一个transaction

2、

updateDML(数据控制语句)

rollback例如:Insert,Delete,UpdateORACLE数据库介绍-体系结构-事务(transaction) ORACLE数据库介绍-体系结构-事务(transa首先必须有一台主机或数据库服务器运行一个ORACLEINSTANCE工作站运行一个应用,它试图通过适当的SQL*NET驱动同服务器取得联系如果该服务器也正在运行适当的SQL*NET驱动。服务器检测到应用的连接请求,开始为此用户进程创建一个专用的服务器进程客户端的用户执行一个SQL语句并提交此进程服务器进程收到此SQL语句,并开始检验在ORACLE的共享池中是否存在同样的SQL语句。如果在共享池中发现该SQL语句,服务器进程开始检验该用户是否对请求的数据有操作的权限,然后使用在共享池中的SQL语句去执行该语句。如果该SQL语句在共享池中不存在,就为此语句分配一个新的共享池区以便它能够被解析、执行ORACLE数据库介绍-体系结构-事务处理过程首先必须有一台主机或数据库服务器运行一个ORACLEINS服务器进程从实际的数据文件或共享池中取回必须的数据服务器进程在在共享池中修改数据。在上述所作的生效之后,DBWR后台进程把修改后的数据块永久的写入硬盘。在此事务提交成功之后,LGWR进程立即把此事务记录到在线的redologfile如果此事务成功,服务器进程通过网络返回一个成功的信息给应用程序。如果该事务不成功,将返回一个适当的信息在上述的事务过程中,其余的后台进程同样在运行,等待着条件符合而被触发。此外,数据库服务器还管理着其他用户的事务,并且在不同事务之间提供数据一致性,防止不同事务对相同数据操作ORACLE数据库介绍-体系结构-事务处理过程(续)服务器进程从实际的数据文件或共享池中取回必须的数据ORACL

后台进程主要包含PMON,LCLN,RECO,SMON,DBWR,LGWR,CKPT,ARCH,主要的功能如下:PMON做程序的清洁工作,处理一些不正常退出的事件SMON做系统的清洁工作,执行系统出错后自动恢复工作LKNOracle系统表级或行级加锁的进程RECO恢复进程DBWR数据写进程LGWR日志文件写的进程CKPT检测点ARCH归档方式备份进程ORACLE数据库介绍-体系结构-后台进程 ORACLE数据库介绍-体系结构-后台进程培训目录一、数据库简介当前主流数据库及其简介关系数据库介绍二、ORACLE数据库介绍体系结构数据存储结构启动和关闭用户管理备份和恢复三、ORACLE常用的开发工具SQLPLUSPL/SQLTOADPDM/ERWin培训目录一、数据库简介

block数据块:2k最小的I-O单位,伴随database产生而产生,不可变extent一组连续的数据块:是用户所能分配存储的最小单位segment段:有共同结构的一个或几个区域(extent)tablespace表空间:一组物理数据的逻辑组合,(象逻辑间数据仓库)file文件:属于某个表空间的物理文件database数据库:一组表空间所构成的逻辑的可共享的数据。 备注:系统管理员能在SQLDBA状态,查看视图dba-extents、dba-segments、dba-tablespace、dba-data-files查看所有的extent、segment、tablespace和datafileORACLE数据库介绍-数据存储结构-存储结构单位 ORACLE数据库介绍-数据存储结构-存储结构单位ORACLE数据库介绍-数据存储结构-BLOCK结构block

结构存储的最小单位BLOCK结构:commonandvariable 公用的变长标题header块地址,段类型85-100bytesTabledirectory表目录,簇中的表信息,用于簇表段Rowdirectory行目录,块中的行信息Freespace未用空间,用于insertupdataRowdata行数据,存储数据、索引ORACLE数据库介绍-数据存储结构-BLOCK结构blpctfree20%左右它们是互相消涨的pctused40%左右Inittrans在单一块中最初活动的交易事务数Maxtrans在单一块中最大交易事务数可以控制block空间使用的几个参数如下:ORACLE数据库介绍-数据存储结构-BLOCK空间参数pctfree20%左右它们是互相消涨的可以Pctfree低高1、可把块填得较满2、如果重组数据,代价较高3、易引起行迁移1、剩下多的空间给以后修改用2、需更多的块存数据3、减少行链和重组数据的代价ORACLE数据库介绍-数据存储结构-BLOCK空间参数Pctfree低高1、可把块填得较满1、剩下多的空间给Pctused低高1、使重组数据时,代价较低。2、增加了未用的空间数1、增加空间使用率2、但使重组数据时,代价较高ORACLE数据库介绍-数据存储结构-BLOCK空间参数Pctused低高1、使重组数据时,代价较低。1、增加空DatabaseTablespaceSegmentExtentOracleBlockO/SBlockDatafileLogicalPhysicalORACLE数据库介绍-数据存储结构-逻辑和物理结构DatabaseTablespaceSegmentExten行链1block2block

当要存储的数据无法在一个数据块中存放时,需分配两个或多个数据块,标志这几个datablock连接关系的存储信息ORACLE数据库介绍-数据存储结构-行链行链1block2block当要存储的数行链1block2block

当一个datablock中的某部分数据经修改后增涨太快,无法继续放在本数据块中,从需把它搬迁到另一个datablock,以优化存储结构,标志这个datablock迁移的存储信息称为行迁移。ORACLE数据库介绍-数据存储结构-行迁移行链1block2block当一个datablinitial 最初分配的空间数next 下一步分配的空间数maxextents 最大分配的extent数minextents 最小分配的extnet数,所有重做日志回滚段 的存储结构,必须成对地分配extentpctincrease 增长率,指数级增长,

optimal 尽量设小,或为0(缺省为空,仅用于回滚段)freelist)pctincrease100(n1+ORACLE数据库介绍-数据存储结构-决定extent的参数initial 最初分配的空间数)pct1、在对象级的存储参数设置值覆盖表空间级的设置2、未在对象级设置存储参数,由表空间级数设置决定3、未在表空间级设置存储参数,由Oracle数据库级参数设置决定4、若存储参数改变后,新的选项只针对未分配的extents

有效。ORACLE数据库介绍-数据存储结构-存储参数的设定规则1、在对象级的存储参数设置值覆盖表空间级的设置ORACLE数data 数据段存储对象object(table,view,indexsequence...)index 索引段temporary 临时段用做(join,groupby,orderbysorting操作)rollback 回滚段用于记录修改前后信息,minetent为2,

increace为0bootstrap 启动段存储数据字典系统信息不能读写,放在 系统表空间内,约占40几个blockORACLE数据库介绍-数据存储结构-SEGMENT分类ORACLE数据库介绍-数据存储结构-SEGMENT分类datasegment中可能有十种不同类型的存储对象(1)table表(2)view实体,实为一个select语句(3)Index索引,一个表不多于3个(4)cluster簇(5)sequence序列(6)synonym用于定义远程数据库同义词,实现分式数据库管理透明(7)snapsot快照(8)storedprocedure(function)存储过程或函数(9)package程序包(10)dbtrigger数据触发器,处理updata,delete,insert中可能出现的问题ORACLE数据库介绍-数据存储结构-存储对象datasegment中可能有十种不同类型的存储对象(1)table存储是按行格式进行的123546............1、rowoverhead 行头2、rowpiece 列数3、clusterkey 不一定有4、rowid 行的唯一标记(有行链时,记录 其它block的rowid)5、length6、valueORACLE数据库介绍-数据存储结构-表存储table存储是按行格式进行的123546.......

当字段值为null时,length为0,无6字value部分,所以某字段常为空,应放table最后;尽量不设为null的字段rowid:xxxxxxxx.xxxx.xxxx

块物理地址该row在块中的行号块所属的文件号ORACLE数据库介绍-数据存储结构-表存储当字段值为null时,length为0,无6字val

表空间tablespacesystemRBSnosystem把system表空间单独放在一个硬盘上把system表空间单独放在一个硬盘上做成一组镜像(如下附图)toolsuserstempapplicationdataapplicationindex分开存放减少争用ORACLE数据库介绍-数据存储结构-表空间表空间tablespacesystemRBSno(rollback)12附图:ORACLE数据库介绍-数据存储结构-表空间(rollback)12附图:ORACLE数据库介绍-数据培训目录一、数据库简介当前主流数据库及其简介关系数据库介绍二、ORACLE数据库介绍体系结构数据存储结构启动和关闭用户管理备份和恢复三、ORACLE常用的开发工具SQLPLUSPL/SQLTOADPDM/ERWin培训目录一、数据库简介(1)、启动

%svrmgrl或sqlplus/nolog唤醒SVRMGRL数据库管理

SVRMGRL>connectinternal或connect/assysdba

以系统管理员身份登录。

SVRMGRL>startup

启动instance

连上数据库

打开数据库

(2)、关闭

%svrmgrl.(V7.3.2.0以上)唤醒SVRMGRL状态

SVRMGRL>connectinternal;

SVRMGRL>shutdown.ORACLE数据库介绍-启动和关闭(1)、启动

%svrmgrl或sqlplus/n

shutdownopen读参数文件initorasid.ora开机关机读控制文件读所有文件未连上数据库仅启动instancesnomountmount连上数据库,但未打开ORACLE数据库介绍-启动和关闭过程图

如果不小心物理上删除了一Oracle的数据文件,比如说,某应用表空间所对应数据文件“adc.dbf”。

Oracle读控制文件时,和打开数据库时所面对的参数不一致,Oracle数据库将启动不了,解决这种问题的方法是把其对应的表空间先卸下,再删除,以保证控制文件描述和物理上存在文件一致。

%svrmgrl

SVRMGR>connectinternal

SVRMGR>startupmount

SVRMGR>alterdatabasedatafile‘/directory/abc.dbf’offline;

SVRMGR>alterdatabaseopen;

SVRMGR>droptablespaceabc;ORACLE数据库介绍-启动时错误处理举例如果不小心物理上删除了一Oracle的数据文培训目录一、数据库简介当前主流数据库及其简介关系数据库介绍二、ORACLE数据库介绍体系结构数据存储结构启动和关闭用户管理备份和恢复三、ORACLE常用的开发工具SQLPLUSPL/SQLTOADPDM/ERWin培训目录一、数据库简介(1)赋于合法的用户或和密码SVRMGL>CREATEUSERusernameIDENTIFIEDBYuserpassword[DEFAULTTABLESPACEtablespace1][TEMPORARYTABLESPACEtablespace2][QUOTAnKONtablespace1];MUNLIMITED空间限额ORACLE数据库介绍-用户管理(1)赋于合法的用户或和密码SVRMGL>CREATEUS(2)授于用户连接Oracle数据库的权限SVRMGL>grantconnecttousername[withgrantoption];rolenameprivelege......ORACLE数据库介绍-用户管理(2)授于用户连接Oracle数据库的权限SVRMGL>gr常用的几个角色role(权限的集合)connect连上Oracle,做最基本操作

resource具有程序开发最基本的权限

dba数据库管理员所有权限

exp-full-database可把数据库整个备份输出的权限

imp-full-datsabase可把数据库整个备份恢复输入的权限ORACLE数据库介绍-用户管理常用的几个角色role(权限的集合)connect(3)alteruser;(4)dropuser[cascade];(5)revokerolefromuser;ORACLE数据库介绍-用户管理(3)alteruser;ORACLE数据库介绍-用户ORACLE数据库介绍-权限管理ORACLE数据库介绍-权限管理权限的分类systemprivilege针对整个系统操作的权限objectprivilege针对整个具体object操作的权限可查看dba-sys-privs,dba-tab-privs;视图dba-col-privs;ORACLE数据库介绍-权限管理权限的分类systemprivilege针对整个系统操培训目录一、数据库简介当前主流数据库及其简介关系数据库介绍二、ORACLE数据库介绍体系结构数据存储结构启动和关闭用户管理备份和恢复三、ORACLE常用的开发工具SQLPLUSPL/SQLTOADPDM/ERWin培训目录一、数据库简介(1)逻辑备份用Export/Import实用工具(2)物理备份操作系统下的备份1、备份分类归档方式不关闭database状态不归档方式关闭database后,把物理文件进行备份

(cptar)ORACLE数据库介绍-备份和恢复2、SVRMGR>archiveloglist看当前数据库归档方式(1)逻辑备份用Export/Import实用工具13、exp/imp级别table 表级user 用户级database 数据库级incretypeCompleteincrementalcumulative 累计改过数据(上次cum;或complete

后改过的所有数据)ORACLE数据库介绍-备份和恢复(1)createtable(2)insertdata(3)createindex(4)createtriggers,constraintsImp命令完成的步骤:3、exp/imp级别table 表级i4、备份和恢复策略逻辑备份仅能恢复到上次的备份点物理备份中的不归档备份可恢复到上次备份点物理备份中的归档备份恢复到failure的前一刻ORACLE数据库介绍-备份和恢复4、备份和恢复策略ORACLE数据库介绍-备份和恢复培训目录一、数据库简介当前主流数据库及其简介关系数据库介绍二、ORACLE数据库介绍体系结构数据存储结构启动和关闭用户管理备份和恢复三、ORACLE常用的开发工具SQLPLUSPL/SQLTOADPDM/ERWinSQLLOADER培训目录一、数据库简介TNS是TransparentNetworkSubstrate(透明网络层)的缩写如何配置TNS使CLIENT同SERVER建立联系?服务器上监听进程与listener.ora文件?客户机上tnsnames.ora文件?如何配置BDE使DELPHI同ORACLE建立联系?ORACLE数据库介绍-常用工具-SQL*NET配置ORACLE数据库介绍-常用工具-SQL*NET配置listener.oraLISTENER=(ADDRESS_LIST=(ADDRESS=(PROTOCOL=TCP)(HOST=192.168.0.2)(PORT=1521)))SID_LIST_LISTENER=(SID_LIST= (SID_DESC= (SID_NAME=coco) (ORACLE_HOME=/oracle/app/oracle/product/9.0.2) ))ORACLE数据库介绍-常用工具-SQL*NET配置listener.oraLISTENER=(ADDRESS_tnsnames.oralocal=(description= (address= (protocol=tcp) (host=192.168.0.2) (port=1521) ) (connect_data= (sid=coco) ))ORACLE数据库介绍-常用工具-SQL*NET配置tnsnames.oralocal=(descriptiSET(设置当前的SQL*PLUS的系统环境):ECHO,HEADING,SERVEROUPUT,TIMING,TIME,LONG,LINESIZE,ARRAYSIZE,AUTOCOMMIT,COPYCOMMIT,PAUSESHOW(显示当前的系统环境):

USERSAVE存储当前的内容到某一文件:

SAVE文件名GET读取某一文件的内容:

GET文件名RUN和/(运行当前的文件或某一特定的文件):

RUN可运行当前缓冲区中的内容也可运行某一特定的文件。CONN连接某一用户:

CONNusername/password@aliasORACLE数据库介绍-常用工具-SQL*PLUS常用命令SET(设置当前的SQL*PLUS的系统环境):ORACLEDISC从某一连接中退出:

DISCCOLUMN格式化某一列的显示格式:

COLUMNCOLUMN_NAMEFORMATAXXXDESC查看某一对象的描述:

DESCOBJECT_NAMEEDIT编辑当前缓冲区中的内容或某一特定的文件:

EDIT或EDLIST显示当前缓冲区中的内容:

LIST或LSPOOL把运行结果重定向:

SPOOL某一文件,结束SPOOLOFF,默认的扩展名为LSTORACLE数据库介绍-常用工具-SQL*PLUS常用命令DISC从某一连接中退出:ORACLE数据库介绍-常用工具EXIT:退出当前的连接@和

@@:运行单独的脚本和在脚本中运行脚本

@cre.sql @@cre.sqlAPPEND:在当前的语句的末尾增加内容

append或aCHANGE:改变当前最后一行的内容,用特定的内容替换指定的内容。

C/student/teacher清屏命令:

SHIFT+DEL(clearscr)ORACLE数据库介绍-常用工具-SQL*PLUS常用命令EXIT:退出当前的连接ORACLE数据库介绍-常用工具-ORACLE数据库介绍-常用工具-SQLLOADER

请把以下数据从EXCEL中导入到ORACLE数据库表中:ORACLE数据库介绍-常用工具-SQLLOADERORACLE数据库介绍-常用工具-SQLLOADER连入SQL*Plus创建表结构SQL>createtabletest

(id

number,

--序号username

varchar2(10),

--用户名password

varchar2(10),

--密码sj

varchar2(20)

--建立日期);

ORACLE数据库介绍-常用工具-SQLLOADERORACLE数据库介绍-常用工具-SQLLOADER创建SQL*Loader输入数据所需要的文件,均保存到C:\用记事本编辑控制文件:input.ctl,内容如下:loaddata

--1、控制文件标识infile‘test.txt’

--2、要输入的数据文件名为test.txt

appendintotabletest

--3、向表test中追加记录fieldsterminatedbyX‘09’

--4、字段终止于X‘09’,是一个制表符(id,username,password,sj)

---定义列对应顺序a、insert,为缺省方式,在数据装载开始时要求表为空b、append,在表中追加新记录c、replace,删除旧记录,替换成新装载的记录d、truncate,同上

ORACLE数据库介绍-常用工具-SQLLOADERORACLE数据库介绍-常用工具-SQLLOADER在DOS窗口下使用SQL*Loader命令实现数据的输入C:\>sqlldruserid=system/managercontrol=input.ctl

默认日志文件名为:input.log

默认坏记录文件为:input.badORACLE数据库介绍-常用工具-SQLLOADER默认ORACLE数据库介绍-常用工具-SQLLOADER连接到SQL*Plus中,查看是否成功输入

ORACLE数据库介绍-常用工具-SQLLOADERPDM/ERWin:工具界面展示TOAD:工具界面展示ORACLE数据库介绍-常用工具-数据建模工具PDM/ERWin:工具界面展示ORACLE数据库介绍-谢谢!谢谢!培训目录一、数据库简介当前主流数据库及其简介关系数据库介绍二、ORACLE数据库介绍体系结构数据存储结构启动和关闭用户管理备份和恢复三、ORACLE常用的开发工具SQLPLUSPL/SQLTOADPDM/ERWin培训目录一、数据库简介培训目录一、数据库简介当前主流数据库及其简介关系数据库介绍二、ORACLE数据库介绍体系结构数据存储结构启动和关闭用户管理备份和恢复三、ORACLE常用的开发工具SQLPLUSPL/SQLTOADPDM/ERWin培训目录一、数据库简介数据库简介-当前主流数据库及其简介

ORACLESYSBASEINFORMIXSQLSERVERDB2数据库简介-当前主流数据库及其简介 培训目录一、数据库简介当前主流数据库及其简介关系数据库介绍二、ORACLE数据库介绍体系结构数据存储结构启动和关闭用户管理备份和恢复三、ORACLE常用的开发工具SQLPLUSPL/SQLTOADPDM/ERWin培训目录一、数据库简介关系数据库元素实体和联系键(key)数据完整性SQL语言关系数据库简介-关系数据库概念关系数据库元素关系数据库简介-关系数据库概念关系数据库简介-关系数据库概念-关系数据库元素关系数据库简介-关系数据库概念-关系数据库元素实体(Entity):客观存在的并可相互区分的“事物”实体通常成为表,表由行和列组成,每一行描述实体的一个示例,每一列描述实体的一个特征实体在逻辑数据库设计时被确定联系(Relation):实体之间存在的对应或连接关系一对一关系(1:1):表中的一行与相关表中的零行或多行相关一对多关系(1:n):表中的一行与相关表中的零行或多行相关多对多关系(n:m):表中的多行与相关表中的零行或多行相关联系的实现:在关系数据库设计中,联系通常利用逻辑键来实现关系数据库简介-关系数据库概念-实体和联系实体(Entity):客观存在的并可相互区分的“事物”关系数主键超键(SuperKey):在一个关系中能唯一表示元组的属性集侯选键(CandidateKey):一个属性集能唯一标识元组而又不含多余的属性主键(PrimaryKey):被选用的侯选键外键公共键(CommonKey):两个关系中具有相容(或相同)的属性或属性组外键(ForeignKey):如果公共键是其中一个关系的主键,那么这个公共键在另一个关系中称为外键组合键组合键(CompositKey):由两个或两个以上属性(列)组成的键关系数据库简介-关系数据库概念-键(KEY)主键关系数据库简介-关系数据库概念-键(KEY)实体完整性关系中的元组在组成主键的属性上不能有空值,也不能有重复值,否则就不能起到唯一标识元组的作用域完整性关系中的属性取值的正确性限制,包括数据类型、精度、取值范围、是否允许空值等参照完整性反映了实体之间存在的某种约束条件。要求外键的值不允许参照不存在的主键的值,它使主键和外键之间的值保持一致或相容,来维护数据库数据的一致性或相容性业务规则一般包括数据完整性、参照完整性、遵循组织的任一其他需求,以便保证业务的正确运行关系数据库简介-关系数据库概念-数据完整性(DataIntergrity)实体完整性关系数据库简介-关系数据库概念-数据完整性(Dat数据操纵语言(DML)SELECTDELETEINSERTUPDATE数据定义语言(DDL)CREATE定义数据库实体结构ALTER修改数据库实体结构DROP删除数据库实体GRANT/REVOKE数据库对象的权限管理数据控制语言(DCL)COMMIT/ROLLBACKSAVEPOINT关系数据库简介-SQL语言(StructureQueryLanguage)数据操纵语言(DML)关系数据库简介-SQL语言(Str培训目录一、数据库简介当前主流数据库及其简介关系数据库介绍二、ORACLE数据库介绍体系结构数据存储结构启动和关闭用户管理备份和恢复三、ORACLE常用的开发工具SQLPLUSPL/SQLTOADPDM/ERWin培训目录一、数据库简介datafilesredologfilescontrolfilesparameterfile

数据文件日志文件控制文件参数文件ORACLE数据库介绍-体系结构-物理结构datafilesredologfilescontrolfileparameteriles*.dbf*.logInitorasid.ora*.ctldatafilesreORACLE数据库介绍-体系结构-物理结构图DBWRLGWRCKPTSMONPMONinstanceSGADatabufferRedoLogbufferLibrarycacheDatadictionarycacheSharedpoolControlfilesControlfilesControlfilesdatafilesControlfilesRedologfilesALTERfileParameterfilePasswordfileUserProcessServerProcessPGABackgroundprocessARCHArchivedlogfilesORACLE数据库介绍-体系结构-物理结构图DBWRLG占OS内存的60-70%,大小可由参数文件内参数计算sharedpool(共享池),databasebuffercache(数据缓冲区),

redologbuffer(重做日志缓冲区)(如以下图所示)SGA=share_pool_size+db_block_size*db_block_buffers

+log_buffersORACLE数据库介绍-体系结构-内存结构(SGA)shared_pooldatabase_buffer_cacheredo_logbuffer占OS内存的60-70%,大小可由参数文件内参数计算ORACinstance=SGA+backgroundprocess实例=内存分配+一组后台进程如果把Oracle比作一部汽车,instance相当于汽车的发动机一样,启动oracle前提应先启动instance.ORACLE数据库介绍-体系结构-实例(INSTANCE)SGAbackgroundprocessSGAbackgroundprocessSGAbackgroundprocessinstance=SGA+backgroundproce

Oracle是多用户、多任务、可分布式管理的数据库,同时可有很多个用户对数据库操作。ORACLE数据库介绍-体系结构-连接(session)oracleuseruserusersession ORACLE数据库介绍-体系结构-连接(sessio

事务是一组修改动作的集合

Eg:

1、

insertDDL(数据定义语句)

delete例如:create,alter,drop,commit等

commit每两个DDL语句间是一个transaction

2、

updateDML(数据控制语句)

rollback例如:Insert,Delete,UpdateORACLE数据库介绍-体系结构-事务(transaction) ORACLE数据库介绍-体系结构-事务(transa首先必须有一台主机或数据库服务器运行一个ORACLEINSTANCE工作站运行一个应用,它试图通过适当的SQL*NET驱动同服务器取得联系如果该服务器也正在运行适当的SQL*NET驱动。服务器检测到应用的连接请求,开始为此用户进程创建一个专用的服务器进程客户端的用户执行一个SQL语句并提交此进程服务器进程收到此SQL语句,并开始检验在ORACLE的共享池中是否存在同样的SQL语句。如果在共享池中发现该SQL语句,服务器进程开始检验该用户是否对请求的数据有操作的权限,然后使用在共享池中的SQL语句去执行该语句。如果该SQL语句在共享池中不存在,就为此语句分配一个新的共享池区以便它能够被解析、执行ORACLE数据库介绍-体系结构-事务处理过程首先必须有一台主机或数据库服务器运行一个ORACLEINS服务器进程从实际的数据文件或共享池中取回必须的数据服务器进程在在共享池中修改数据。在上述所作的生效之后,DBWR后台进程把修改后的数据块永久的写入硬盘。在此事务提交成功之后,LGWR进程立即把此事务记录到在线的redologfile如果此事务成功,服务器进程通过网络返回一个成功的信息给应用程序。如果该事务不成功,将返回一个适当的信息在上述的事务过程中,其余的后台进程同样在运行,等待着条件符合而被触发。此外,数据库服务器还管理着其他用户的事务,并且在不同事务之间提供数据一致性,防止不同事务对相同数据操作ORACLE数据库介绍-体系结构-事务处理过程(续)服务器进程从实际的数据文件或共享池中取回必须的数据ORACL

后台进程主要包含PMON,LCLN,RECO,SMON,DBWR,LGWR,CKPT,ARCH,主要的功能如下:PMON做程序的清洁工作,处理一些不正常退出的事件SMON做系统的清洁工作,执行系统出错后自动恢复工作LKNOracle系统表级或行级加锁的进程RECO恢复进程DBWR数据写进程LGWR日志文件写的进程CKPT检测点ARCH归档方式备份进程ORACLE数据库介绍-体系结构-后台进程 ORACLE数据库介绍-体系结构-后台进程培训目录一、数据库简介当前主流数据库及其简介关系数据库介绍二、ORACLE数据库介绍体系结构数据存储结构启动和关闭用户管理备份和恢复三、ORACLE常用的开发工具SQLPLUSPL/SQLTOADPDM/ERWin培训目录一、数据库简介

block数据块:2k最小的I-O单位,伴随database产生而产生,不可变extent一组连续的数据块:是用户所能分配存储的最小单位segment段:有共同结构的一个或几个区域(extent)tablespace表空间:一组物理数据的逻辑组合,(象逻辑间数据仓库)file文件:属于某个表空间的物理文件database数据库:一组表空间所构成的逻辑的可共享的数据。 备注:系统管理员能在SQLDBA状态,查看视图dba-extents、dba-segments、dba-tablespace、dba-data-files查看所有的extent、segment、tablespace和datafileORACLE数据库介绍-数据存储结构-存储结构单位 ORACLE数据库介绍-数据存储结构-存储结构单位ORACLE数据库介绍-数据存储结构-BLOCK结构block

结构存储的最小单位BLOCK结构:commonandvariable 公用的变长标题header块地址,段类型85-100bytesTabledirectory表目录,簇中的表信息,用于簇表段Rowdirectory行目录,块中的行信息Freespace未用空间,用于insertupdataRowdata行数据,存储数据、索引ORACLE数据库介绍-数据存储结构-BLOCK结构blpctfree20%左右它们是互相消涨的pctused40%左右Inittrans在单一块中最初活动的交易事务数Maxtrans在单一块中最大交易事务数可以控制block空间使用的几个参数如下:ORACLE数据库介绍-数据存储结构-BLOCK空间参数pctfree20%左右它们是互相消涨的可以Pctfree低高1、可把块填得较满2、如果重组数据,代价较高3、易引起行迁移1、剩下多的空间给以后修改用2、需更多的块存数据3、减少行链和重组数据的代价ORACLE数据库介绍-数据存储结构-BLOCK空间参数Pctfree低高1、可把块填得较满1、剩下多的空间给Pctused低高1、使重组数据时,代价较低。2、增加了未用的空间数1、增加空间使用率2、但使重组数据时,代价较高ORACLE数据库介绍-数据存储结构-BLOCK空间参数Pctused低高1、使重组数据时,代价较低。1、增加空DatabaseTablespaceSegmentExtentOracleBlockO/SBlockDatafileLogicalPhysicalORACLE数据库介绍-数据存储结构-逻辑和物理结构DatabaseTablespaceSegmentExten行链1block2block

当要存储的数据无法在一个数据块中存放时,需分配两个或多个数据块,标志这几个datablock连接关系的存储信息ORACLE数据库介绍-数据存储结构-行链行链1block2block当要存储的数行链1block2block

当一个datablock中的某部分数据经修改后增涨太快,无法继续放在本数据块中,从需把它搬迁到另一个datablock,以优化存储结构,标志这个datablock迁移的存储信息称为行迁移。ORACLE数据库介绍-数据存储结构-行迁移行链1block2block当一个datablinitial 最初分配的空间数next 下一步分配的空间数maxextents 最大分配的extent数minextents 最小分配的extnet数,所有重做日志回滚段 的存储结构,必须成对地分配extentpctincrease 增长率,指数级增长,

optimal 尽量设小,或为0(缺省为空,仅用于回滚段)freelist)pctincrease100(n1+ORACLE数据库介绍-数据存储结构-决定extent的参数initial 最初分配的空间数)pct1、在对象级的存储参数设置值覆盖表空间级的设置2、未在对象级设置存储参数,由表空间级数设置决定3、未在表空间级设置存储参数,由Oracle数据库级参数设置决定4、若存储参数改变后,新的选项只针对未分配的extents

有效。ORACLE数据库介绍-数据存储结构-存储参数的设定规则1、在对象级的存储参数设置值覆盖表空间级的设置ORACLE数data 数据段存储对象object(table,view,indexsequence...)index 索引段temporary 临时段用做(join,groupby,orderbysorting操作)rollback 回滚段用于记录修改前后信息,minetent为2,

increace为0bootstrap 启动段存储数据字典系统信息不能读写,放在 系统表空间内,约占40几个blockORACLE数据库介绍-数据存储结构-SEGMENT分类ORACLE数据库介绍-数据存储结构-SEGMENT分类datasegment中可能有十种不同类型的存储对象(1)table表(2)view实体,实为一个select语句(3)Index索引,一个表不多于3个(4)cluster簇(5)sequence序列(6)synonym用于定义远程数据库同义词,实现分式数据库管理透明(7)snapsot快照(8)storedprocedure(function)存储过程或函数(9)package程序包(10)dbtrigger数据触发器,处理updata,delete,insert中可能出现的问题ORACLE数据库介绍-数据存储结构-存储对象datasegment中可能有十种不同类型的存储对象(1)table存储是按行格式进行的123546............1、rowoverhead 行头2、rowpiece 列数3、clusterkey 不一定有4、rowid 行的唯一标记(有行链时,记录 其它block的rowid)5、length6、valueORACLE数据库介绍-数据存储结构-表存储table存储是按行格式进行的123546.......

当字段值为null时,length为0,无6字value部分,所以某字段常为空,应放table最后;尽量不设为null的字段rowid:xxxxxxxx.xxxx.xxxx

块物理地址该row在块中的行号块所属的文件号ORACLE数据库介绍-数据存储结构-表存储当字段值为null时,length为0,无6字val

表空间tablespacesystemRBSnosystem把system表空间单独放在一个硬盘上把system表空间单独放在一个硬盘上做成一组镜像(如下附图)toolsuserstempapplicationdataapplicationindex分开存放减少争用ORACLE数据库介绍-数据存储结构-表空间表空间tablespacesystemRBSno(rollback)12附图:ORACLE数据库介绍-数据存储结构-表空间(rollback)12附图:ORACLE数据库介绍-数据培训目录一、数据库简介当前主流数据库及其简介关系数据库介绍二、ORACLE数据库介绍体系结构数据存储结构启动和关闭用户管理备份和恢复三、ORACLE常用的开发工具SQLPLUSPL/SQLTOADPDM/ERWin培训目录一、数据库简介(1)、启动

%svrmgrl或sqlplus/nolog唤醒SVRMGRL数据库管理

SVRMGRL>connectinternal或connect/assysdba

以系统管理员身份登录。

SVRMGRL>startup

启动instance

连上数据库

打开数据库

(2)、关闭

%svrmgrl.(V7.3.2.0以上)唤醒SVRMGRL状态

SVRMGRL>connectinternal;

SVRMGRL>shutdown.ORACLE数据库介绍-启动和关闭(1)、启动

%svrmgrl或sqlplus/n

shutdownopen读参数文件initorasid.ora开机关机读控制文件读所有文件未连上数据库仅启动instancesnomountmount连上数据库,但未打开ORACLE数据库介绍-启动和关闭过程图

如果不小心物理上删除了一Oracle的数据文件,比如说,某应用表空间所对应数据文件“adc.dbf”。

Oracle读控制文件时,和打开数据库时所面对的参数不一致,Oracle数据库将启动不了,解决这种问题的方法是把其对应的表空间先卸下,再删除,以保证控制文件描述和物理上存在文件一致。

%svrmgrl

SVRMGR>connectinternal

SVRMGR>startupmount

SVRMGR>alterdatabasedatafile‘/directory/abc.dbf’offline;

SVRMGR>alterdatabaseopen;

SVRMGR>droptablespaceabc;ORACLE数据库介绍-启动时错误处理举例如果不小心物理上删除了一Oracle的数据文培训目录一、数据库简介当前主流数据库及其简介关系数据库介绍二、ORACLE数据库介绍体系结构数据存储结构启动和关闭用户管理备份和恢复三、ORACLE常用的开发工具SQLPLUSPL/SQLTOADPDM/ERWin培训目录一、数据库简介(1)赋于合法的用户或和密码SVRMGL>CREATEUSERusernameIDENTIFIEDBYuserpassword[DEFAULTTABLESPACEtablespace1][TEMPORARYTABLESPACEtablespace2][QUOTAnKONtablespace1];MUNLIMITED空间限额ORACLE数据库介绍-用户管理(1)赋于合法的用户或和密码SVRMGL>CREATEUS(2)授于用户连接Oracle数据库的权限SVRMGL>grantconnecttousername[withgrantoption];rolenameprivelege......ORACLE数据库介绍-用户管理(2)授于用户连接Oracle数据库的权限SVRMGL>gr常用的几个角色role(权限的集合)connect连上Oracle,做最基本操作

resource具有程序开发最基本的权限

dba数据库管理员所有权限

exp-full-database可把数据库整个备份输出的权限

imp-full-datsabase可把数据库整个备份恢复输入的权限ORACLE数据库介绍-用户管理常用的几个角色role(权限的集合)connect(3)alteruser;(4)dropuser[cascade];(5)revokerolefromuser;ORACLE数据库介绍-用户管理(3)alteruser;ORACLE数据库介绍-用户ORACLE数据库介绍-权限管理ORACLE数据库介绍-权限管理权限的分类systemprivilege针对整个系统操作的权限objectprivilege针对整个具体object操作的权限可查看dba-sys-privs,dba-tab-privs;视图dba-col-privs;ORACLE数据库介绍-权限管理权限的分类systemprivilege针对整个系统操培训目录一、数据库简介当前主流数据库及其简介关系数据库介绍二、ORACLE数据库介绍体系结构数据存储结构启动和关闭用户管理备份和恢复三、ORACLE常用的开发工具SQLPLUSPL/SQLTOADPDM/ERWin培训目录一、数据库简介(1)逻辑备份用Export/Import实用工具(2)物理备份操作系统下的备份1、备份分类归档方式不关闭database状态不归档方式关闭database后,把物理文件进行备份

(cptar)ORACLE数据库介绍-备份和恢复2、SVRMGR>archiveloglist看当前数据库归档方式(1)逻辑备份用Export/Import实用工具13、exp/imp级别table 表级user 用户级database 数据库级incretypeCompleteincrementalcumulative 累计改过数据(上次cum;或complete

后改过的所有数据)ORACLE数据库介绍-备份和恢复(1)createtable(2)insertdata(3)createindex(4)createtriggers,constraintsImp命令完成的步骤:3、exp/imp级别table 表级i4、备份和恢复策略逻辑备份仅能恢复到上次的备份点物理备份中的不归档备份可恢复到上次备份点物理备份中的归档备份恢复到failure的前一刻ORACLE数据

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论