oracle数据库恢复技术

2024-12-18

oracle数据库恢复技术(17篇)

1.oracle数据库恢复技术 篇一

Oracle10g/11g数据库管理技术课程培训

开课时间:开课地点:北京

中软培训中心主要从事高端IT技术与管理类课程的培训,提供IT培训服务解决方案,成立至今已有32年,现有员工560多人,在全国12省市拥有14个分支机构,占地3万多平方米,是国内最早通过ISO9000质量认证体系的教育机构,隶属于国内最大的欧美外包企业上市公司中软国际,

4月中软培训中心通过Oracle大学的严格审核,成立全国第5家OAEP,Oracle大学授权教育中心,面向的培训对象是企业和在职人员,

OAEP是甲骨文公司官方认可的教育机构,具有Oracle原厂的培训资质,可自主进行原厂培训的招生和课程交付;同时也是Microsoft、IBM、红帽、Cisco、Prometric和VUE等IT跨国公司授权培训中心和合作伙伴。

中心秉承着“高度源于专业”的服务宗旨,以优质的服务,赢得了社会广大学员的好评,至今累计培训和考试近50万人次,在国内曾多次被评选为“十佳培训中心”、“最具影响力品牌”、“IT培训服务专家”。希望我们的培训课程能为您带来帮助!

课程介绍

本课程面向企业Oracle 10g/11g数据库管理的学员。通过本课程的系统培训,使学员能够在较短的时间内掌握Oralcle 10g/11g数据库管理和维护的各种技术,从而掌握最新版Oracle的新特性和

2.oracle数据库恢复技术 篇二

1.1 实例恢复

当实例意外地(如断电、内存故障、后台进程故障等)或预料地(发出shutdown abort语句)中止时出现实例故障,此时需要实例恢复。实例恢复就是通过回滚未提交的事务,对已提交事务但修改还未运用到数据文件的事务进行重做,从而将数据库恢复到故障之前的事务一致状态。实例故障不会破坏数据库文件和日志文件,其恢复过程由Oracle数据库下次启动时自动完成。

1.2 介质恢复

介质故障指存放数据库的存储介质出现故障,如磁盘损坏、自然灾害、恶意破坏等,导致数据库物理文件被破坏或丢失。通常意义上的介质恢复包括数据库还原(Restore)和数据库恢复(Recover)两个阶段。还原一个数据库是指使用物理备份重建数据库,即将备份传送到数据文件原来所在位置;恢复数据库是指将归档日志文件中所记录的数据变化应用到还原后的数据库上,使之恢复到当前时间点状态。

根据数据库的恢复程度,介质恢复分为下面两种类型。

(1)完全恢复

完全恢复可以将数据库恢复到最后正常运行的时间点,而且不会丢失数据。一般情况下完全恢复需要有数据库的全库备份且数据库运行在归档模式下并且有可用归档日志时才可能实现。

(2)不完全恢复

不完全恢复可以将数据库恢复到出现异常前的某个时间点,但这种恢复方式会导致恢复的时间点之后提交事务的数据丢失。不完全恢复有基于撤消(CANCEL)的恢复、基于时间(TIME)的恢复和基于修改(SCN)的恢复3种类型。用户在完全恢复不可能或绝对需要时才执行不完全恢复。

1.3 逻辑备份的恢复(Import)

Import和Export是数据逻辑导入导出的两个相配套的实用程序。Export把数据库中的数据导出到操作系统文件中,而Import实用程序则把Export导出的数据恢复到数据库中。对于人为操作性失误可以采用Import导入最新的逻辑备份来恢复。

2 常规数据库恢复方案

小型Oracle数据库可以利用操作系统命令和数据库命令相结合来手工完成数据库恢复。

2.1 非归档模式下数据库的恢复

非归档模式下的恢复方案可选性很小,一般情况下采用数据库冷备份的完全恢复。这种恢复仅仅需要拷贝原来的备份就可以restore,不需要recover,就好比把数据库又放到了一个以前的“点”上,但是在备份点之后与崩溃之前的数据将会丢失。恢复的主要步骤包括:(1)关闭数据库;(2)将备份的所有文件拷贝回来;(3)重启数据库;(4)完成介质恢复。

非归档模式下如果采用逻辑备份方式,不必关闭数据库,可以对数据库直接进行对象或数据级的恢复。以整库逻辑备份与恢复为例,命令行的语法是:

2.2 归档模式下数据库的恢复

归档模式下既可进行热备份与恢复也可进行冷备份与恢复。损坏或丢失一个数据文件的情况下,如果存在相应的备份与该备份以来的归档日志,恢复还是比较简单的。假设有一个表test,数据文件d:oracleoradatatestusers01.dbf的file#为n,如果该数据文件丢失,则恢复的方法如下:

如果丢失或损坏多个数据文件,则可进行整个数据库的恢复。其过程与上面类似,只不过拷贝备份回到原地点后,要执行recover database命令恢复数据库。恢复过程在mount下进行,如果恢复成功,再打开数据库,down机时间可能稍长一些。

在实际应用中发生故障的数据文件也分好多种,用户要注意区分下列情形:数据文件是否是系统表空间数据文件;数据文件中是否包含回滚段;发现数据文件丢失或损坏时数据库是打开还是关闭状态;数据文件中有没有活动事务。在恢复这些数据文件时要考虑诸多因素,处理细节上也不尽相同。如果损坏的是临时表空间数据文件,删除后重建即可。

2.3 不完全恢复

不完全恢复有3种方式,这里以基于时间的恢复为例说明。如用户由于误操作删除了一个数据表,利用基于时间的恢复方法可以将数据库恢复到表删除时间之前。实现步骤如下:

说明:不完全恢复需要拷贝所有的数据文件,如果有一个数据文件的SCN大于不完全恢复点,那么这个恢复都将是失败的。不完全恢复之后,建议马上再做一次全备份,因为resetlogs选项会重新创建redo log文件,这将使之前做的所有备份变为不可用。另外,如果不知道删除之前的实际时间,可采用大致时间,或采用分析日志文件(logmnr)取得精确的需要恢复的时间。

3 非常规数据库恢复方案

3.1 没有备份的恢复

如果丢失数据文件后,发现没有故障前的数据文件的备份,可通过重建数据文件来恢复,前提是数据库设置为归档模式并且归档日志文件保存完整。例如,因误操作数据库中某一数据文件被损坏,其恢复步骤与归档模式下数据文件的恢复相似,不同点是将损坏文件脱机后要执行alter database create datafile重建一个空的数据文件,然后执行set autorecovery on启用日志自动恢复,再执行recover datafile恢复该数据文件,最后打开数据库,将恢复后的数据文件联机。

3.2 损坏联机日志的恢复

如果损坏的是当前的联机日志文件并且数据库又没有镜像,那么可按下述步骤恢复:

(1)将数据库shutdown abort。

(2)从最近的一次全备份中恢复所有的数据文件。

(3)将数据库启动到mount状态。

(4)使用recover database until cancel命令来恢复数据库。

(5)用alter database open resetlogs打开数据库,如果没有问题则恢复成功。

此法为数据库的不完全恢复,所有包含在损坏的redo log中的信息将会丢失。建议联机日志恢复成功之后,再做一次数据库的全备份。应尽量使每个日志组具有多个日志成员,并且放置在不同的驱动器上,以防止发生介质故障。

3.3 损坏控制文件的恢复

控制文件中记录着整个数据库的结构、每个数据文件的状况、系统SCN、检查点计数器等重要信息。若控制文件损坏,最典型的就是启动数据库出错。在创建数据库时系统会让用户指定3个位置来存放控制文件,它们之间互为镜像,当其中任何一个发生故障,只要拷贝一个好的控制文件替换坏的控制文件或修改Init.ora中的控制文件参数,取消这个坏的控制文件就可以了。

如果控制文件全部损坏,可以在Nomount模式下执行create controlfile来重新生成控制文件,此时注意要完整列出所有的数据文件与联机日志文件的文件名及路径等信息。如果之前运行alter database backup controlfile to trace对控制文件作过备份,恢复时可使用生成的脚本来重建或用备份文件覆盖。建议镜像控制文件在不同的磁盘上,并长期保留一份控制文件的文本备份。

3.4 损坏归档文件的恢复

如果丢失或损坏的是归档文件,首先shutdown数据库立即作一个冷备份,然后修改ini文件中的归档日志文件目的路径,重新启动数据库。以后再发生故障只需从最新的备份中将相关文件恢复。在Oracle8i之后的版本中允许保留多份归档文件到不同位置,甚至到远端服务器,从而保证归档文件的可靠性。

4 其他数据库恢复技术

前面所述的通过操作系统命令和数据库命令相结合来完成数据库恢复的方法属于手工实现数据恢复,该实现过程要谨慎,具有一定的操作复杂性和风险。

RMAN(Recovery Manager)是Oracle公司自Oracle8i版本之后提供的一种专门备份与恢复工具。它具有很多优势,能够实现块级增量备份和受损数据块的单独恢复,并且支持多通道并行读写。应用操作系统的任务计划或Oracle的DBMS_JOB包自动执行RMAN备份脚本,可实现数据库的自动在线物理备份。RMAN提高了备份与恢复操作的效率和可靠性,如果运行环境比较复杂,建议使用RMAN执行备份和恢复作业。用户还可以选择使用基于RMAN技术实现的NetWorker或NetBackup等第三方备份软件。

如果数据库只有极少的关机时间,那么也可从硬件角度来考虑备份与恢复的问题,例如使用硬盘镜像或基于文件同步/异步的双机备份系统。Oracle8i版本中提供的Standby Database技术和Oracle9i版本中提供的Data Guard技术都属于这种数据库容灾方案。

摘要:对于大型数据库应用系统一个很关键问题,是如何保证在灾难或严重错误发生的情况下将数据正确恢复。对当前流行的Oracle数据库的数据恢复功能进行了详细的描述并分析了各种技术和Oracle数据库的特点,重点介绍了可能遇到的各种故障和相应的恢复策略。

关键词:Oracle,数据库恢复,分类,方法

参考文献

[1]谈竹奎,况志军.Oracle9i数据库管理员高级技术指南[M].北京:中国铁道出版社,2003.

[2]何月顺,汤彬.Oracle数据库的灾难恢复[J].计算机系统应用,2002,(9).

[3]欧阳谊,王俊.增强Oracle9i数据库可用性的备份与恢复方法[J].办公自动化,2009,(3).

[4]黄敏.建立Oracle数据库的有效备份与恢复机制[J].中国金融电脑,2002,(12).

3.oracle数据库恢复技术 篇三

【关键词】Domino 关系数据 oracle数据库 相互融合

【中图分类号】TP311.13 【文献标识码】A 【文章编号】1672-5158(2013)03-0103-02

前言

Domino拥有一个文档数据库管理系统,擅长于存储非结构化信息,并提供全文检索、版本控制、留痕迹修改功能,有别于一般的关系型数据库,如oracle、mysql、SQL server等,对单一的消息和工作流系统来说是不错的架构,由于对关系数据处理能力非常弱,相对于关系型数据库数据维护困难,查询和数据统计效率就比较低下,如果想做较大规模的业务整合或者业务开发,会是困难重重,因此与关系型数据库如何的融合是个课题。

