Oracle基础知识


博为峰教育科技(北京)有限公司 http://www.51testing.com Oracle 就业培训教材 博为峰教育科技(北京)有限公司http://www.51testing.com 2 物理结构 参数文件 控制文件 数据文件 数据文件 控制文件 日志文件 日志文件 控制文件主要记载的信息: 数据库名称; 数据库文件名称和位置; 重做日志文件名称和位置; 表空间名称; 当前日志序列号; 检查点信息; 日志历史信息。 博为峰教育科技(北京)有限公司http://www.51testing.com 3 数据库 实例 SGA 重做日志 缓冲区 数据高速 缓存 共享池 数据字典缓存 库缓存 PMONDBW0SMONLGWRCKPT 其它 用户进程 服务器 进程 PGA 控制文件数据 文件 重做 日志 文件 归档日志 文件 参数文件 口令文件 Oracle体系结构 博为峰教育科技(北京)有限公司http://www.51testing.com 4 数据库 数据文件 操作系统块 表空间 段 区 数据块 物理结构与逻辑结构 博为峰教育科技(北京)有限公司http://www.51testing.com 5 后台进程 • SMON 系统监控,实例恢复,取消事务,合并自由盘区 • PMON 管理用户进程,清除失败用户资源 • DBRW 将脏缓冲区的内容写入数据文件 • LGWR 把重做日志缓冲区的内容写入联机日志文 件 • ARCH 对日志文件进行归档 • CKPT 检查点,减少实例恢复时间,把上一检查点以 来的修改写入数据文件,并更新数据文件头部和控制 文件 博为峰教育科技(北京)有限公司http://www.51testing.com 6 • 数据库服务器的组成: — 实例 — 包含一组内存结构和后台进程 — 用来访问数据库中的数据 — 数据库 — 对应一组文件,用来存储数据 Oracle数据库服务器 博为峰教育科技(北京)有限公司http://www.51testing.com 7  一个Oracle数据库服务器,通常被认为是数据库实例,是Oracle用来对 数据库进行访问的服务器进程和内存区域的集合。实例由一组后台进程 和内存区域构成。  SGA:系统全局区,包括数据高速缓冲区、重做日志区和共享池,是所 有用户进程共享的内存区域 Oracle实例 博为峰教育科技(北京)有限公司http://www.51testing.com 8 数据库和实例  Oracle实例=进程+进程所使用的内存(SGA) 实例是一个临时性的东西,你也可以认为它代表了数据库某一时刻的 状态  数据库=控制文件+数据文件+重做日志文件+临时文 件 数据库是永久的,是一个文件的集合 博为峰教育科技(北京)有限公司http://www.51testing.com 9 实例 SGA 重做日志 缓冲区 数据高速 缓存 共享池 数据字典缓存 库缓存 PMONDBW0SMONLGWRCKPT Others Oracle实例的组成 博为峰教育科技(北京)有限公司http://www.51testing.com 10 用户进程 数据库 实例 服务器结构 博为峰教育科技(北京)有限公司http://www.51testing.com 11 ServerUser Client User Server User Server Application server Browser Oracle server Server 连接到数据库实例 博为峰教育科技(北京)有限公司http://www.51testing.com 12 数据库连接数 • session 的最大连接数默认为150,其中有15个是 数据库的后台进程的连接。还有三个是其他服务的 连接。 • 当session达到最大值时 会报出12516错误。 • 查看最大连接数:show parameter processes • 修改最大连接数:alter system set processes=300 scope=spfile; 博为峰教育科技(北京)有限公司http://www.51testing.com 13 相关视图 • V$SGA • V$SGAINFO • V$SGA_DYNAMIC_COMPONENTS • V$SGA_DYNAMIC_FREE_MEMORY • V$PARAMETER • V$INSTANCE 博为峰教育科技(北京)有限公司http://www.51testing.com 14 数据库启动和停止 1、启动Oracle Server startup[nomount|mount|open][force][pfile=filename] 参数说明:  nomount:只启动实例  mount:启动实例,并装载数据库  open:启动实例,装载并打开数据库。  force:终止实例,并重新启动数据库。(默认选项)  pfile:指定非默认参数文件名。 博为峰教育科技(北京)有限公司http://www.51testing.com 15 • 把数据库从nomount状态改变到mount状态: ALTER DATABASE database MOUNT • 从mount状态打开数据库: ALTER DATABSE OPEN • 以只读方式打开数据库: ALTER DATABASE database OPEN READ ONLY; 改变数据库状态 博为峰教育科技(北京)有限公司http://www.51testing.com 16 数据库启动和停止 2、停止数据库 shutdown [normal|transactional|immediate|abort] 参数说明:  normal:等待用户断开已存在连接,系统发出检查点,然后 在同步数据文件、控制文  和重做日志文件之后关闭(默认选项)  transactional:等待客户端结束事务之后,自动断开用户连 接,然后再执行normal。  immediate:取消当前所有sql语句,回退所有未完成事务, 然后自动断开,再执行normal。  abort:终止所有sql语句,立即终止实例。不会发出检查点, 所以也就不会去同步数据文件、控制文件和重做日志文件。 博为峰教育科技(北京)有限公司http://www.51testing.com 17 选项 特点 AITN 允许新连接 XXXX 等待会话结束 XXX √ 等待事务结束 XX √ √ 发出检查点并关闭文件 X √ √ √ 不同的关闭方式 博为峰教育科技(北京)有限公司http://www.51testing.com 18 mount 打开控制文件 shutdown 启动实例 打开数据文件和 重做日志文件 nomount open 启动和关闭数据库 博为峰教育科技(北京)有限公司http://www.51testing.com 19 Oracle启动 1、切换到oracle用户:su – oracle 2、启动监听:lsnrctl start 3、登录到sqlplus:sqlplus /nolog 4、连接到数据库:conn /as sysdba 5、启动数据库:startup 博为峰教育科技(北京)有限公司http://www.51testing.com 20 启动和停止 Oracle Enterprise Manager 数据库控制 1、登录到Oracle Manager管理平台 启动控制台:emctl start dbconsole http://计算机名称或IP地址:1158/em 2、使用 iSQL*Plus 访问数据库 启动iSQL*Plus: isqlplusctl start http://计算机名称或IP地址:5560/isqlplus/ 博为峰教育科技(北京)有限公司http://www.51testing.com 21  v$database  v$controlfile  v$datafile  v$logfile  v$bgprocess  v$parameter  v$sga 相关数据库视图 博为峰教育科技(北京)有限公司http://www.51testing.com 22 日志模式 • 在ORACLE 数据库的开发环境和测试环境中,数据 库的日志模式和自动归档模式一般都是不设置的, 这样有利于系统应用的调整,也免的生成大量的归 档日志文件将磁盘空间大量的消耗。 • 但在系统上线,成为生产环境时,将其设置为日志 模式并自动归档就相当重要了,因为,这是保证系 统的安全性,有效预防灾难的重要措施。 • 通过定时备份数据库和在两次备份间隔之间的日志 文件,可以有效的恢复这段时间的任何时间点的数 据,可以在很多时候挽回或最大可能的减少数据丢 失 博为峰教育科技(北京)有限公司http://www.51testing.com 23 日志模式-非归档模式 • 特点:  不能在open状态下进行数据库的物理备份  要定期进行数据库的完全备份  数据库失败时,只能将数据库恢复到上一次完全备 份点  只能用于实例恢复 博为峰教育科技(北京)有限公司http://www.51testing.com 24 日志模式-归档模式 • 特点:  可以在open状态下进行数据库的物理备份  数据库失败时,可以能将数据库恢复到失败前的 状态  不仅可以用于实例恢复,也可以用于介质恢复  在归档重做日志前,不能覆盖旧的重做日志文件  可以是备份数据库与主数据库保持同步 博为峰教育科技(北京)有限公司http://www.51testing.com 25 改变日志操作模式 • 查看当前日志模式:archive log list • 将数据库的状态改变到mount状态 • startup mount • 启用归档模式:alter database archivelog • 停止归档模式: alter database noarchivelog • 启动数据库:alter database open 博为峰教育科技(北京)有限公司http://www.51testing.com 26 备份与恢复 博为峰教育科技(北京)有限公司http://www.51testing.com 27 数据文件 操作系统文件 导出 导入 通过导出导入移动数据 博为峰教育科技(北京)有限公司http://www.51testing.com 28 • 重新组织表 • 将一个用户的数据移动到另一个用户 • 在两个数据库之间移动数据: • 将数据库迁移到不同的: • 操作系统平台 • 不同版本的 Oracle 数据库 • 在开发或升级过程中,不断地进行测试 • 执行一次逻辑备份 导出和导入用途 博为峰教育科技(北京)有限公司http://www.51testing.com 29 逻辑备份 Export:从数据库中导出数据,Import:外部数据导 入到数据库中 提供三种不同的操作方式: 1、表方式(T) 可以将指定的表导出备份; 2、全库方式(Full) 将数据库中的所有对象导出; 3、用户方式(U) 可以将指定的用户相应的所有数据 对象导出; 博为峰教育科技(北京)有限公司http://www.51testing.com 30 表 用户 数据库 表 索引 触发器 约束 权限 分析方法 用户拥有的 所有对象, 除了建立在 其他用户的 表上的索引 和触发器 数据库中的所 有对象,除了 SYS用户所拥 有的对象 导出模式 博为峰教育科技(北京)有限公司http://www.51testing.com 31 $exp scott/tiger tables=(dept,emp) \ > file=emp.dmp log=exp.log \ > compress=n direct=y DEPT和 EMP 表 exp.log emp.dmp 导出 使用导出 博为峰教育科技(北京)有限公司http://www.51testing.com 32 exp system/manager@test file=E:\test.dmp log=E:\test.log owner=scott exp scott/tiger@test file=E:\test.dmp log=E:\test.log exp scott/tiger@test file=E:\test.dmp log=E:\test.log tables=(emp) exp scott/tiger@test file=E:\test.dmp log=E:\test.log tables=(emp,dept) exp scott/tiger@test file=E:\test.dmp log=E:\test.log tables=(emp) exp scott/tiger@test file=E:\test.dmp log=E:\test.log tables=(emp) query=―――where rownum<10‖‖‖ exp system/manager@test file=E:\test.dmp log=E:\test.log full=y 博为峰教育科技(北京)有限公司http://www.51testing.com 33 导入emp.dmp $imp scott/tiger tables=(dept,emp) \ > file=emp.dmp log=imp.log ignore=y imp.log 数据库 使用导入 博为峰教育科技(北京)有限公司http://www.51testing.com 34 导入时可能出现的问题 1.数据库对象已经存在 2.数据库对象有外键约束时可能会出错 3.权限不够 4.导入大表时,存储分配失败 compress=y 5.字符集不同 6.版本问题 博为峰教育科技(北京)有限公司http://www.51testing.com 35 导入的顺序: 表—>数据—>B-tree 索引—>约束, 触发器, 位图索引 将要用到的表空间: – 如果可能,使用与源数据库相同的表空间 – 用户的缺省表空间 导入行为 博为峰教育科技(北京)有限公司http://www.51testing.com 36 可以通过一个参数文件,指定常用的命令行选项. 如果仅仅导出一小部分数据,可以指定 CONSISTENT=Y. 如果有许多被删除的行,不要指定COMPRESS=Y. 通过以下方法提高性能:  分配大的缓冲区  使用直接路径 导出和导入的原则 博为峰教育科技(北京)有限公司http://www.51testing.com 37 备份与恢复 逻辑备份(导入导出方式) 物理备份 冷备份 热备份 优点 能够针对行对象、跨平台 实施备份操作并迁移数 据库,可以不关闭数据 库 备份恢复迅速,容易达 到低维护、高安全 的效果,执行效率 高 (理论上)可以根据日志回溯 到上一秒的操作,备份 恢复更为精确,而且不 必关闭数据库 缺点 导出方式并不能保证介质 失效 单独使用时,只能提供 到某一时间点上的 恢复,不能按表和 用户恢复,而且必 须关闭数据库 过程比其他方式复杂,需要 较大空间存放归档文件, 操作不允许失误,否则 恢复不能进行 使用 时 机 一般用于有规律的日常备 份 数据库可以暂时关闭, 或者需要和热备份 配合时使用 数据访问量小,或需要实现 表空间及库文件级的备 份,或需要更高精确备 份时 博为峰教育科技(北京)有限公司http://www.51testing.com 38 逻辑备份 --增量导出/导入 • 必须以system用户操作 • 1、完全增量导出(Complete Export) 这种方式将把整个数 据库文件导出备份;exp system/manager inctype=complete file=20080401.dmp(为了方便检索和事 后的查询,通常我们将备份文件以日期或者其他有明确含义的 字符命名) • 2、增量型增量导出(Incremental Export) 这种方式将只会 备份上一次备份后改变的结果;exp system/manager inctype=incremental file=20080401.dmp • 3、累积型增量导出(Cumulate Export) 这种方式是导出自 上次完全增量导出后数据库变化的信息。exp system/manager inctype=cumulative file=20080401.dmp 博为峰教育科技(北京)有限公司http://www.51testing.com 39 逻辑备份-- 建议备份计划 ---- 星期一:完全导出(A) ---- 星期二:增量导出(B) ---- 星期三:增量导出(C) ---- 星期四:增量导出(D) ---- 星期五:累计导出(E) ---- 星期六:增量导出(F) ---- 星期日:增量导出(G) 保证每周数据的完整性,以及恢复时的快捷和最大限度的数据损失。 博为峰教育科技(北京)有限公司http://www.51testing.com 40 逻辑备份 --建议备份计划 •---- 如果在星期日,数据库遭到意外破坏,数据库管理员可按以下步 骤来恢复数据库 : ---- 第一步:用命令CREATE DATABASE重新生成数据库结构; ---- 第二步:创建一个足够大的附加回段。 ---- 第三步:完全增量导入A: ---- imp system./manager inctype= RECTORE FULL=Y FILE=A ---- 第四步:累计增量导入E: ---- imp system/manager inctype= RECTORE FULL=Y FILE =E ---- 第五步:最近增量导入F: ---- imp system/manager inctype=RESTORE FULL=Y FILE=F 博为峰教育科技(北京)有限公司http://www.51testing.com 41 答疑
还剩40页未读

继续阅读

下载pdf到电脑,查找使用更方便

pdf的实际排版效果,会与网站的显示效果略有不同!!

需要 20 金币 [ 分享pdf获得金币 ] 2 人已下载

下载pdf

pdf贡献者

whlzzd

贡献于2010-11-24

下载需要 20 金币 [金币充值 ]
亲,您也可以通过 分享原创pdf 来获得金币奖励!
下载pdf