《oracle数据库入门(培训课件).ppt》由会员分享,可在线阅读,更多相关《oracle数据库入门(培训课件).ppt(67页珍藏版)》请在三一办公上搜索。
1、ORACLE 数据库入门福富软件计费产品部(高江祥 13609559012)2006.02,新人培训课件,科学管理造就优质产品,用心服务赢得客户信赖,新人培训课件科学管理造就优质产品用心服务赢得客户信赖,培训目录,一、数据库简介当前主流数据库及其简介关系数据库介绍二、ORACLE数据库介绍体系结构数据存储结构启动和关闭用户管理备份和恢复三、ORACLE常用的开发工具SQLPLUS PL/SQL TOAD PDM / ERWin,培训目录一、数据库简介,培训目录,一、数据库简介当前主流数据库及其简介关系数据库介绍二、ORACLE数据库介绍体系结构数据存储结构启动和关闭用户管理备份和恢复三、ORA
2、CLE常用的开发工具SQLPLUS PL/SQL TOAD PDM / ERWin,培训目录一、数据库简介,数据库简介当前主流数据库及其简介,ORACLE SYSBASE INFORMIX SQL SERVER DB2,数据库简介当前主流数据库及其简介,培训目录,一、数据库简介当前主流数据库及其简介关系数据库介绍二、ORACLE数据库介绍体系结构数据存储结构启动和关闭用户管理备份和恢复三、ORACLE常用的开发工具SQLPLUS PL/SQL TOAD PDM / ERWin,培训目录一、数据库简介,关系数据库元素实体和联系键(key)数据完整性SQL语言,关系数据库简介关系数据库概念,关系数
3、据库元素关系数据库简介关系数据库概念,关系数据库简介关系数据库概念关系数据库元素,关系数据库简介关系数据库概念关系数据库元素,实体(Entity):客观存在的并可相互区分的“事物”实体通常成为表,表由行和列组成,每一行描述实体的一个示例,每一列描述实体的一个特征实体在逻辑数据库设计时被确定联系(Relation):实体之间存在的对应或连接关系一对一关系(1:1):表中的一行与相关表中的零行或多行相关一对多关系(1:n):表中的一行与相关表中的零行或多行相关多对多关系(n:m):表中的多行与相关表中的零行或多行相关联系的实现:在关系数据库设计中,联系通常利用逻辑键来实现,关系数据库简介关系数据库
4、概念实体和联系,实体(Entity):客观存在的并可相互区分的“事物”关系数,主键超键(Super Key):在一个关系中能唯一表示元组的属性集侯选键( Candidate Key):一个属性集能唯一标识元组而又不含多余的属性主键(Primary Key):被选用的侯选键外键公共键(Common Key):两个关系中具有相容(或相同)的属性或属性组外键(Foreign Key):如果公共键是其中一个关系的主键,那么这个公共键在另一个关系中称为外键组合键组合键(Composit Key):由两个或两个以上属性(列)组成的键,关系数据库简介关系数据库概念键(KEY),主键关系数据库简介关系数据库概
5、念键(KEY),实体完整性关系中的元组在组成主键的属性上不能有空值,也不能有重复值,否则就不能起到唯一标识元组的作用域完整性关系中的属性取值的正确性限制,包括数据类型、精度、取值范围、是否允许空值等参照完整性反映了实体之间存在的某种约束条件。要求外键的值不允许参照不存在的主键的值,它使主键和外键之间的值保持一致或相容,来维护数据库数据的一致性或相容性业务规则一般包括数据完整性、参照完整性、遵循组织的任一其他需求,以便保证业务的正确运行,关系数据库简介关系数据库概念数据完整性(Data Intergrity),实体完整性关系数据库简介关系数据库概念数据完整性(Dat,数据操纵语言(DML)SEL
6、ECTDELETEINSERTUPDATE数据定义语言(DDL)CREATE 定义数据库实体结构ALTER 修改数据库实体结构DROP 删除数据库实体GRANT/REVOKE数据库对象的权限管理数据控制语言(DCL)COMMIT/ROLLBACKSAVEPOINT,关系数据库简介 SQL 语言(Structure Query Language),数据操纵语言(DML)关系数据库简介 SQL 语言(Str,培训目录,一、数据库简介当前主流数据库及其简介关系数据库介绍二、ORACLE数据库介绍体系结构数据存储结构启动和关闭用户管理备份和恢复三、ORACLE常用的开发工具SQLPLUS PL/SQL
7、 TOAD PDM / ERWin,培训目录一、数据库简介,datafiles redo log files control files parameter file 数据文件 日志文件 控制文件 参数文件,ORACLE数据库介绍 体系结构 物理结构,data files,redo log files,control file,parameter iles,*.dbf,*.log,Initorasid.ora,*.ctl,datafiles re,ORACLE数据库介绍 体系结构 物理结构图,DBWR,LGWR,CKPT,SMON,PMON,instance,SGA,Data buffer,R
8、edo Logbuffer,Librarycache,Data dictionarycache,Shared pool,Controlfiles,Controlfiles,Controlfiles,datafiles,Controlfiles,Redo logfiles,ALTERfile,Parameterfile,Passwordfile,UserProcess,ServerProcess,PGA,Background process,ARCH,Archivedlog files,ORACLE数据库介绍 体系结构 物理结构图DBWRLG,占OS内存的60-70%,大小可由参数文件内参数计算
9、shared pool(共享池), database buffer cache(数据缓冲区), redo log buffer(重做日志缓冲区) (如以下图所示)SGA=share_pool_size+db_block_size*db_block_buffers +log_buffers,ORACLE数据库介绍 体系结构 内存结构(SGA),shared_pool,database_buffer_cache,redo_log buffer,占OS内存的60-70%,大小可由参数文件内参数计算ORAC,instance=SGA+background process实例 = 内存分配 + 一组后台
10、进程如果把Oracle比作一部汽车,instance相当于汽车的发动机一样,启动oracle前提应先启动instance.,ORACLE数据库介绍 体系结构 实例(INSTANCE),SGA,background process,SGA,background process,SGA,background process,instance=SGA+background proce,Oracle是多用户、多任务、可分布式管理的数据库,同时可有很多个用户对数据库操作。,ORACLE数据库介绍 体系结构 连接(session),oracle,user,user,user,session,ORACLE数
11、据库介绍 体系结构 连接(sessio,事务是一组修改动作的集合Eg:1、 insert DDL (数据定义语句) delete 例如:create,alter,drop,commit 等 commit 每两个DDL语句间是一个transaction2、 update DML (数据控制语句) rollback 例如:Insert,Delete,Update,ORACLE数据库介绍 体系结构 事务(transaction),ORACLE数据库介绍 体系结构 事务(transa,首先必须有一台主机或数据库服务器运行一个ORACLE INSTANCE工作站运行一个应用,它试图通过适当的SQL*NE
12、T驱动同服务器取得联系如果该服务器也正在运行适当的SQL*NET驱动。服务器检测到应用的连接请求,开始为此用户进程创建一个专用的服务器进程客户端的用户执行一个SQL语句并提交此进程服务器进程收到此SQL语句,并开始检验在ORACLE的共享池中是否存在同样的SQL语句。如果在共享池中发现该SQL语句,服务器进程开始检验该用户是否对请求的数据有操作的权限,然后使用在共享池中的SQL语句去执行该语句。如果该SQL语句在共享池中不存在,就为此语句分配一个新的共享池区以便它能够被解析、执行,ORACLE数据库介绍 体系结构 事务处理过程,首先必须有一台主机或数据库服务器运行一个ORACLE INS,服务
13、器进程从实际的数据文件或共享池中取回必须的数据服务器进程在在共享池中修改数据。在上述所作的生效之后,DBWR后台进程把修改后的数据块永久的写入硬盘。在此事务提交成功之后,LGWR进程立即把此事务记录到在线的redo log file如果此事务成功,服务器进程通过网络返回一个成功的信息给应用程序。如果该事务不成功,将返回一个适当的信息在上述的事务过程中,其余的后台进程同样在运行,等待着条件符合而被触发。此外,数据库服务器还管理着其他用户的事务,并且在不同事务之间提供数据一致性,防止不同事务对相同数据操作,ORACLE数据库介绍 体系结构 事务处理过程(续),服务器进程从实际的数据文件或共享池中取
14、回必须的数据ORACL,后台进程主要包含PMON,LCLN,RECO,SMON,DBWR,LGWR,CKPT,ARCH,主要的功能如下:PMON 做程序的清洁工作,处理一些不正常退出的事件SMON 做系统的清洁工作,执行系统出错后自动恢复工作LKN Oracle系统表级或行级加锁的进程RECO 恢复进程DBWR 数据写进程LGWR 日志文件写的进程CKPT 检测点ARCH 归档方式备份进程,ORACLE数据库介绍 体系结构 后台进程,ORACLE数据库介绍 体系结构 后台进程,培训目录,一、数据库简介当前主流数据库及其简介关系数据库介绍二、ORACLE数据库介绍体系结构数据存储结构启动和关闭用
15、户管理备份和恢复三、ORACLE常用的开发工具SQLPLUS PL/SQL TOAD PDM / ERWin,培训目录一、数据库简介,block 数据块: 2k 最小的I-O单位,伴随database产生而产生,不可变extent 一组连续的数据块:是用户所能分配存储的最小单位segment 段:有共同结构的一个或几个区域( extent)tablespace 表空间:一组物理数据的逻辑组合,(象逻辑间数据仓库)file 文件:属于某个表空间的物理文件database 数据库:一组表空间所构成的逻辑的可共享的数据。备注:系统管理员能在SQLDBA状态,查看视图dba-extents、dba-s
16、egments、dba-tablespace、dba-data-files查看所有的extent、segment、tablespace和datafile,ORACLE数据库介绍数据存储结构 存储结构单位,ORACLE数据库介绍数据存储结构 存储结构单位,ORACLE数据库介绍数据存储结构 BLOCK结构,block 结构,存储的最小单位BLOCK结构:,common and variable公用的变长标题header 块地址,段类型 85-100bytesTable directory 表目录,簇中的表信息,用于簇表段Row directory 行目录,块中的行信息Free space 未用空
17、间,用于insert updataRow data 行数据,存储数据、索引,ORACLE数据库介绍数据存储结构 BLOCK结构bl,ctfree 20%左右 它们是互相消涨的pctused 40%左右Inittrans 在单一块中最初活动的交易事务数Maxtrans 在单一块中最大交易事务数,可以控制block空间使用的几个参数如下:,ORACLE数据库介绍 数据存储结构 BLOCK空间参数,ctfree 20%左右 它们是互相消涨的可以,Pctfree,低,高,1、可把块填 得较满2、如果重组数据,代价较高3、易引起行迁移,1、剩下多的空间给以后修改用2、需更多的块存数据3、减少行链和重组数
18、据的代价,ORACLE数据库介绍 数据存储结构 BLOCK空间参数,Pctfree 低高1、可把块填 得较满1、剩下多的空间给,Pctused,低,高,1、使重组数据时,代价较低。2、增加了未用的空间数,1、增加空间使用率2、但使重组数据时,代价较高,ORACLE数据库介绍 数据存储结构 BLOCK空间参数,Pctused 低高1、使重组数据时,代价较低。1、增加空,Database,Tablespace,Segment,Extent,OracleBlock,O/S Block,Data file,Logical,Physical,ORACLE数据库介绍 数据存储结构 逻辑和物理结构,Data
19、baseTablespaceSegmentExten,行链,1 block,2 block,当要存储的数据无法在一个数据块中存放时,需分配两个或多个数据块,标志这几个data block连接关系的存储信息,ORACLE数据库介绍 数据存储结构 行链,行链1 block2 block 当要存储的数,行链,1 block,2 block,当一个data block中的某部分数据经修改后增涨太快,无法继续放在本数据块中,从需把它搬迁到另一个data block,以优化存储结构,标志这个data block迁移的存储信息称为行迁移。,ORACLE数据库介绍 数据存储结构 行迁移,行链1 block2
20、block 当一个data bl,initial 最初分配的空间数next 下一步分配的空间数maxextents 最大分配的extent数minextents 最小分配的extnet数,所有重做日志回滚段的存储结构,必须成对地分配extentpctincrease 增长率,指数级增长, optimal 尽量设小,或为0(缺省为空,仅用于回滚段)freelist,),ORACLE数据库介绍 数据存储结构 决定extent的参数,initial 最初分配的空间数)pct,1、在对象级的存储参数设置值覆盖表空间级的设置2、未在对象级设置存储参数,由表空间级数设置决定3、未在表空间级设置存储参数,由
21、Oracle数据库级参数 设置决定4、若存储参数改变后,新的选项只针对未分配的extents 有效。,ORACLE数据库介绍 数据存储结构 存储参数的设定规则,1、在对象级的存储参数设置值覆盖表空间级的设置ORACLE数,data 数据段 存储对象 object(table,view,indexsequence.)index 索引段 temporary 临时段 用做(join,group by,order by sorting操作)rollback 回滚段 用于记录修改前后信息,mine tent为2,increace为0bootstrap 启动段 存储数据字典系统信息不能读写,放在系统表空间
22、内,约占40几个block,ORACLE数据库介绍 数据存储结构 SEGMENT分类,ORACLE数据库介绍 数据存储结构 SEGMENT分类,data segment中可能有十种不同类型的存储对象,(1)table 表 (2)view 实体,实为一个select语句(3)Index 索引,一个表不多于3个 (4)cluster 簇 (5)sequence 序列(6)synonym 用于定义远程数据库同义词,实现分式数据库管理透明(7)snapsot 快照 (8)stored procedure(function)存储过程或函数(9)package 程序包(10)db trigger 数据触发
23、器,处理updata,delete,insert中可能出现的问题,ORACLE数据库介绍 数据存储结构 存储对象,data segment中可能有十种不同类型的存储对象(1),table存储是按行格式进行的,1,2,3,5,4,6,. . . .,1、rowoverhead 行头2、row piece 列数3、cluster key 不一定有4、rowid 行的唯一标记(有行链时,记录其它block的rowid)5、length 6、value,ORACLE数据库介绍 数据存储结构 表存储,table存储是按行格式进行的123546. . .,当字段值为null时,length为0,无6字va
24、lue部分,所以某字段常为空,应放table最后;尽量不设为null的字段,rowid: xxxxxxxx . x x x x. xxxx 块物理地址 该row在块中的行号 块所属的文件号,ORACLE数据库介绍 数据存储结构 表存储,当字段值为null时,length为0,无6字val,表空间 tablespace,system,RBS,nosystem,把system表空间单独放在一个硬盘上,把system表空间单独放在一个硬盘上,做成一组镜像(如下附图),tools,userstempapplication dataapplication index,分开存放减少争用,ORACLE数据库
25、介绍 数据存储结构 表空间,表空间 tablespacesystem RBSno,(rollback),1,2,附图:,ORACLE数据库介绍 数据存储结构 表空间,(rollback)12附图:ORACLE数据库介绍 数据,培训目录,一、数据库简介当前主流数据库及其简介关系数据库介绍二、ORACLE数据库介绍体系结构数据存储结构启动和关闭用户管理备份和恢复三、ORACLE常用的开发工具SQLPLUS PL/SQL TOAD PDM / ERWin,培训目录一、数据库简介,(1)、启动 %svrmgrl 或 sqlplus / nolog 唤醒 SVRMGRL数据库管理 SVRMGRL con
26、nect internal 或 connect / as sysdba 以系统管理员身份登录。SVRMGRL startup启动instance连上数据库打开数据库(2)、关闭%svrmgrl. (V7.3.2.0以上) 唤醒SVRMGRL状态SVRMGRLconnect internal;SVRMGRLshutdown.,ORACLE数据库介绍 启动和关闭,(1)、启动 %svrmgrl 或 sqlplus / n,shutdown,open,读参数文件initorasid.ora,开机,关机,读控制文件,读所有文件,未连上数据库仅启动instances,nomount,mount,连上数据
27、库,但未打开,ORACLE数据库介绍 启动和关闭过程图,如果不小心物理上删除了一Oracle的数据文件,比如说,某应用表空间所对应数据文件“adc.dbf” 。 Oracle读控制文件时,和打开数据库时所面对的参数不一致,Oracle数据库将启动不了,解决这种问题的方法是把其对应的表空间先卸下,再删除,以保证控制文件描述和物理上存在文件一致。%svrmgrlSVRMGRconnect internalSVRMGRstartup mountSVRMGRalter database datafile /directory/abc.dbf offline;SVRMGRalter database o
28、pen;SVRMGRdrop tablespace abc;,ORACLE数据库介绍 启动时错误处理举例,如果不小心物理上删除了一Oracle的数据文,培训目录,一、数据库简介当前主流数据库及其简介关系数据库介绍二、ORACLE数据库介绍体系结构数据存储结构启动和关闭用户管理备份和恢复三、ORACLE常用的开发工具SQLPLUS PL/SQL TOAD PDM / ERWin,培训目录一、数据库简介,(1)赋于合法的用户或和密码,SVRMGLCREATE USER username IDENTIFIED BY userpassword DEFAULT TABLESPACE tablespace
29、1 TEMPORARY TABLESPACE tablespace2,QUOTA n K ON tablespace1; M UNLIMITED,空间限额,ORACLE数据库介绍 用户管理,(1)赋于合法的用户或和密码SVRMGLCREATE US,(2)授于用户连接Oracle数据库的权限,SVRMGLgrant connect to,username with grant option;rolename,privelege.,ORACLE数据库介绍 用户管理,(2)授于用户连接Oracle数据库的权限SVRMGLgr,常用的几个角色role (权限的集合),connect 连上Oracle
30、,做最基本操作 resource 具有程序开发最基本的权限 dba 数据库管理员所有权限 exp-full-database 可把数据库整个备份输出的 权限 imp-full-datsabase 可把数据库整个备份恢复输 入的权限,ORACLE数据库介绍 用户管理,常用的几个角色role (权限的集合)connect,(3)alter user ;(4)drop user cascade;(5)revoke role from user;,ORACLE数据库介绍 用户管理,(3)alter user ;ORACLE数据库介绍 用户,ORACLE数据库介绍 权限管理,ORACLE数据库介绍 权限
31、管理,权限的分类,system privilege 针对整个系统操作的权限object privilege 针对整个具体object操作 的权限,可查看,dba-sys-privs,dba-tab-privs;视图dba-col-privs;,ORACLE数据库介绍 权限管理,权限的分类system privilege 针对整个系统操,培训目录,一、数据库简介当前主流数据库及其简介关系数据库介绍二、ORACLE数据库介绍体系结构数据存储结构启动和关闭用户管理备份和恢复三、ORACLE常用的开发工具SQLPLUS PL/SQL TOAD PDM / ERWin,培训目录一、数据库简介,(1)逻辑
32、备份 用Export/Import 实用工具(2)物理备份 操作系统下的备份,1、备份分类,归档方式 不关闭database状态不归档方式 关闭database后,把 物理文件进行备份 (cp tar),ORACLE数据库介绍 备份和恢复,2、SVRMGRarchive log list 看当前数据库归档方式,(1)逻辑备份 用Export/Import 实用工具1,级别,3、exp/imp,table 表级user 用户级database 数据库级,incretype,Completeincrementalcumulative 累计改过数据(上次cum;或complete后改过的所有数据),
33、ORACLE数据库介绍 备份和恢复,(1)create table (2)insert data (3)create index (4)create triggers,constraints,Imp命令完成的步骤:,级别 3、exp/imp table 表级i,4、备份和恢复策略 逻辑备份仅能恢复到上次的备份点 物理备份中的不归档备份可恢复到上次备份点 物理备份中的归档备份恢复到failure的前一刻,ORACLE数据库介绍 备份和恢复,4、备份和恢复策略ORACLE数据库介绍 备份和恢复,培训目录,一、数据库简介当前主流数据库及其简介关系数据库介绍二、ORACLE数据库介绍体系结构数据存储结
34、构启动和关闭用户管理备份和恢复三、ORACLE常用的开发工具SQLPLUS PL/SQL TOAD PDM / ERWinSQL LOADER,培训目录一、数据库简介,TNS是Transparent Network Substrate(透明网络层) 的缩写如何配置TNS使CLIENT同SERVER建立联系?服务器上监听进程与listener.ora文件?客户机上tnsnames.ora文件?如何配置BDE使DELPHI同ORACLE建立联系?,ORACLE数据库介绍 常用工具SQL*NET配置,ORACLE数据库介绍 常用工具SQL*NET配置,listener.ora,LISTENER=(A
35、DDRESS_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.ora,local = (description=(address=(protocol=tcp)(host=1
36、92.168.0.2)(port=1521)(connect_data=(sid=coco),ORACLE数据库介绍 常用工具SQL*NET配置,tnsnames.oralocal = (descripti,SET(设置当前的SQL*PLUS的系统环境):ECHO,HEADING,SERVEROUPUT,TIMING,TIME,LONG,LINESIZE,ARRAYSIZE,AUTOCOMMIT,COPYCOMMIT,PAUSESHOW(显示当前的系统环境):USERSAVE存储当前的内容到某一文件:SAVE 文件名GET读取某一文件的内容:GET 文件名RUN和/ (运行当前的文件或某一特定
37、的文件):RUN 可运行当前缓冲区中的内容也可运行某一特定的文件。CONN连接某一用户:CONN username/passwordalias,ORACLE数据库介绍 常用工具SQL*PLUS常用命令,SET(设置当前的SQL*PLUS的系统环境):ORACLE,DISC从某一连接中退出:DISCCOLUMN格式化某一列的显示格式:COLUMN COLUMN_NAME FORMAT AXXXDESC查看某一对象的描述:DESC OBJECT_NAMEEDIT编辑当前缓冲区中的内容或某一特定的文件:EDIT 或EDLIST显示当前缓冲区中的内容:LIST或LSPOOL把运行结果重定向:SPOOL
38、 某一文件,结束SPOOL OFF,默认的扩展名为LST,ORACLE数据库介绍 常用工具SQL*PLUS常用命令,DISC从某一连接中退出:ORACLE数据库介绍 常用工具,EXIT:退出当前的连接和:运行单独的脚本和在脚本中运行脚本cre.sqlcre.sqlAPPEND:在当前的语句的末尾增加内容append 或 aCHANGE:改变当前最后一行的内容,用特定的内容替换指定的内容。C/student/teacher清屏命令:SHIFT+DEL(clear scr),ORACLE数据库介绍 常用工具SQL*PLUS常用命令,EXIT:退出当前的连接ORACLE数据库介绍 常用工具,请把以下
39、数据从EXCEL中导入到ORACLE数据库表中:,请把以下数据从EXCEL中导入到ORACLE数据库表中,ORACLE数据库介绍 常用工具SQL LOADER,连入SQL*Plus 创建表结构 SQL create table test(id number,-序号usernamevarchar2(10),-用户名passwordvarchar2(10),-密码sj varchar2(20) -建立日期);,ORACLE数据库介绍 常用工具SQL LOADER,ORACLE数据库介绍 常用工具SQL LOADER,创建SQL*Loader输入数据所需要的文件,均保存到C:用记事本编辑控制文件:i
40、nput.ctl,内容如下:load data-1、控制文件标识infile test.txt-2、要输入的数据文件名为test.txtappend into table test-3、向表test中追加记录fields terminated by X09-4、字段终止于X09,是一个制表符 (id,username,password,sj) -定义列对应顺序a、insert,为缺省方式,在数据装载开始时要求表为空b、append,在表中追加新记录c、replace,删除旧记录,替换成新装载的记录d、truncate,同上,ORACLE数据库介绍 常用工具SQL LOADER,ORACLE数据
41、库介绍 常用工具SQL LOADER,在DOS窗口下使用SQL*Loader命令实现数据的输入C:sqlldr userid=system/manager control=input.ctl,默认日志文件名为:input.log默认坏记录文件为:input.bad,ORACLE数据库介绍 常用工具SQL LOADER默认,ORACLE数据库介绍 常用工具SQL LOADER,连接到SQL*Plus中,查看是否成功输入,ORACLE数据库介绍 常用工具SQL LOADER,PDM / ERWin:工具界面展示TOAD:工具界面展示,ORACLE数据库介绍 常用工具数据建模工具,PDM / ERWin:工具界面展示ORACLE数据库介绍,谢谢!,谢谢!,