1 Domino重要概念介绍

Domino是一种群组工作软件。使用了Domino的服务器称为Domino服务器。Domino的功能强大,界面丰富,主要用于辅助多人协同工作,从而突破平台、技术、组织和地理上的限制,充分实现信息与技术方面的共享。Domino系统的的关键专业术语有:组织单元,人员,服务器,验证字,验证者,标识符,目录,Domino域等等。组织单元(Orgnization Unit)类似就是相当于现实生活中单位内部的一个部门或者单位的一个分支机构。在Domino环境中,人员就是Domino系统的用户。服务器(Server)是用于存放数据信息的计算机。验证字(certificate)在Domino环境中的组织单元,人员等都必须要有自己的验证字,才能用在互相访问和信息交换中验证自己的身份。验证者(Certifier)又名证明者,证明人,在DOMINO环境中,组织和组织单元被称为验证者,组织验证者是最高级别的验证者,组织单元验证者是由组织验证者产生的,人员和服务器的验证字是经过组织或组织单元验证者验证后产生的。标识符(ID)是把组织,组织单元,人员,服务器的验证字有关信息,保存在一个后缀名为ID的磁盘文件中,这个文件就是组织,组织单元,人员或服务器的ID。Domino目录用来存放组织,组织单元,人员,服务器及其配置信息的数据库,其文件名一般是names.nsf。Domino域(Domino domain)共享同一个Domino目录的一组Domino服务器。简而言之就是使用同一个names.nsf的一组Domino服务器。

2 Domino 与关系数据库的融合关键

关系数据库,是建立在关系模型基础上的数据库,借助于集合代数等数学概念和方法来处理数据库中的数据,标准数据查询语言SQL就是一种基于关系数据库的语言,关系模型是由关系数据结构、关系操作集合、关系完整性约束三部分组成。

在项目开发过程中,Domino很多功能需要Java代理及外接数据库才好实现,核心的问题是:如何把原先的关系型数据库中的内容全部导入Domino 中是因为企业现在的所有数据都集中在一个关系型数据库中,因此希望domino数据库能与旧的关系库互操作,而不必在数据库转换上浪费更多资源。对于企业来说,如果企业数据存放在不止一个关系库中,那么就需要购买若干个此类产品,而且实现过程较为复杂。

因此能否通过Lotus Script编写一个通用的数据库转换程序就成为系统开发的关键之一。具体解决方法如下:

第一步 在控制面板——>32位ODBC数据源中建立用户数据源

Test;

第二步 在Domino R5中新建一个数据库Try,并建立一个空白表单Connection,此表单没有任何内容,然后在表单上创建一个“操作”,起名为“Read”;

第三步 在“Read”操作的编程窗口中选择编程语言为Lotus Script;

第四步 在编程窗口的对象窗口中点击“Option”事件,并写入如下脚本: Uselsx "*lsxodbc" // 使用Lotus Script 扩展对象中的ODBC类

第五步 选中“Declare”事件,在其中写入:

Dim session As NotesSession Dim db As NotesDataBase

Dim doc As NotesDocument

Dim qry As ODBCQuery

Dim result As ODBCResultSet

Dim con As ODBCConnection

定义程序中使用到的各种对象。

第六步 选中“Click”事件,在其中写入:

Sub Click(Source As Button)

Set New Value

Set session = New NotesSession

Set con = New ODBCConnection

// 新建ODBCConnection对象实例

Set qry = New ODBCQuery

// 新建ODBCQuery对象实例

Set result = New ODBCResultSet

// 新建ODBCResultSet对象实例

取得当前数据库信息

Set db = session.CurrentDataBase

Set doc = New NotesDocument(db)

// 新建文档 doc.form = "connection"

// 新建文档的表单指向connection

Call con.Disconnect()

// 保证con对象当前没有连接其他数据源

If con.ConnectTo("test") Then

// 如果连接成功

Set qry.connection = con

// 将建立好连接的con交给query对象

qry.SQL = "SELECT * FROM Table1"

// SQL 语句

Set result.Query = qry

// 将已经连接上数据源并写好SQL

语句的query对象赋给result对象

Call result.Execute()

// 循环直到结果集为空

Call result.NextRow()

// 指针指向下一条记录

For i = 1 To result.Numcolumns

// 根据字段的索引值得到字段的名字value = result.GetValue(field)

// 取得字段值 If Isdate(value) Then

// 将关系库中的值写到Notes当前库的当前表单中

Next Call doc.save(True,True)

// 当一条记录的所有字段都被写入 Notes库后保存此文档

Set db = session.CurrentDataBase Set doc = New NotesDocument(db)

// 断开与数据源的连接

Else Messagebox("Could not connect to server")

End If End Sub

最后,保存表单并运行,用鼠标点击Read 操作后,关系数据库中的信息就融入到Notes的文档型数据库中了。

3 domino与Oracle数据库融合关键

Oracle数据库是一个功能超级强大的数据库系统。它由是美国ORACLE公司(甲骨文)提供的以分布式数据库为核心的一组软件产品。ORACLE数据库是目前世界上使用最为广泛的数据库管理系统,因为它具备强大的功能和卓越的性能所以被广泛的使用在各个领域中,并担任着极为重要的角色,如集团财务管控系统大都采用Oracle数据库。

在了解domino与关系数据有着可交互的关系,并且知道oracle数据库可以通过用HS+ODBC技术导入到domino中,经过一步一步的了解和认识可以大胆的设想domino与oracle数据库可以融合的可操作性。

在一个像Access这样的应用程序中创建数据库框架通常会更容易一些,因为Access可以非常轻松地提供完成任务所需的各种功能。一旦设计了数据库,就要为其创建ODBC数据源。

1. 双击Control Panel(控制面板)中的32位ODBC小程序。会看到ODBC Data Source Administrator(ODBC数据源管理员)对话框,对系统级数据库来说,使用System DSN(系统数据源名)选项卡;对文件级数据源使用File DSN(文件数据源名)选项卡。你还会看到一个数据库的缺省选项。

2. 单击Add按钮。会看到Create New Data Source(创建新的数据源)对话框。技巧检查ODBC Data Source Administrator(ODBC数据源管理员)对话框的About选项卡,可以确定你正在使用的ODBC驱动程序的最新版本。

3. 选择一个数据源。这里采用选择Access数据源。单击Finish(完成),会看到某种类型的配置对话框,注释如果选择的数据源那么所需的配置步骤也和这里说明的不同故每个ODBC驱动程序都要求不同类型的配置。

4.单击Select(选择)按钮。你会看到一个File Open-type(文件打开类型)对话框,可以在那里选择一个现有的数据库。ODBC驱动程序会自动选择正确的文件扩展名。技巧并不是一定要提前设计数据库。请注意,Access ODBC驱动程序还包括一个创建新数据库的按钮。很多ODBC驱动程序都提供了这种功能,但并不是全都这样。单击这个按钮会启动数据库管理器应用程序,并允许设计数据库。

5. 选择系统数据库选项。在大多数情况下要选择None(无),除非为应用程序特别创建了一个系统数据库。如果确实添加了系统数据库,它会出现在ODBC Microsoft Access 97 Setup(设置)对话框的System DSN(系统DSN)选项卡上。

6. 单击Advanced(高级)按钮,会看到Set Advanced Options(设置高级选项)对话框,如下图所示。无需对很多项做修改。但是,要把客户名添加到LoginName(注册名)域中,把客户口令添加到Password(口令)域中。这允许客户在访问的数据库时,根本不用了解访问的细节——甚至不用了解被记录的客户名。技巧为最优化潜在的区域,可以浏览一下 ODBC驱动程序提供的一系列高级选项。由于Windows使用了一些处理器循环对线程实施管理,所以使用了过多的线程又会降低应用程序的速度。

7. 设置完所需的高级选项后单击OK。

8. 再次单击OK关闭ODBC Microsoft Access 97 Setup(设置)对话框。应该看到,新的设置项已经添加到ODBC Data Source Administrator(ODBC数据源管理员)对话框中。如果今后要为数据库更改这些设置,只要简单地加亮它并单击Configure(配置)。删除数据库配置也很容易,只要加亮DSN并单击Remove(删除)即可。创建系统DSN和制作用户DSN差不多。两者间一个显著的差别是,使用它们的目的不同。

4 结论

本文所研究的Domino与oracle数据库的融合技术。在详细了解Domino这种软件中,认识其是一个群组软件,深入探讨其群组中的每一个构件,分析他们所具有的作用,对Domino与数据之间的互相操作进行变换,再将此变换转入到Domino与oracle数据库的相互融合,进行实例操作。本项目在实际操作中已成功运行。

参考文献:

[1]陈骅; Oracle数据库中业务数据文本导出[J];电脑编程技巧与维护;2006年08期

[2]宋初一;时宏杰;姜艳清;满达图;;一种与基于Lotus-Domino的办公自动化系统进行数据交换的方法[J];内蒙古民族大学学报(自然科学版);2008年02期

[3]王飞;白改朝;;Oracle数据库中自带Java的简单应用[J];电脑知识与技术;2008年25期

[4]甲骨文推出Oracle融合中间件11g[N]. 电脑报. 2009年

[5]邵建强;;如何利用Java将Excel文件中的数据导入SQL Server[J];软件导刊;2008年03期

[6]邢小萍;Oracle身陷两重困境[N];网络世界;2009年

[7]李彦澎;夏阳;;基于Domino的企业级工作流引擎[J];微计算机信息;2009年15期

[8]尹茂林;基于Domino平台的知识管理系统的设计与实现[D];哈尔滨工业大学;2011年

4.Oracle数据库碎片数据库 篇四

我们知道, Oracle 作为一种大型数据库,广泛应用于金融、邮电、电力、民航等数据吞吐量巨大,计算机网络广泛普及的重要部门。对于系统管理员来讲,如何保证网络稳定运行,如何提高数据库性能,使其更加安全高效,就显得尤为重要。作为影响数据库性能的一大因素 -- 数据库碎片,应当引起 DBA 的足够重视,及时发现并整理碎片乃是 DBA 一项基本维护内容。

1 、碎片是如何产生的

---- 当生成一个数据库时,它会分成称为表空间( Tablespace )的多个逻辑段( Segment ),如系统( System )表空间 , 临时( Temporary )表空间等。一个表空间可以包含多个数据范围( Extent )和一个或多个自由范围块,即自由空间( Free Space )。

---- 表空间、段、范围、自由空间的逻辑关系如下:

---- 当表空间中生成一个段时,将从表空间有效自由空间中为这个段的初始范围分配空间。在这些初始范围充满数据时,段会请求增加另一个范围。这样的扩展过程会一直继续下去,直到达到最大的范围值,或者在表空间中已经没有自由空间用于下一个范围。最理想的状态就是一个段的数据可被存在单一的一个范围中。这样,所有的数据存储时靠近段内其它数据,并且寻找数据可少用一些指针。但是一个段包含多个范围的情况是大量存在的,没有任何措施可以保证这些范围是相邻存储的,如图〈 1 〉。当要满足一个空间要求时,数据库不再合并相邻的自由范围(除非别无选择),而是寻找表空间中最大的自由范围来使用。这样将逐渐形成越来越多的离散的、分隔的、较小的自由空间,即碎片。例如:

2 、碎片对系统的影响

---- 随着时间推移,基于数据库的应用系统的广泛使用,产生的碎片会越来越多,将对数据库有以下两点主要影响:

---- ( 1 )导致系统性能减弱

---- 如上所述,当要满足一个空间要求时,数据库将首先查找当前最大的自由范围,而 “ 最大 ” 自由范围逐渐变小,要找到一个足够大的自由范围已变得越来越困难,从而导致表空间中的速度障碍,使数据库的空间分配愈发远离理想状态;

---- ( 2 )浪费大量的表空间

---- 尽管有一部分自由范围(如表空间的 pctincrease 为非 0 )将会被 SMON (系统监控)后台进程周期性地合并,但始终有一部分自由范围无法得以自动合并,浪费了大量的表空间。

3 、自由范围的碎片计算

---- 由于自由空间碎片是由几部分组成,如范围数量、最大范围尺寸等,我们可用 FSFI--Free Space Fragmentation Index (自由空间碎片索引)值来直观体现:

FSFI=100*SQRT(max(extent)/sum(extents))*1/SQRT(SQRT(count(extents)))

---- 可以看出, FSFI 的最大可能值为 100 (一个理想的单文件表空间)。随着范围的增加, FSFI 值缓慢下降,而随着最大范围尺寸的减少, FSFI 值会迅速下降。

---- 下面的脚本可以用来计算 FSFI 值:

rem FSFI Value Compute

rem fsfi.sql

column FSFI format 999,99

select tablespace_name,sqrt(max(blocks)/sum(blocks))*

(100/sqrt(sqrt(count(blocks)))) FSFI

from dba_free_space

group by tablespace_name order by 1;

spool fsfi.rep;

/

spool off;

---- 比如,在某数据库运行脚本 fsfi.sql, 得到以下 FSFI 值:

TABLESPACE_NAME FSFI

------------------------------ -------

RBS 74.06

SYSTEM 100.00

TEMP 22.82

TOOLS 75.79

USERS 100.00

USER_TOOLS 100.00

YDCX_DATA 47.34

YDCX_IDX 57.19

YDJF_DATA 33.80

YDJF_IDX 75.55

---- 统计出了数据库的 FSFI 值,就可以把它作为一个可比参数,

在一个有着足够有效自由空间,且 FSFI 值超过 30 的表空间中,很少会遇见有效自由空间的问题。当一个空间将要接近可比参数时,就需要做碎片整理了。

4 、自由范围的碎片整理

---- ( 1 )表空间的 pctincrease 值为非 0

---- 可以将表空间的缺省存储参数 pctincrease 改为非 0 。一般将其设为 1 ,如:

alter tablespace temp

default storage(pctincrease 1);

---- 这样 SMON 便会将自由范围自动合并。也可以手工合并自由范围:

alter tablespace temp coalesce;

5 、段的碎片整理

---- 我们知道,段由范围组成。在有些情况下,有必要对段的碎片进行整理。要查看段的有关信息,可查看数据字典 dba_segments ,范围的信息可查看数据字典 dba_extents 。如果段的碎片过多,将其数据压缩到一个范围的最简单方法便是用正确的存储参数将这个段重建,然后将旧表中的数据插入到新表,同时删除旧表。这个过程可以用 Import/Export (输入 / 输出)工具来完成。

---- Export 命令有一个(压缩)标志,这个标志在读表时会引发 Export 确定该表所分配的物理空间量,它会向输出转储文件写入一个新的初始化存储参数 -- 等于全部所分配空间。若这个表关闭, 则使用 Import ()工具重新生成。这样,它的数据会放入一个新的、较大的初始段中。例如:

exp user/password file=exp.dmp compress=Y grants=Y indexes=Y

tables=(table1,table2);

---- 若输出成功,则从库中删除已输出的表,然后从输出转储文件中输入表:

imp user/password file=exp.dmp commit=Y buffer=64000 full=Y

---- 这种方法可用于整个数据库。

---- 以上简单分析了 Oracle 数据库碎片的产生、计算方法及整理,仅供参考。数据库的性能优化是一项技术含量高,同时又需要有足够耐心、认真细致的工作。

5.oracle数据库恢复技术 篇五

Oracle 9i的数据类型数据库教程

表7.4 Oracle 9i的标量数据类型名称含义Char用于描述定长的字符型数据,长度<=字节varchar2用于描述变长的字符型数据,长度<=4000字节nchar用来存储Unicode字符集的定长字符型数据,长度<=1000字节nvarchar2用来存储Unicode字符集的变长字符型数据,长度<=1000字节number用来存储整型或者浮点型数值Date用来存储日期数据Long用来存储最大长度为2GB的变长字符数据Raw用来存储非结构化数据的变长字符数据,长度<=2000字节Long raw用来存储非结构化数据的变长字符数据,长度<=2GBrowid用来存储表中列的物理地址的二进制数据,占用固定的10个字节Blob用来存储多达4GB的非结构化的二进制数据Clob用来存储多达4GB的字符数据nclob用来存储多达4GB的Unicode字符数据Bfile用来把非结构化的二进制数据存储在数据库以外的操作系统文件中urowid用来存储表示任何类型列地址的二进制数据float用来存储浮点数

6.oracle数据库恢复技术 篇六

Oracle数据库在正常情况下能够保证数据的安全和系统的稳定,为用户提供日常服务,但由于在使用过程中计算机硬件故障、系统软件和应用程序的错误、操作员的失误等都可能影响数据库中数据的正确性和安全性,重则使数据库中的数据部分或全部丢失,甚至导致系统瘫痪。这就要求数据库管理员必须采用适当的技术手段和方法,延长数据库平均故障的发生时间,并当数据库中的数据遭到破坏时能够尽快从数据备份中恢复数据,从而将损失减少到最小,保障企业的效益。Oracle为用户提供了完善的备份与恢复功能,保证系统的安全性。本文将在介绍Oracle备份与恢复技术基础上,阐述Oracle数据库备份与恢复的策略。

1 Oralce数据库的备份方案

Oracle数据库提供了两类备份,物理备份和逻辑备份(导入/导出)。物理备份是将实际组成数据库的操作系统文件从一处拷贝到另一处的备份过程,它只涉及到组成数据库的文件,而不考虑其逻辑内容。而逻辑备份是利用SQL语言从数据库中抽取数据连同逻辑结构写入二进制文件中的过程,逻辑备份是物理备份的补充。

物理备份又根据数据库的工作模式分为非归档模式(nonarchive log)和归档模式(archive log)。非归档模式又被称为脱机备份或冷备份,而相应的归档模式被称为联机备份或热备份。它们的关系如图1所示。

这三种备份方案各有特点,采用何种备份方案,既要根据应用系统的规模、用户多少、数据量的大小等具体情况,还要考虑实现技术的复杂性、数据库管理员的技术熟练度等多种因素。

1.1 脱机备份(非归档模式)

数据库脱机备份,即在数据库已经正常关闭的情况下进行备份,数据库处于Offline状态。其特点是简单、可行、可靠。脱机备份要备份所有的数据文件(.DBF文件)、所有控制文件(.CTL文件)、所有联机日志文件(REDO*.*文件)、以及初始化参数文件INIT.O-RA(可选)。当数据库处于打开状态时,执行数据库文件系统备份是无效的。

由于在进行数据库备份期间数据库是关闭的,导致应用系统无法使用,尤其在数据库比较大、文件的读、写速度较慢,系统要求工作在7×24模式下采用此方案不合适。但对于小型的应用,单位没有专职的数据库管理员,应用系统不要求7×24不间断工作,采用此方式备份则切实可行。

1.2 联机备份(归档模式)

联机备份是指在数据库打开运行的情况下进行备份,一般需要通过使用Alter命令改变表空间的状态来开始进行备份,备份完成后,恢复原来的状态。联机备份方式可以用在数据库不能中断,需要全天运行的条件下。联机备份要求数据库必须在归档方式下操作,由于联机备份需要消耗较多的系统资源,如大量的存储空间,因此联机备份应安排在数据库不使用或使用率较低的情况下进行为宜。

联机备份方法可以使用SQL*Plus程序和Oracle Enterprise Manager(OEM)中的备份向导两种方式进行联机备份。使用SQL*Plus语句的备份过程如下:

1)查看数据库是否已经启动归档日志:

archive log list;

如果归档日志模式没有启动,则打开数据库的归档日志模式,先使用shutdown immediate命令关闭数据库,然后使用如下命令启动数据库:

startup mount;

2)修改数据库的归档日志模式:

alter database archivelog;

3)完成联机备份。

一旦数据库运行在archivelog状态下,就可以做备份了。sqlplus上执行的联机备份命令包括对三部分文件的备份:

第一步,数据文件的备份。

(1)设置表空间为备份状态:

alter tablespace example begin backup;

(2)备份表空间的数据文件:

用操作系统的复制拷贝数据文件。

(3)回复表空间为正常状态:

alter tablespace example end backup

第二步,归档日志文件备份:

alter system switch logfile;--强迫日志切换,以便所有的日志都被归档

archive log list;--获取当前的日志顺序号

从最早的概要日志序列到当前日志序列的联机redo日志都应该拷贝出来。

第三步,控制文件的备份:

alter database backup controlfile to trace;--获得控制文件的备份

然后到%oracle_base%admin%oracle_sid%udump目录中寻找最新的跟踪文件,其中有重建控制文件的全部命令。

1.3 逻辑备份

Oracle数据库的逻辑备份与恢复又称导出/导入,通过导出可以将数据移出数据库,这些数据的读取与其物理位置无关,“导出”文件为二进制系统文件。与物理备份相比,虽然逻辑备份不够全面,但是逻辑备份可基于整个数据库、用户模式或表模式将数据导出,较为灵活。对于一些重要的数据可以采取该种方式作为辅助备份。此外,采用逻辑方式导出导入数据的方法可较好地实现在不同操作系统平台、不同数据库版本之间进行数据库迁移,这对于物理备份是一个很好的补充备份形式。

1.3.1 使用EXPORT导出操作

Oracle传统上逻辑备份可以通过EXPORT程序在命令行下完成备份工作或通过Oracle Management Server(OMS)中的导出工具来完成。下面介绍命令行下进行的导出操作,而OMS的导出可以根据其导出向导进行操作。

从命令行调用Export程序完成导出操作,导出的具体任务由命令的参数和参数值决定。导出命令基本格式如下:

EXP USERID=username/password PARAMETER=(value1,value2,…value N)

其中PARAMETER可以是导出命令的一些参数名称,value表示该参数的取值。

导出有三种类型:表模式导出、用户模式导出和完全数据库导出。

1)表模式导出

表模式导出是对数据库中特定用户所有的一张或者几张表的结构以及数据进行导出,将这些数据和定义存储在一个导出文件中。相关命令:

exp username/password tables=employees file=test.dmp

如果需要导出多个表,并将工具的反馈信息输出到日志文件,可以通过以下形式进行导出:

exp username/password tables=(employees,jobs)file=test.dmp log=test.log

2)用户模式导出

用户模式导出是对数据库中一个或者几个用户对应的模式中的对象和数据进行导出,使用用户模式的关键字为owner=,具体命令为:

exp username/password owner=username file=test.dmp

owner指定的用户其对应模式中的所有对象和数据都会被导出到test.dmp文件中。

3)完全数据导出

完全数据库导出是对整个数据库中除SYS模式以外的所有模式的对象都进行导出,这种导出形式耗费的时间较多。使用完全数据库导出模式的关键参数为FULL=Y,具体执行命令为:

exp username/password full=Y constraints=Y file=test.dmp

full参数设为Y表明进行的是完全数据库导出,constraints参数进行设置Y保证了表的约束条件也进行相关的输出。

因进行完全数据库导出需要运行很长时间,所以Oracle还提供了一种“直接”的执行方式来提高执行效率,命令为

exp username/password full=Y constraints=Y file=test.dmp direct=Y

1.3.2 使用数据泵Data Pump导出操作

Data Pump数据泵体系结构是在Oracle10g 10.1中提出,作为Export工具的替代,它可以高速实现Oracle数据库(10g版本之后)之间传输数据。Data Pump数据泵工具Expdp/impdp工作方法与Exp/imp导出/导入工具相比,数据传输方法做了很大的改进,传输速度大大提高了,而且它们的转储(dump file)文件的格式互不兼容,但是它们的使用方法很接近。这里以Data Pump来导出一个大小约为3GB的大表CASES为例来说明。

Data Pump在服务器端使用文件处理来创建和读取文件;因此,目录要作为位置使用。这里假设使用文件系统/u02/dpdata1来保存转储文件:

create directory dpdata1 as'/u02/dpdata1';

grant read,write on directory dpdata1 to ananda;

然后导出数据:

expdp ananda/abc123 tables=CASES directory=DPDATA1 dumpfile=exp CASES.dmp job_name=CASES_EXPORT

其中,用户ID/口令组合、表和转储文件参数意义和原来导出相同。不同的是文件在服务器(不是客户端)上创建的。位置由目录参数值DPDATA1指定,它指向之前创建的/u02/dpdata1。这个进程还在目录参数指定的位置上创建一个日志文件(同样在服务器上)。默认地,这个进程使用一个名称为DPUMP_DIR的目录,因此可以创建它来代替DPDATA1。

新的参数job_name给此任务一个作业名。所有的Data Pump工作都通过作业来完成。Data Pump作业是服务器进程,它代表主进程处理数据。主进程(称为主控制进程)通过高级队列(AQ)来协调这项工作;它通过在运行期内创建的一个特殊的表(称为主表)来实现这个目的。在上述的例子中,如果在expdp运行时检查用户ANANDA的模式,将注意到一个表CASES_EXPORT的存在(对应参数job_name)。当expdp结束时,这个表被丢弃。

Data Pump还提供随时连接到一个运行中的任务来检查其状态的功能。通过执行一条expdp命令,使用ATTACH参数来指定任务名称,去连接一个任务,然后执行STATUS命令可查看当前任务状态。除此,还可以通过DBA_DATAPUMP_JOBS视图查看所有数据泵任务的状态,通过DBA_DATAPUMP_SESSIONS视图,列出所有活跃的数据泵工作进程。

1.4 恢复管理器RMAN(Recovery Manager)备份

恢复管理器RMAN(Recovery Manager)是一个由Oracle提供的外部工具,专门用来对数据库进行备份与恢复操作。尽管它支持在线热备份,但备份方式有别于前述的传统在线热备份方式。它有两种使用界面:GUI(图形用户界面)和CLI(命令行界面)。使用RMAN可以完成Oracle数据库备份和恢复的各种任务。现在许多Oracle备份恢复软件的内核实际上就是基于RMAN。

创建RMAN备份的具体步骤如下:

1)首选将要备份的数据库改成归档模式。

2)在OEM中给RMAN用户解锁,并检查是否得到recovery_catalog_owner权限,如无,则添加。更改原有密码为rman,表空间默认值为users。

3)用新建的RMAN用户连接到恢复目录数据库,这里假设名为myoracle,方法如下:

打开DOS窗口,执行RMAN命令,在出现的RMAN提示符下,键入命令:

RMAN>connect catelog rman/rman@myoracle;

4)创建恢复目录:

RMAN>create catalog tablespace users;

5)连接目标数据库myoracle:

RMAN>connect target sys/change_on_install@myoracle;

6)在目录数据库中注册目标数据库:

RMAN>register database;

7)验证注册结果,使用RMAN账号登录到恢复目录数据库RMAN:

打开SQLPlus,用rman用户名,密码rman,主机字符串myoracle登录,然后执行以下SQL语句观察结果:

SQL>select*from db;

8)用RMAN备份数据文件

在RMAN工具下,执行以下命令

执行成功后,通过以下命令查看备份情况:

RMAN>list backup of datafile'D:oracleoradatamyoracleEXAMPLE01.DBF';

1.5 Oracle数据库的备份策略

前面介绍的几种备份方式,在实际应用中往往是相互结合。Oracle数据库备份策略主要以联机备份为主,脱机备份和逻辑备份为辅。无论采用何种策略,前提都是不影响或少影响数据库可用性的情况下,来考虑通过备份操作的效率。各备份方式的比较见表1。

一般比较可行的备份方案是:首先脱机进行全数据库备份,执行频率根据数据库大小及对数据库改动的多少而定(如每周一次),然后设置数据库运行于非归档模式下,每天数次采用RMAN备份归档日志、联机日志、控制日志、配置文件,备份次数的多少直接影响恢复数据的完整性,应根据各单位具体情况而定。每周进行一次EXPDP逻辑备份,实现对数据,而非物理文件的备份。此方案不仅适用于大型的应用,也适用于小型的应用。采用此备份方案应注意在用机和备用机环境的一致,以利于恢复。

2 Oracle数据库的恢复

采用何种方式恢复数据库与所用的备份方案有密切关系。采用逻辑备份的数据库,可用imp命令或impdp命令来恢复,具体命令可用添加参数help=y来获得帮助。采用脱机备份的数据库可用操作系统的相关操作来完成数据文件系统的恢复,也可把整个目录复制到备用机,在备用机上启动数据库。由于采用的是脱机备份,在上次备份后所发生的数据库改动将不能恢复。采用联机备份的数据库可用恢复命令RECOVER来进行恢复,采用RMAN备份的数据库则继续在RMAN工具下执行包含restore参数的命令来恢复数据库。上述具体命令参数可参阅有关帮助文档。

采用脱机备份加日志文件、控制文件的备份方式,在恢复中,先把脱机备份的数据库全部拷贝到备用机,然后根据日志文件、控制文件进行重做日志,若日志文件、控制文件备份的频率设置得当,可把数据库恢复到理想时间点甚至发生故障点。

3 结束语

提高数据库灾难后恢复的可靠性正越来越受到人们的关注,本文总结和比较了几种Oracle数据库的备份方案,并提出了典型的备份策略,用户可以根据自己的实际情况及数据库结构在此基础上灵活应用。实际证明,选择一种相对简单、可靠,并且切实可行的方案有利于提高备份恢复速率和有效性,从而真正提高数据的安全性和可靠性。

摘要:Oracle作为主流的大型关系型数据库管理系统,它提供了丰富的备份与恢复功能,保证系统的安全性。该文简要阐述了Oracle数据库应用中常用的备份与恢复方案以及各自的适用范围,并在此基础上给出了备份和恢复策略的建议方案,以助于数据库管理员进行比较和决策。

关键词:Oralce,数据库备份,数据库恢复,RMAN恢复管理器,数据泵

参考文献

[1]王飞飞,孙胜耀,董杨.基于数据泵技术的资料归档设计与实现[J].电脑开发与应用,2008,21(12):26-27.

[2]苏国磊.利用RMAN实现Oracle数据库的备份与恢复[J].电脑知识与技术,2007,2:325-326.

[3]余以胜.Oracle数据库备份解决方案的研究[J].计算机与数字工程,2006,34(1):118-121.

[4]滕永.Oracle10g数据库系统管理[M].北京:机械工业出版社,2006.

[5]腾永昌.Oracle9i数据库管理员使用大全[M].北京:清华大学出版社,2005.

7.oracle数据库恢复技术 篇七

对技校现行课程考试业务进行详细了解,通过认真调查后得知,原有的人工操作在考试工作中占的比重较大,考试流程是这样的:教导处下发考试通知→老师出卷→安排考场→组织考前宣传以及公布考场地点→印刷试卷→正式考试→阅卷→出成绩→张榜公布成绩等。根据调查结果,得到考试工作的组织机构设置如图所示。

通过了解详细情况之后并结合现行考试模式,而确定本系统的业务流程如图1-2所示。

技校考试系统的功能结构设计

系统功能结构。根据需求分析可知,技校学生考试系统是由三大模块组成:后台管理模块、考试功能模块以及领导审核功能模块,如图2-1示。

数据库设计。在Oracle数据库服务器上建立名为exam的数据库。该考试系统包括的数据表有:考生信息表(XS),成绩表(CJ),学生档案表(DA),题库表(TK),班级表(BJ)等表,因编幅有限而略去。

Oracle数据库优化技术在考试系统中的应用

SQL语句的优化是作为Oracle数据库系统中最为重要的一个组成部分。随着考试系统数据库的日渐增大,系统最为突出的问题就是数据访问的响应速度。因此,这里对考试系统中的Oracle数据库查询技术进行优化是十分有必要的。

从上面的Oracle中的SQL语句我们能够发现学生考试记录查询语句中对SQL语法使用存在错误,而最终使得某些字段索引出现失效的现象,即and to_char(c.dt,'yyyy-mm')=to_char(sysdate,'yyyy-mm')这一句,因为索引列在函数中,那么索引将会失去原有的作用,这样的一种SQL语句错误的做法,使得在考试系统数据库建立时就被忽略掉了,其实这样的忽略会使访问速率造成较大的影响,那么我们可以改成这样:andc.dt=trunc(sysdat e.'yyyy-mm')and c.dt<=last_day(sysdate)。另一个语句a and b.id(题号)In(Select id From TK t With t.id=b.id Connect By t.id=Prior sj_b.id)中的in能够用exists来取代替,这样能够在很大程度上提高考生信息记录查询的速率,优化后完整的SQL语句是这样的:

考生成绩信息查询优化

select*from CJ a,DA b where a.id=b.sno order by sno,km

该语句主要是实现了考生各个科目成绩的查询和排序,由于技校考生人数较多,且每个考生又对应着多个考试科目。虽然SQL语句很简单,但是查询速度却是十分的慢。主要原因是由于这个语句中,有两个关联表中的两个字段都没有建立索引,从而使得查询速度十分的慢,如果对这些字段全面建立起索引,那么就能够全面有效地提高这个语句的查询速率。具体做法是:成绩表(cj)的科目字段km索引名为km_idx,档案表(DA)的学号sno的索引名为sno_idx。所以需要在Oracle数据库中创建两条索引来进行优化,下面通过两条语句来建立数据表的相应索引:CREATE INDEX km_idx ON Exam.CJ(km)

CREATE INDEX sno_idx ON Exam.DA(sno)

优化效果。通过对考生考试信息查询和考生成绩信息查询页面SQL语句的优化,以此来提高查询速度,下表3-1是优化前和优化后所用的时间:

8.oracle数据库恢复技术 篇八

1、说一说Oracle的Optimizer及其相关的一些知识,

2、回答一下为什么有时一个表的某个字段明明有索引,当观察一些SQL的执行计划时,发现确不走索引的问题。

3、如果你对 FIRST_ROWS、ALL_ROWS这两种模式有疑惑时也可以看一下这篇文章。

开始吧:

Oracle在执行一个SQL之前,首先要分析一下语句的执行计划,然后再按执行计划去执行。分析语句的执行计划的工作是由优化器(Optimizer)来完成的。不同的情况,一条SQL可能有多种执行计划,但在某一时点,一定只有一种执行计划是最优的,花费时间是最少的。相信你一定会用Pl/sql Developer、Toad等工具去看一个语句的执行计划,不过你可能对Rule、Choose、First rows、All rows这几项有疑问,因为我当初也是这样的,那时我也疑惑为什么选了以上的不同的项,执行计划就变了?

1、优化器的优化方式

Oracle的优化器共有两种的优化方式,即基于规则的优化方式(Rule-Based Optimization,简称为RBO)和基于代价的优化方式(Cost-Based Optimization,简称为CBO)。

A、RBO方式:优化器在分析SQL语句时,所遵循的是Oracle内部预定的一些规则。比如我们常见的,当一个where子句中的一列有索引时去走索引。

B、CBO方式:依词义可知,它是看语句的代价(Cost)了,这里的代价主要指Cpu和内存。优化器在判断是否用这种方式时,主要参照的是表及索引的统计信息。统计信息给出表的大小 、有少行、每行的长度等信息。这些统计信息起初在库内是没有的,是你在做analyze后才出现的,很多的时侯过期统计信息会令优化器做出一个错误的执行计划,因些我们应及时更新这些信息。在Oracle8及以后的版本,Oracle列推荐用CBO的方式。

我们要明了,不一定走索引就是优的,比如一个表只有两行数据,一次IO就可以完成全表的检索,而此时走索引时则需要两次IO,这时对这个表做全表扫描(full table scan)是最好的。

2、优化器的优化模式(Optermizer Mode)

优化模式包括Rule,Choose,First rows,All rows这四种方式,也就是我们以上所提及的。如下我解释一下:

Rule:不用多说,即走基于规则的方式。

Choolse:这是我们应观注的,默认的情况下Oracle用的便是这种方式。指的是当一个表或或索引有统计信息,则走CBO的方式,如果表或索引没统计信息,表又不是特别的小,而且相应的列有索引时,那么就走索引,走RBO的方式。

First Rows:它与Choose方式是类似的,所不同的是当一个表有统计信息时,它将是以最快的方式返回查询的最先的几行,从总体上减少了响应时间,

All Rows:也就是我们所说的Cost的方式,当一个表有统计信息时,它将以最快的方式返回表的所有的行,从总体上提高查询的吞吐量。没有统计信息则走基于规则的方式。

3、如何设定选用哪种优化模式

a、Instance级别

我们可以通过在init.ora文件中设定OPTIMIZER_MODE=RULE、OPTIMIZER_MODE=CHOOSE、OPTIMIZER_MODE=FIRST_ROWS、OPTIMIZER_MODE=ALL_ROWS去选用3所提的四种方式,如果你没设定OPTIMIZER_MODE参数则默认用的是Choose这种方式。

B、Sessions级别

通过SQL>ALTER SESSION SET OPTIMIZER_MODE=;来设定。

C、语句级别

这些需要用到Hint,比如:SQL>SELECT /*+ RULE */ a.userid,

2 b.name,

3 b.depart_name

4 FROM tf_f_yhda a,

5 tf_f_depart b

6 WHERE a.userid=b.userid;

4、为什么有时一个表的某个字段明明有索引,当观察一些语的执行计划确不走索引呢?如何解决呢?

A、不走索引大体有以下几个原因:

♀你在Instance级别所用的是all_rows的方式;

♀你的表的统计信息(最可能的原因);

♀你的表很小,上文提到过的,Oracle的优化器认为不值得走索引。

B、解决方法:

♀可以修改init.ora中的OPTIMIZER_MODE这个参数,把它改为Rule或Choose,重起数据库。也可以使用4中所提的Hint;

♀删除统计信息SQL>analyze table table_name delete statistics;

♀表小不走索引是对的,不用调的。

5、其它相关

A、如何看一个表或索引是否是统计信息SQL>SELECT * FROM user_tables

2 WHERE table_name=

3 AND num_rows is not null;

SQL>SELECT * FROM user_indexes

2 WHERE table_name=

3 AND num_rows is not null;

b、如果我们先用CBO的方式,我们应及时去更新表和索引的统计信息,以免生形不切合实的执行计划。SQL>ANALYZE TABLE table_name COMPUTE STATISTICS;

SQL>ANALYZE INDEX index_name ESTIMATE STATISTICS;

9.oracle数据库恢复技术 篇九

如何让Oracle数据库始终保持优良性能

★ 基于Oracle的国土资源基础数据组织方法

★ 如何掌握 Oracle 中的时间间隔型数据数据库教程

★ Oracle学习笔记

★ 保持乐观

★ 性能的近义词

★ Oracle工程师求职简历

★ 诀窍的近义词

★ 工程造价的诀窍

★ 保持本真议论文

10.探讨计算机数据库备份与恢复技术 篇十

【关键词】计算机数据库;备份;恢复技术;

【中图分类号】 TP309.3【文献标识码】A【文章编号】1672-5158(2013)02-0143-02

前言:随着计算机技术的迅猛发展,保证互联网时代的数据资料的安全已经成为一个迫在眉睫的问题。要恢复因不明入侵、计算机固件损坏、网络故障等原因造成的数据损坏,就必须要用到计算机数据库备份技术及恢复技术,以免造成重大损失。

1、计算机数据库的备份的含义

对计算机内部储存的数据资料进行复制并拷贝成副本的行为就是进行计算机数据库备份。通俗点来说,整合现有正常数据的过程就是进行计算机数据库备份。

计算机数据库备份按照不同的分类原则分为静态备份和动态备份两个方面,其具体含义如下:

(1)静态备份

在进行计算机数据库备份的过程中,要停止对数据库的其他操作,以便能在数据库备份过程中将当时的原始数据进行相对完整的保留的行为就是静态备份。

(2)动态备份

在进行计算机数据库备份的过程中,可与用户进行其他操作同时进行的,对数据做存取与修改行为的备份就叫做动态备份。因为动态备份常常被作为最能保存备份资料完整性的备份方式。所以在多数情况下,用户都会选择动态备份来进行计算机数据的备份工作。要将用户所需的数据资料恢复到原来状态,就要将在备份期间对数据进行修改活动的操作记录下来,建立日志文件,才能保证在后续的备份副本加上日志文件,以实现备份数据的恢复。

2、在计算机数据库备份的过程中主要应用的备份方式

顺应快速发展的现代社会的发展要求,数据备份技术也亟待提高,因此,要建立多种多样的备份方式,例如建立高性能系统,网络和SAN备份,归档和分级存储管理以及数据容灾系统等,实现保障数据资料安全的目的。

(1)高性能系统

为保证技术及数据及业务的不间断、不停顿,在计算机的软硬件出现单点故障时,通过集群软件达到业务切换就是所谓的高性能系统。

(2)网络备份

采用单机备份方式进行数据备份,通常情况下就是将单机备份的资料,直接与服务器连接,不仅会造成服务器负担过重的情况,所进行得备份操作也极不安全。为此就要采用安全性更高的备份方式,例如网络备份。网路备份就是在需要进行数据备份的,采用双机或集群运行方式的服务器主机上,利用网络将需要备份的数据上传至服务器进行备份的方式。

网络备份不仅减轻了需要进行数据备份的服务器负担,同时还提高了备份操作的安全性。不仅如此,网络备份还具有其他众多便捷的功能:网络备份既现定了定时备份,同时还实现能对备份介质进行管理、设置,以达到数据全自动备份的目的,在此基础上网络备份还能支持完全、增量、差量备份,丰富了局域网中的备份手段。

(3)SAN备份

在计算机系统和存储单元以及存储单元之间用来进行数据传输的网络系统被称为SAN。SAN备份是指在SAN存储区域网中,通过性能较高的光纤接口将计算机的磁盘裂口与前端服务器链接起来,再通过计算机管理人员的集中化管理,将存储系统强化备份以提高系统效率的备份方式。

(4) 归档和分级存储管理

归档和分级储存管理较之网络备份有很大区别。归档和分级存储管理主要用来解决因计算机存储空间不足而无法满足数据库存储需求的情况。其中归档指的是通过文档服务器对有价值的数据进行复制或打包以便保存。其主要作用就是保证有价值的数据能够得到长时间的存储。

(5)数据远程复制备份

在计算机系统遭到入侵、破坏或是因人为原因而误删、误改数据的情况下,计算机数据库中存储的数据的完整性就有可能发生损毁,这种情况还能够通过高性能系统的处理来避免,但在发生天灾人祸(例如地震、海啸、火灾、洪涝)的情况下,这些备份手段就显得无用武之地。为避免因天灾人祸而造成数据资料损毁、丢失的情况产生,有必要进行数据的远程复制备份。

数据远程复制备份是通过软件数据复制和硬件数据复制来实现的,它不仅能保证远程备份数据中心的数据备份副本与本地数据备份中心的数据备份副本完全一致,同时还能实现备份数据的远程故障诊断与分析,是避免数据丢失、损毁的好办法。

3、计算机数据库备份时间

进行计算机备份的时间有定期和不定期两种:

(1)定期备份

在固定的时间内进行数据备份工作就是通常所说的定期备份。通常情况下最好的备份方案是:每周、每月进行一次数据备份工作。

(2)不定期备份

根据计算机网络系统运行的实际情况,在计算计数据库运行的同时进行数据的备份工作就是所谓的不定期备份,不定期备份通常都需要建立备份日志文件,以免所备份的数据具有滞后性。

4、计算机数据库的恢复技术

(1)计算机数据的恢复方法

在进行计算机数据库的恢复过程中,要遵循一个基本原则:进行数据的重复储存。其具体方式有以下两种:

①转储和建立日志。

当计算数据库发生故障时,要对整个数据进行周期性复制。

②若出现数据库故障,则要根据实际情况进行处理操作

进行数据的周期性复制也要根据实际情况来进行处理,大体上分为两种:一是在数据库已经损毁的情况下,要将最后一次备份的数据备份副本装入磁盘然后根据日志记录将数据库之间的更新重新处理。二是在数据没有损毁,但数据完整性及其可靠性降低的情况下,就不需要进行周期性复制,只需要利用日志库中的日志文件作具体的撤销处理就可能帮助数据库恢复。

(2)计算机数据的恢复形式

我国现有的计算机恢复技术主要包括:全盘恢复、数据库和邮件系统恢复、个别文件恢复、重定向恢复等。每一种恢复技术都有其特定的恢复对象,也有其特定的恢复效果。

①全盘恢复

进行数据库的全盘恢复可以恢复数据库大部分的存储信息。它主要是在计算机数据库发生意外损毁(如服务器发生意外造成数据丢失,系统崩溃、重组、升级等情况)的情况下进行的恢复操作。

②数据库和邮件系统恢复

进行数据库和邮件系统的恢复时,不仅要通过备份软件进行恢复操作,同时还要在恢复数据后进行对数据的维护处理工作。这项恢复操作需要用户具有专业的操作技能水平,不仅如此还要熟悉掌握各种操作软件程序的操作流程。为此,用户需在进行数据库和邮件系统恢复的操作之前对被管理的数据库和邮件系统做好相应的备份处理,以保证数据恢复的完整性。

③个别文件恢复

个别文件的恢复较之数据库和邮件系统的恢复显得异常简单,只要利用网络备份副本就可以实现文件的恢复了。

④重定向恢复

重定向恢复就是指改变文件的恢复位置,将其恢复到与当时文件所处位置不同的位置或系统上去,以此来达到恢复目的的恢复操作。因此,重定向恢复的范围就囊括了全盘恢复、个别文件恢复以及数据库和邮件系统恢复。

结束语

我国社会经济、科学在不断发展的同时也极大地促进了我国计算机技术的发展与应用,计算机的逐渐普及便利人民、企业或其他企事业单位的生活、工作,但同时也增加了各企事业单位内部数据丢失、损毁的风险性,为保障计算机数据的安全性和完整性,加大对计算机数据库备份和恢复技术的探讨、研究就变得尤为重要。

参考文献

[1] 粱晓明. 试析计算机数据库的备份及恢复技术[J]. 计算机光盘软件与应用.2011(24)

[2] 胡晶. 计算机数据库的备份及恢复技术初探[J]. 信息安全与技术.2011(8)

11.oracle数据库恢复技术 篇十一

1 数据库的备份与恢复

Oracle数据库的备份主要是对数据库中重要的数据进行复制, 存放到其他介质上。当数据库发生故障时使用已经备份的数据库信息还原到数据库中, 使数据库恢复到发生故障前的状态。按照备份的方式不同, Oracle数据库的备份主要有物理备份和逻辑备份两种策略。物理备份是指通过拷贝重要的物理文件的方式对数据库信息进行备份, 以免物理故障造成损失。根据数据库的工作模式, 物理备份又可以分为非归档模式和归档模式, 即冷备份 (非归档模式) 和热备份 (归档模式) 。冷备份是在数据库关闭的情况下, 利用操作系统的拷贝功能将数据库中的所有文件进行复制, 也叫脱机备份。如果数据库需要不间断工作或者数据库可以关闭的时间不足以完成冷备份, 那么我们需要联机备份, 即热备份。热备份的条件是数据库必需在打开并且运行在归档模式的状态下。使用热备份的好处在于当一个数据文件或一个表空间处于备份状态时, 用户仍然可以访问其他部分。因为热备份备份数据文件和归档日志等文件, 数据库恢复可以一直进行到最后一个归档日志, 实现无数据损失恢复, 称为完全恢复。当然热备份的恢复也可以进行到某一时刻就停止恢复, 称为不完全恢复。如果要对Oracle的版本进行升级或更换数据库运行的环境, 则可以使用Oracle Export程序将数据从数据库中抽取出来存放在一个二进制文件中, 也就是逻辑备份。逻辑备份的数据只能基于备份时刻进行数据转储, 所以恢复时也只能恢复到备份时保存的数据。

2 备份与恢复方法

2.1 冷备份与恢复

冷备份是指关闭数据库的备份, 又称脱机备份或一致性备份, 在冷备份开始之前数据库必须彻底关闭。关闭操作必须用带有normal、Transaction、immediate选项的shutdown来执行。备份具体步骤:

1) 启动SQL*Plus, 以SYSDBA身份登录数据库。

SQL>connect sys/sys@oracle as sysdba;

2) 关闭数据库

SQL>shutdown immediate;

3) 复制以下文件到相应的磁盘:所有数据文件 (DATA FILE) 、所有控制文件 (CONTROL FILE) 、所有联机重做日志文件 (REDO LOG)

4) 启动数据库SQL>startup;

恢复具体步骤:

1) 关闭数据库

SQL>shutdown immediate;

2) 将备份的数据还原到原来所在的位置。

3) 启动数据库

SQL>startup;

冷备份的优点是容易归档, 备份与恢复迅速容易维护, 安全性高。它的不足是单独使用时只能提供到某一时间点上的恢复, 不能表或用户恢复且必需关闭数据库。若备份到外部存储设备速度会很慢。

2.2 热备份与恢复

由于冷备份需要关闭数据库, 所以很多馆都选择热备份。在进行热备份之前要确保数据库已经处于归档模式。

首先以SYSDBA身份链接数据库, 然后执行ARCHIVE LOG LIST命令, 查看当前数据库是否处于归档模式。如果没有处于归档模式, 需要先将数据库转换为归档模式。

将数据库的日志操作模式设置成归档模式并将归档方式设置成自动的。具体步骤如下:

1) 关闭数据库, 并修改参数文件。

2) 启动数据库到装载状态

热备份的具体步骤:

1) 将数据库的某个表空间 (以exa表空间为例) 设置为热备份状态。

SQL>alter tablespace exa begin backup;

2) 在操作系统中将该表空间对应的所有数据文件备份。

3) 结束表空间备份状态。

SQL>alter tablespace exa end backup;

4) 备份控制文件。

SQL>alter database backup controlfile to‘D:oraclebacku.bkp’;

热备份恢复的具体步骤:

1) 将表空间设置为脱机状态。

SQL>alter database datafile‘D:oracleoradataorclexa.dbf’offline;

2) 将备份的数据文件复制到原来的目录, 并覆盖原来的文件。

3) 使用RECOVER命令进行介质恢复。

SQL>recover datafile‘d:oracleoradataorclexa.dbf’;

4) 介质恢复完成后, 将表空间恢复为联机状态。

SQL>alter database datafile‘d:oracleoradataorclexa.dbf’online;

5) 将数据库修改为打开状态。

SQL>alter database open;

如果数据库库正常打开, 说明已经恢复成功。热备份的优点是不需要关闭数据库备份恢复精确度高, 根据日志可以恢复某一时间点上 (精确到秒) 。它的不足是过程复杂, 存放归档文件需要相当多的空间, 操作不允许失误, 若备份不成功, 所得结果不可用于时间点的恢复。

2.3 逻辑备份与恢复 (exp/imp)

导入/导出 (IMP/EXP) 是Oracle最古老的两个命令行工具, 导出是通过EXPORT工具读取数据库并输出到一个二进制文件, 可以选择导出整个数据库或指定用户或指定表。EXP备份只能由IMP实用程序实现恢复。IMPORT工具会读取由EXPORT工具生成的二进制文件并执行文件中的命令, 可以导入全部或部分数据。

使用EXP和IMP命令进行数据库的逻辑备份与恢复有3种操作方式:交互式、命令行模式和参数模式。交互式模式就是跟计算机进行交流。执行EXP (或IMP) 命令后, 接着系统会提示输入用户名和口令, 按提示一步一步完成即可。参数模式其实是将命令行后面所带的参数写在一个后缀名为parfile的参数文件中, 执行EXP (或IMP) 命令时调用此参数文件即可。下面我们以命令行模式为例:

Exp user/password file=d:test.dmp

此时导出的全库数据, 也可以导出某个用户 (U) 或某个表格 (T) 的数据。

导出备份又可以分为3种类别:

1) 完全导出 (Complete Export) 。这种方式将把整个数据库文件导出备份。

exp user/password inctype=complete file=20100725.dmp

2) 增量型导出 (Incremental Export) 。这种方式将只会备份上一次备份后改变的结果。

exp user/password inctype=incremental file=20100725.dmp

3) 累积型导出 (Cumulative Export) 。这种方式是导出自上次完全导出后数据库变化的信息。

exp user/password inctype=cumulative file=20100725.dmp

逻辑恢复是逻辑备份的一个逆过程, 需要重建数据库结构, 然后执行IMP即可。

逻辑备份与恢复的优点是能够针对行对象进行备份, 能够跨平台实施备份操作并迁移数据库, 数据库可以不关闭。导出方式并不能保护介质失效, 它仅仅是逻辑上的备份, 这是它的缺陷。

3 结论

根据冷备份、热备份和逻辑备份各自的优缺点, 可以制定一个比较完整的备份策略。根据我校的情况, 我馆以逻辑备份为主, 脱机备份为辅, 在多个不同的物理磁盘上存有备份文件, 并做远程备份。为了方便, 备份文件应以日期命名, 根据备份的内容和日期将文件归类同一编号。不管采用何种策略, 目的都是在不影响或很少影响数据库可用性的情况下尽量提高备份操作的效率。

摘要:本文介绍了Oracle数据库的冷备份、热备份、逻辑备份的备份和恢复方式及各自的优缺点。

关键词:数据库备份,冷备份,热备份,逻辑备份

参考文献

[1]孙风栋, 等编著.Oracle数据库基础教程[M].北京:电子工业出版社, 2003.

[2]盖国强著.Oracle数据库管理、优化与备份恢复[M].北京:人民邮电出版社, 2007, 9.

[3]Sam R.Alapati著, Oracle10g数据库管理艺术[M].钟鸣等译.北京:人民邮电出版社, 2007, 9.

12.oracle数据库恢复技术 篇十二

以下的文章主要是介绍在Oracle数据库学习中的六条经验总结,其实想学好Oracle数据库并不是一件很困难的事情,很多人都认为Oracle数据库的体系过于庞大,在学习的过程中摸不到头绪,以下的文章就会给你提供相关的解答方法。

1、如果有一定的数据库基础知道SQL是怎么回事,即使写不出来简单的SQL,但可以看动它们,你就可以跳到2。否则请先看一下数据库基础和SQL语言,不需要很深,更不需要去记忆那些复杂的SQL命令,这些可以留在以后边应用边学习、记忆。

2、要想学好Oracle数据库,首先要学习ORACLE的体系结构,现在你不需要深入理解它们,但要分清几个关键的概念:instance&database, memory structure,process&those files,such as data file, control file,init parameter file etc以及database ,tablespace,data file和tablespace,segmnet,extent & block它们之间的关系。

当然还要分清undo tablespace & redo log file等,对于很多初学者来说,能够对这些概念有个较为清晰的认识并不是一件容易的事,而这些并非Oracle的全部。

3、是有关ORACLE的一些基本概念,下面要学习的是一些简单的的实际操作,就是如何去管理ORACLE数据库,当然不是管理全部的ORACLE。在此过程中你将对SQL和ORACLE体系结构有个更深入的了解。

4、到了这一步你基本上算是初步掌握了ORACLE,下面将要根据你的方向来具体学习其它的ORACLE知识了。如果你是开发人员,则需要更多地去学习PL/SQL以及DEVELOPER,而这将是一门新的课程。如果你是一名DBA,请继续。

5、现在你可以根据自己的实际情况,进行有选择的学习,也就是说下面的内容没有特别顺序要求。可以选择深入学习ORACLE数据库的管理、备份与恢复、性能调整、网络等。当然在学习这些知识的过程中,如果有实际的工作更好,这样你可以在实际中成长,学会TROUBLE SHOOTING。

13.oracle数据库恢复技术 篇十三

由于Oracle数据库备份有三种方式,每种方式具有不同的恢复特性,因此应集成数据库与文件系统备份,集成逻辑备份和物理备份。

一、备份策略

1.在操作系统级,使用大容量磁盘阵列,通过磁盘映像技术使每一个数据库文件自动分布于每个物理磁盘。这样,当某个磁盘出现物理损坏时,操作系统会自动引发映像磁盘来取代失效的磁盘,保证数据库的正常运行。

由于我们使用的是双服务器,因此在另一服务器上保留一个备份数据库。备份数据库与正在使用的数据库具有相同的参数状态,这样在数据库故障中,只需作必须的最少恢复,最大限度地缩短了恢复时间。

在多个不同的物理磁盘上保持多个控制文件的备份。控制文件在数据库恢复期间用于引导Oracle,因此保持多个控制文件的备份,可以确保在出现磁盘故障后,能有可用的控制文件用于数据库恢复。

使数据库运行在ARCHIVELOG(归档)方式下,归档日志存放于另一映像的逻辑磁盘上。

每晚进行一次联机备份操作,备份所有数据文件、所有归档日志文件、一个控制文件。

每周进行一次输出(Export)操作。

二、恢复策略

1.实例失败

从实例失败中恢复是自动进行的。实例失败一般是由服务器失败引起的,当数据库实例失败后,重新启动服务器,启动数据库,Oracle检查数据文件和联机日志文件,并把所有文件同步到同一个时间点上,

2.磁盘失败

如果丢失的是控制文件,只要关闭数据库,从保留有控制文件的地方拷贝一份即可。

如果丢失的是数据文件,可用前一天晚上的联机备份进行恢复,步骤如下:

1)从备份中把丢失的文件存在原来位置。

2)加载数据库

3)恢复数据库

4)打开数据库

3.错误删除或修改对象

在这种情况下,一般希望能追溯返回到错误发生前的那个时间点上。这叫做时间点恢复。完成恢复的步骤如下:

1)从当前数据库输出(Export),输入(Import)到备用数据库,使备用数据库与当前数据库保持一致。

2)向前滚动备用数据库到错误发生前的那个时间点。

3)从备用数据库输出受错误影响的逻辑对象。

4)使用上一步产生的输出文件输入那些受影响的对象到当前数据库。

MILY: 宋体; mso-bidi-font-family: 宋体“>三、用户角色管理

1.对所有客户端按工作性质分类,分别授予不同的用户角色。

2.对不同的用户角色,根据其使用的数据源,分别授予不同的数据库对象存取权限。

基于以上的安全策略,可以防止非法用户访问数据库,限制合法用户操纵数据库的权限;可以使数据库在故障发生后,不会丢失任何数据,并能使数据库迅速恢复到故障发生前的那一时间点上,最大限度的保证数据的安全和整个系统的连续运行。

14.oracle数据库恢复技术 篇十四

数据库安全是整个计算机系统安全的重要环节, 数据库系统安全保护措施是否有效已经成为现代数据库系统的主要性能指标之一。随着计算机技术和网络技术的不断发展, Oracle数据库以其优异的性能在很多企事业单位和政府部门得到了广泛应用。

虽然Oracle数据库性能稳定, 正常情况下能保证数据的安全性和正确性, 但由于一些意外情况如计算机软硬件故障、密码泄露和黑客攻击等原因, 有可能会影响数据库系统的操作和数据库中数据的正确性, 使Oracle数据库系统不能正常运行, 甚至导致整个系统崩溃。因此, 保证数据库的安全显得尤为重要, 高效安全的备份存储和备份重要数据, 保证数据的安全, 当发生故障时, 能用最短的时间进行恢复并能急需提高数据库服务就成为整个应用系统安全中的重要组成部分。

2 Oracle数据库安全

Oracle数据库安全主要包括两部分, 一是数据的安全性, 当用户对数据库进行误操作、数据存储介质损坏或数据库系统发生故障时, 能够利用备份数据实现恢复, 保证数据库中的数据不会丢失或发生错误。二是要保证数据库数据不要被非法用户窃取, 及早发现系统可能存在的各种漏洞, 防止黑客侵入数据库系统。

3 数据库安全技术及策略

3.1 身份认证

身份认证是网络环境多用户系统中重要的安全机制, 身份认证主要包括用户名称和鉴定, 针对用户的不同身份决定用户拥有哪些系统的使用权限。在Oracle数据库系统, 对数据的任何访问, 必须先要以合法的用户名和口令进行登录, 口令以加密的格式存储在数据字典中, 通过这种访问方式, 可以有效防止非法用户侵入数据库系统。

用户可以根据需要进行创建, 但必须要对用户授予权限才能正确访问数据库, 需要根据用户的不同情况和需要进行授权。当数据库用户比较多, 但权限又基本相同时, 单独授权就比较繁琐, 可以利用角色, 角色是一组权限的集合, 可以实现对权限的集中管理。把需要授予用户的所有权限创建一个角色, 然后再把角色授予用户, 那么用户就拥有了这个角色里包含的所有权限。这样做的优点是当这些用户的权限需要改变时, 只修改角色里的权限即可, 用户的权限随着角色的改变而改变, 提高了效率。

为了避免非法用户侵入数据库系统, 数据库管理员要尽可能及时发现并堵住数据库可能存在的各种漏洞。通过授予权限来限制用户的操作, 并保护好系统管理员如SYS和SYSTEM等用户的用户名和口令。

3.2 数据保护

数据保护即数据的备份和恢复, 是Oracle数据库的重要操作。通过对数据库文件进行备份, 当计算机软硬件发生故障时, 可以利用备份文件实现数据库的恢复。Oracle数据库主要有数据文件、控制文件和日志文件等。数据文件存放数据库中所有的用户数据和数据字典等信息, 日志文件存放数据库的修改信息, 每个事务的开始和结束标记及更新操作都要进行记录, 以便日后进行数据库的恢复操作。控制文件用于描述数据库的物理结构, 存储有数据库名称、数据文件和日志文件相关信息、数据库创建日期等, 控制文件随着数据库的更新而被自动更新。

3.2.1 Oracle数据库的备份

Oracle数据库在运行过程中, 可能因为磁盘错误、用户错误或其他各种错误而引发故障, 为了避免此类事件对数据库造成损失, 必须对数据库系统事前做好备份。所谓备份就是数据库数据的一个副本, 这个副本包括了数据库中所有重要文件, 包括数据文件、控制文件、日志文件以及参数配置文件等。数据库的备份主要分为物理备份和逻辑备份, 其中物理备份又分为冷备份和热备份。

冷备份是一种简单的数据库备份方式, 备份时必须关闭数据库, 用户不能进行访问, 是对整个数据库文件的备份即完全备份。进行冷备份的步骤是首先关闭数据库, 然后对数据文件、控制文件、各种参数文件及归档日志文件拷贝到备份设备上, 接着重新启动数据库即可。

热备份即正在运行数据库的备份, 要求数据库必须运行在归档模式。热备份既可实现表空间级又可实现数据文件级备份, 备份时数据库仍然可以使用, 备份时间短, 可达到秒级恢复 (即恢复到某一时间点上) , 可以对几乎所有的数据库实体恢复。

逻辑备份指将数据库对象以Oracle提供的内部格式写入操作系统支持下的二进制文件, 格式为dmp。逻辑备份比较灵活, 可以指定对特定对象 (表、用户或整个数据库数据) 的备份, 通常用于转储数据或作为物理备份的一种有益补充。逻辑备份用EXP命令, 也可以使用集成在Oracle企业管理器中的导出向导实现。

3.2.2 Oracle数据库的恢复

Oracle在运行过程中, 可能会发生各种故障, 主要有系统故障、介质故障和用户故障。系统故障指系统在运行过程中, 发生操作系统错误、突然停电等意外情况, 造成所有正在运行的事务都以非正常方式终止, 内存缓冲区中的数据全部丢失, 但外设上的数据未受损失。通常情况下, 在数据库重新启动时, 恢复程序按照日志文件的记录项自动完成恢复操作。因此系统故障的恢复一般不需用户进行干预。

介质故障指系统在运行过程中, 由于硬件设施损坏, 造成数据库中的数据全部或部分丢失, 介质故障的危害性最大, 但发生的可能性较小。介质故障的恢复, 需要由数据库管理员手工装入最新的数据库备份和日志文件备份, 并执行恢复命令。

用户故障指系统在运行过程中, 可能由于应用程序的错误或手工误操作, 造成数据库中的数据被删除或损坏。例如删除数据库中的重要的表, 或者误删除了表中的数据。用户故障的恢复可以设置合理的恢复策略, 由系统按照日志文件记录的内容进行恢复。通过对用户设置合理的权限, 也可以减少用户故障发生的可能性, 避免绝大多数用户故障的发生。

3.3 Oracle的审计机制

Oracle的审计机制用于监视用户对数据库所做的各种操作。审计信息记录在SYS用户的AUD$表中。利用记录在数据库中的审计信息, 可以审查可疑的数据库活动, 发现非法用户所进行的操作。为了节省资源和减少输入输出操作, 默认情况下数据库的审计功能是关闭的。可以通过修改参数文件, 把数据库审计控制参数audit_trail设置为True来启动审计功能。

参考文献

[1]刘超.Oracle数据库系统安全技术策略[J].软件, 2013 (4) .

15.oracle数据库恢复技术 篇十五

Database buffer cache主要用于存储数据文件中的数据块

数据库高速缓存的数据块是高速缓存与数据文件进行信息交换的基本单位,在Oracle数据库8i以前,数据块大小只有一种,而Oracle数据库9i以后支持2K,4K,8KB,16KB及32KB五种。

用命令SQL>SHOW PARAMETER DB可以显示当前数据库的BUFFER CACHE

数据库缓存和特点如下:

<1>.根据最近最少使用LRU.

<2>. 由DB_BLOCK_SIZE来指定大小。

<3>.ORACLE使用时是以块大小为单位进行数据存取的。

还包含以下一些独立的子缓存:

<1>.DB_CACHE_SIZE.

<2>.DB_KEEP_CACHE_SIZE.

<3>.DB_RECYCLE_CACHE_SIZE.

注:可以用Alter system set db_cache_advice=on;设置成根据系统的建议来指定大小。

REDO LOG FILE主要是用于重做日志

用命令SQL>SHOW PARAMETER LOG_BUFFER。

SQL>ALTER SYSTEM SET LOG_BUFFER_SIZE=60M。

用来显示或修改重做日志缓冲区的一些信息。

命令SQL>achive log list 可以查看数据库当前的归档模式。

LARGE POOL:

与JAVA POOL一样,都是作为系统可选的内存结构,由SGA来配置。

JAVA POOL:

当安装或使用JAVA时才用到。

ORACLE内存进程包括两个,一个是SGA,一个是PGA.

(1)。SGA在ORACLE实例启动时分配,是ORACLE实例的一个基本组件。

(2)。PGA是在当服务器进程启动时分配的。

进程结构:

<1>.USER PROCESS.用于用户与ORACLE SERVER交互的进程。

USER PROCESS必须与ORACLE建立连接后才可使用,不可与ORACLE SERVER交互。

<2>.SERVER PROCESS.

SERVER PROCESS在用户与服务之间建立连接后,为执行用户命令的一个进程。

<3>.BACKGROUND PROCESS.

后台进程:DATABASE WRITER (DBWn)用来把DATA BUFFER CACHE中的脏数据写回到数据库中。

(注:脏数据是被改变的数据。)

在以下情况下它会写数据库:

<1>.在发生CHECKPOINT同步。

<2>.脏数据达到阀值。

<3>.DATABASE BUFFER CACHE 自由空间太少了。

<4>.TIMEOUT (3秒钟。)

<5>.RAC PING REQUEST.

<6>.TABLESPACE OFFLINE.

<7>.TABLESPACE READONLY.

<8>.TABLE DROP OR TABLE TRUNCATE (表数据清空或表结构删除)。

<9>.TABLESPACE BEGIN BACKUP.

由SGA (包含DATABASE BUFFER CACHE,BACKGROUND PROCESS)-----> [ DBWn ]----> {data files,

control files, redo log file} ---->由此过程改变数据库中的数据。

LOG WRITER (LGWR) 日志写进程

在Oracle环境中

<1>.当COMMIT的时候。

<2>.当三分之一空间满时。

<3>.当日志有1MB需要重做时。

<4>.每3秒

<5>.BEFORE DBWn WRITES.(写数据前先写日志),

REDO LOG BUFFER----->LGWR--->DBWn

|--------------------------------------> REDO LOG FILES

SYSTEM MONITOR (SMON)系统监控进程

主要任务:

(1)。启动过程(假定DATABASE重启时)如果需要RECOVERY,则此进程会负责打开数据库,及回滚没有

提交的事务;以及rolls forward changes in the redo logs这些统称为:instance recovery.

(2)。对每3秒就对系统自由空间的整理。(COALESCES FREE SPACE EVER 3 SEC.)

(3)。清空临时段空间(DEALLOCATES TEMPORARY SEGMENTS)。

这个过程也是在系统启动过程中完成的。

PROCESS MONITOR (PMON) 进程监控进程

主要用于回滚异常终止的或被用户强制终止的事务。

<1>.rolling back the transaction.

<2>.releasing locks.释放锁。

<3>.releasing other resources.

<4>.restarts dead dispatchers.重启死掉的调度器。(在共享服务器中用)。

PMON (:Include in SGA)----------------------->PGA

CHECKPOINT (CKPT) 检查点进程

用来在数据库里实现同步,实现之前会强制将脏数据从内在里写到物理文件里。

<1>.会启动DBWn来写脏数据(SIGNALLING DBWn at CKPT.)

<2>.完后会更新DATAFILE的HEADER和控制文件的HEADER.而HEADER中有同步所需要的信息,即

CHECKPOINT的信息。

<3>.在ORACLE中,正常情况下,所有文件必须同期性地同步;靠CHECKPOINT来完成。

CKPT(作为后台进程包含在实例中)------------------DATABASE

(data files,control files,redo log files.)

| |______DBWn

|________LGWR

Archive PROCESS (ARCn) :归档进程(可选进程),当设置归档模式后,可用来自动备份在线日志,(归档日志是重做日志的备份。)

<1>.Automatically archives online redo logs when archiverlog mode is set.

(设置归档模式后,将自动备份在线日志)

在处理SQL语句时,注意以下过程:

<1>.用以下进程连接到实例。

用户进程(USER PROCESS)。

服务器进程(SERVER PROCESS)。

<2>.Oracle服务器进程组件的使用依赖于SQL语句的种类。

[1].查询语句会返回行。

[2].DML语句会记录这种改变。

[3].COMMIT保证了事务的RECOVERY.

<3>.并不是所有的SQL语句中所有的后台进程都会参与。

结论:

Oracle Server. Oracle服务器进程包含一些文件,进程和内存,在执行一条SQL语句时,并非所有这些都会用上,有些进程用于提高数据库的性能;一些用于当发生软件或硬件异常时恢复数据库;或应用于完成其他一些维护数据库的任务。ORACLE服务器包含ORACLE实例和ORACLE数据库。Oracle Instance: Oracle实例是用于联系后台进程和内在之间的活动,对数据库进行数据存取前必须先启动实例,每当实例启动时,SGA就被分配给它并启动了一些后台进程。后台进程执行10秒操作并监控有些进程以提供更好的性能。和可靠性。Oracle Database: 数据库包含了系统文件,也称数据库文件,其提供了用以存储数据库信息的实际物理存储区域,用数据文件保证了数据一致性,并在当实例发生失败时恢复数据库。

16.oracle数据库恢复技术 篇十六

IT策略中经常指出密码应该有最小的长度且应该包含大写字母、小字字母、数字和特殊字符的混合。

Oracle中应该避免将特殊字符@用于密码中,因为在Oracle中,@符号用来表明使用哪一台Oracle服务器。SQL *Plus连接语句的完整格式如下:

CONNECT username/password@alias

其中alias是一个Oracle Net别名,代表一个服务器、断口和实例名。

列表A显示了在密码中使用了@字符时,产生的错误:ORA-12154,“TNS:不能解析指定的连接标识符。”@符号被错误的用作Oracle Net别名,因为@之后的部分不是一个有效的别名从而产生错误。

列表 A

SQL>CREATE USER testuser1 IDENTIFIED BY “Cat”

2 DEFAULT TABLESPACE users

3 TEMPORARY TABLESPACE temp;

User created.

SQL>CREATE USER testuser2 IDENTIFIED BY “H@t”

2 DEFAULT TABLESPACE users

3 TEMPORARY TABLESPACE temp;

User created.

SQL>GRANT create session TO testuser1, testuser2;

Grant succeeded.

SQL>connect testuser1/cat

Connected.

SQL>connect testuser2/h@t

ERROR:

ORA-12154: TNS:could not resolve the connect identifier specified

Warning: You are no longer connected to ORACLE.

SQL>connect testuser2/“h@t”

Connected.

SQL>

The workaround is to enclose the password in quotes, as shown in the listing.

这个问题在Oracle 10g第二版中也存在,

同时,值得注意的是testuser1使用密码“cat,”也可以成功登录,即使他的密码是“cat.”在下一个主要发行11g中,Oracle计划用一个更安全的密码算法取代原来的算法,新的算法允许密码中使用真正的大写字母和小写字母。同时@问题也不会再出现。

17.oracle数据库恢复技术 篇十七

在企业经营过程中, Oracle数据库对企业发展是必不可少的, 具有一定的助力作用。但是, 在该数据库应用的过程中, 存在一定的安全问题, 从某种意义上来说, 应当注重数据库的安全防护。数据库安全防护工作的有效开展, 能够确保企业核心数据的安全管理, 一旦防护工作不够完善, 导致企业核心数据被黑客入侵、篡改等, 将会造成一系列不必要的损失, 对企业经营管理造成影响。一旦企业数据被同行业竞争对手获取, 将会造成一定的经济损失。鉴于此, 提高Oracle数据库的安全系数, 确保用户使用安全已成为当前重要的问题, 进而有效实现安全管理。无论是对各企业、公司, 还是对现阶段的整个社会发展, 提升Oracle数据库的安全管理, 都具有一定的现实意义。

二、探析Oracle数据库安全问题

针对当前Oracle数据库的安全问题来说, 主要包括两个部分:

第一, Oracle数据库系统的安全问题探析。该数据库系统的安全问题又包括两个方面, 通过这两个方面能够深入了解到Oracle数据库系统存在安全问题的原因, 这两个方面分别是数据库的存取以及数据库的使用。在用户使用过程中, 为了确保其自身的安全, 系统将会对用户的访问进行授权, 通过授权方可有效使用。在Oracle数据库系统中, 采用的安全机制种类较多, 通过安全机制的运用可以确保用户的安全使用, 比如, 角色分配机制以及资源限制机制等等。

第二, Oracle数据库数据安全探析。数据安全问题主要包括:①人为破坏。在使用过程中, 因为无意操作, 进而造成数据损坏;②意外损坏。这种损坏方式主要是事故灾害, 用户在使用过程中, 这种意外发生现象是不受控制的。比如, 在用户使用过程中, 应用程序存在bug现象;③恶意破坏。这种方式主要指的是黑客非法入侵以及内部技术人员的破坏等。所以, 针对这样的问题, 应采取一定的安全措施。

三、 Oracle数据库安全技术与策略

首先, 用户身份认证。在用户使用过程中, 常常会出现一些安全问题, 比如, 访问受限、非法入侵等等。之所以会存在这些问题, 主要是因为访问过程中没有对用户身份进行有效的明确规定, 在这样的情况下, 使得所有人员都可以随意通过网络连接端口进入数据库系统中, 进而对数据库中的数据信息进行检索与复制。所以, 针对这些问题应采取用户身份认证的策略, 从根本上解决数据库安全问题[1]。比如, 针对不同身份的用户采取不同的授权方式, 进而令用户拥有属于自己的使用权限。当用户进入Oracle数据库系统中时, 需要用户自行登录, 此时应输入权限设置时的用户名以及密码, 在这个过程中, 采取身份验证的策略, 能够确保Oracle数据库安全系数的提升。

其次, 采取数据恢复技术。这种安全技术形式主要是针对内存缓冲区, 对缓冲过程中造成的数据损坏现象进行修复, 同时对外部存储设备上丢失的数据采取一定的恢复措施, 予以紧急修复的技术形式。在用户使用过程中, 一旦Oracle数据库硬件发生故障, 便会直接导致存储硬盘中的一些相关数据丢失, 不仅如此, 一旦有黑客以及病毒等非法入侵, 便会导致数据无法正常有效使用。面对种种情况, 管理人员应当采取适当的解决方式, 以保证数据的安全管理。管理人员可以采取手动方式, 对最新数据库以及常用文件、信息等进行备份, 将完成备份的数据重新装入数据库, 并采取数据库恢复指令, 进而将丢失的数据信息予以还原, 降低安全隐患造成的影响。

结束语

通过本文的研究可以发现, Oracle数据库在应用过程中, 具有一定的制约, 其中以安全问题最为明显, 各种安全问题会严重威胁人们日常生活中的隐私以及信息安全。所以, 为了有效确保数据库的安全性能, 提升安全系数, 应采取通过身份认证的方式, 以真实的身份进入, 并采取数据恢复措施, 完善Oracle的审计机制等, 以此实现Oracle数据库的安全应用。在确定数据库安全性能提升以后, 能够有效确保数据安全, 进而避免因数据损坏、泄漏等造成的损失。

摘要:随着全球经济一体化进程的加速, 计算机网络的普及, 使得人们日常生活更为便利, 计算机网络已成为现代生活必不可少的重要组成部分。但是, 以Oracle为主的数据库在应用过程中, 存在一定的安全问题, 对用户隐私造成了一定的威胁。为了加强Oracle数据库的安全管理, 本文简述了Oracle数据库的重要影响, 探析了安全问题, 阐述了具体的安全技术及策略, 以期进一步促进研究工作的开展。

关键词:Oracle数据库,安全技术,数据恢复

参考文献

上一篇:给研究生导师的英语简历下一篇:医院监控方案