oracle 10g 只有数据的恢复过程

1、首先安装一个全新的ORACLE,包括服务名、SID,安装目录应最好与原来的ORACLE目录一致。请注意我是安装在D盘,请按照你的实际安装目录进行操作。同时我的所有操作都是在sqlplus 中进行。(注:不在同一目录下也可以)

A)SQL>sqlplus sys/naasdb as sysdba

2、alter database backup controlfile to trace; 备份当前数据库控制文件,控制文件一般备份到D:\oracle\product\10.2.0\admin\bstest\udump下,请注意最新一个就是了。

B)SQL> alter database backup controlfile to trace;

SQL> sqlplus sys/naasdb as sysdba

3、删除安装目录下所有的datafile、logfile.(oradata目录下的文件)

C)SQL>shutdown immediate

D)将新安装的oracle 数据目录C:\oracle\product\10.2.0\oradata\naasdb10

改成naasdb10_bak,在新建一个naasdb10 文件夹

E)将原来备份的数据拷贝到naasdb10 的oradata 目录下,删除相关的控制文件及日志文件。

4、删除原控制文件,重新创建一个控制文件,请注意修改各个路径的位置,如下:

CREATE CONTROLFILE SET DATABASE "NAASDB10" RESETLOGS NOARCHIVELOG

MAXLOGFILES 16

MAXLOGMEMBERS 3

MAXDATAFILES 100

MAXINSTANCES 8

MAXLOGHISTORY 292

LOGFILE

GROUP 1 'C:\oracle\product\10.2.0\oradata\naasdb10\REDO01.LOG' SIZE 50M,

GROUP 2 'C:\oracle\product\10.2.0\oradata\naasdb10\REDO02.LOG' SIZE 50M,

GROUP 3 'C:\oracle\product\10.2.0\oradata\naasdb10\REDO03.LOG' SIZE 50M

-- STANDBY LOGFILE

DATAFILE

'C:\oracle\product\10.2.0\oradata\naasdb10\SYSTEM01.DBF',

'C:\oracle\product\10.2.0\oradata\naasdb10\UNDOTBS01.DBF',

'C:\oracle\product\10.2.0\oradata\naasdb10\SYSAUX01.DBF',

'C:\oracle\product\10.2.0\oradata\naasdb10\USERS01.DBF',

'C:\oracle\product\10.2.0\oradata\naasdb10\TSGDDB.ORA',

'C:\oracle\product\10.2.0\oradata\naasdb10\GDIPNMS.ORA',

'C:\oracle\product\10.2.0\oradata\naasdb10\POWERDB',

'C:\oracle\product\10.2.0\oradata\naasdb10\QHDBF',

'C:\oracle\product\10.2.0\oradata\naasdb10\QHTMIS'

CHARACTER SET ZHS16GBK

F)将上面内容保存到文件d:\control.txt

G)startup nomount;启动到nomount状态

H)SQL>get d:\control.txt

K)SQL>/

L)SQL>recover database using backup controlfile until cancel;

输入cancel回车,后出现错误。

M) SQL>alter system set "_allow_resetlogs_corruption"=true

scope=spfile;

N) SQL>alter system set undo_management='manual' scope=spfile;

O)SQL>shutdown immediate

P)SQL>startup mount

Q)SQL>recover database;

R)SQL> alter database open;

5)现在已基本成功了,但是经过这样处理,为了安全起见,

最好用EXP先将数据全部导出,然后再重新安装ORACLE,然后再用IMP重新导入。

而当我导出时却出现错误:提示临时表空间为空。

用select name from v$tempfile;查看,确实为空,则:

如temp01.dbf已存在,则如下:

T)SQL>alter tablespace temp add tempfile '

C:\oracle\product\10.2.0\oradata\naasdb10\temp01.dbf'

否则:

T)SQL>alter tablespace temp add tempfile '

C:\oracle\product\10.2.0\oradata\naasdb10\temp01.dbf' size 10M;

再用EXP导出,成功!

oracle 备份恢复语句整理(最全)

Oracle备份恢复场景总结 一、数据文件、表空间恢复 1、数据库文件恢复 1>场景一: 问题描述: test.dbf丢失,有RMAN备份。 重启报错: Startup; ORA-01157: cannot identify/lock data file 5 - see DBWR trace file ORA-01110: data file 5: '/oracle/app/oracle/oradata/orcl/test01.dbf' run{ startup mount; allocate channel ch00 type 'SBT_TAPE'; restore datafile 5; recoverdatafile 5; alter database open; release channel ch00; }

2>场景二 问题描述: 模拟test表空间损坏,删除数据文件(恢复到新目录) 旧目录:/oracle/app/oracle/oradata 新目录: /home/oracle run{ allocate channel ch00 type 'SBT_TAPE'; sql 'alter database datafile 5 offline'; setnewname for datafile 5 to '/home/oracle/test01.dbf'; restoredatafile 5; switchdatafile 5; recoverdatafile 5; sql 'alter database datafile 4 online'; release channel ch00; } 说明: set newname for 告诉RMAN 还原数据文件的新位置在哪里。这个命令在restore 前出现。 switch datafile更新controlfile,记录这个新位置。这个命令要在recover 前出现

Oracle10g的数据迁移方案

Oracle10g的数据迁移方案 2009-03-27 08:18 Lora是Acme银行的数据库管理员,她现在在该银行高层管理团队高级会议上成了大家最关注的核心人物。这次会议的目的是确定一些方法,来使最终用户能够详细分析公司主数据仓库中的数据。会上提出的一种想法是创建几个小型数据集市--每个集市根据一个特定的职能范围存储数据--这样每个数据集市就可以由专门的团队来使用。 为了有效地实现数据集市的方法,数据专家必须能将数据快速、有效地放入数据集市中。该团队面临的挑战就是解决如何用数据仓库中的数据快速刷新数据集市中的数据,而这些数据集市又运行在各个结构不同的平台上。这就是Lora为什么出席会议的原因。她会为移动数据提出哪些可供选择的方法呢? 作为一名经验丰富、知识渊博的数据库管理员,Lora向与会者提供了三种可能的方法,分别是: 使用可移动表空间 使用数据泵(导入和导出) 拖出表空间 本文介绍Lora对这三种可选方法的解释,包括它们的实施细节和优缺点。 可移动表空间 Lora从可移动表空方法开始介绍。把整个表空间移动到目标系统的最快速方法是用FTP(文件传输协议)或rcp(远程复制)来简单地转移表空间的基本文件。但是,仅仅复制Oracle数据文件还不够,目标数据库必须识别出并导入文件以及相应的表空间,最终用户才能使用表空间数据。使用可移动表空间包括复制表空间文件和使它们中的数据在目标数据库中可用。 在考虑该方法之前必须进行一些审查。首先,对于要转移到目标系统的表空间TS1,它必须是自含式的(self-contained)。也就是说,在该表空间中表的所有索引、分区及其他从属于该表的各数据段都必须在该表空间内部。Lora解释说,如果一个表空间集合包含所有从属的数据段,那么就认为这个集合是自含式的。例如,如果表空间TS1和TS2要作为一个集合进行转移,TS1中的一个表在TS2中有一个索引,则这个表空间集合就是自含式的。但是,如果TS1中的一个表另一个索引在表空间TS3中,则该表空间集合 (TS1, TS2)就不是自含式的。 要移动表空间,Lora提议使用Oracle数据库10g中的数据泵导出(Data Pump Export)工具。数据泵是Oracle的新一代数据转移工具,它替换了早期的Oracle Export (EXP)和Import (IMP)工具。这些老的工具使用正则SQL来提取和插入数据,而数据泵则与它们不同,它使用能绕过SQL缓冲区的专用API,从而使操

ORACLE数据备份与数据恢复方案

O R A C L E数据备份与数据恢 复方案 Prepared on 24 November 2020

摘要 结合金华电信IT系统目前正在实施的备份与恢复策略,重点介绍电信业务计算机管理系统(简称97系统)和营销支撑系统的ORALCE数据库备份和恢复方案。 Oracle数据库有三种标准的备份方法,它们分别是导出/导入 (EXP/IMP)、热备份和冷备份。要实现简单导出数据(Export)和导入数据(Import),增量导出/导入的按设定日期自动备份,可考虑,将该部分功能开发成可执行程序,然后结合操作系统整合的任务计划,实现特定时间符合备份规划的备份应用程序的运行,实现数据库的本级备份,结合ftp简单开发,实现多服务器的数据更新同步,实现数据备份的异地自动备份。 关键字:数据库远程异地集中备份 目录

一、前言 目前,数据已成为信息系统的基础核心和重要资源,同时也是各单位的宝贵财富,数据的丢失将导致直接经济损失和用户数据的丢失,严重影响对社会提供正常的服务。另一方面,随着信息技术的迅猛发展和广泛应用,业务数据还将会随业务的开展而快速增加。但由于系统故障,数据库有时可能遭到破坏,这时如何尽快恢复数据就成为当务之急。如做了备份,恢复数据就显得很容易。由此可见,做好数据库的备份至关重要。因此,建立一个满足当前和将来的数据备份需求的备份系统是必不可少的。传统的数据备份方式主要采用主机内置或外置的磁带机对数据进行冷备份,这种方式在数据量不大、操作系统种类单一、服务器数量有限的情况下,不失为一种既经济又简明的备份手段。但随着计算机规模的扩大,数据量几何级的增长以及分布式网络环境的兴起,将越来越多的业务分布在不同的机器、不同的操作平台上,这种单机的人工冷备份方式越来越不适应当今分布式网络环境。 因此迫切需要建立一个集中的、自动在线的企业级备份系统。备份的内容应当包括基于业务的业务数据,又包括IT系统中重要的日志文件、参数文件、配置文件、控制文件等。本文以ORACLE数据库为例,结合金华电信的几个相关业务系统目前正在实施的备份方案,介绍ORACLE数据库的备份与恢复。 二、金华电信ORACLE数据库的备份与恢复方案 由于金华电信IT系统以前只采用逻辑备份方式进行数据库备份,速度较慢并且数据存储管理都很分散,甚至出现备份数据不完整的现象。为了提高备份数据的效率,提供可靠的数据备份,完善备份系统,保证备份数据的完整性,降低数据备份对网络和服务器的影响,对每个IT系统的备份数据进行集中管理,我们对备份工作进行了改进,将逻辑备份与物理备份相结合,在远程建立了一个异地集中、自动在线的备份系统即网络存储管理系统。(这里用到的物理备份指热备份)其具备的主要功能如下:(1)集中式管理 :网络存储备份管理系统对整个网络的数据进行管理。利用集中式管理工具的帮助,系统管理员可对全网的备份策略进行统一管理,备份服务器可以监控所有机器的备份作业,也可以修改备份策略,并可即时浏览所有目录。所有数据可以备份到同备份服

windwows server 2008安装oracle10g数据库

windwows server 2008安装oracle10g数据库操作步骤 1.Oracle 10g版本是10. 2.0.1.0 2.选择Oracle安装目录及数据库登录密码。如下图中红色标识,密码为:Test。 3.如果是windwows server 2008 系统下,点击“下一步”安装Oracle 10g 会提示“程序异 常终止,发生未知错误”。如下图所示: 关于此问题的解决方法如下: 3.1点击取消按钮,退出安装程序。

3.2.修改Oracle 10G(安装文件)\database\stage\prereq\db\refhost.xml 当打开refhost.xml 文件 在后面添加 3.3.到install目录中找到oraparam.ini文件,把 #Windows=4.0,5.0,5.1,5.2 修改成 #Windows=4.0,5.0,5.1,5.2,6.1 并在后面添加 [Windows-6.1-required] #Minimum display colours for OUI to run MIN_DISPLAY_COLORS=256 #Minimum CPU speed required for OUI #CPU=300 [Windows-6.1-optional] 4.右键setup.exe,属性->兼容性->以兼容模式运行这个程序Windows Server 2003,并以管 理员身份运行。如下图所示: 5.运行程序后,安装步骤2填写完后,点击“下一步”即可进入安装界面。如下图:

oracle数据库恢复方案

目录 数据库恢复方案 (1) 文档控制 (1) 一、相关概念 (3) 1,恢复的两个阶段 (3) 2,Oracle实例启动的三个阶段 (3) 3,RMAN信息的保存位置 (3) 二、完全恢复 (3) (一) 控制文件 (3) 1) 丢失部分控制文件: (3) 2) 丢失全部控制文件 (3) (二) 重做日志文件 (4) 1) 非当前使用的重做日志文件: (4)

2) 当前使用的重做日志文件(未归档): (4) (三) 数据文件 (4) 1) 无归档模式下的完全恢复 (4) 2) 归档模式下的完全恢复 (5) 三、不完全恢复 (6) (一) 基于SCN的不完全恢复 (6) 1) 准备工作 (6) 2) 使用RMAN进行恢复 (7) (二) 基于时间点的不完全恢复 (8) 1) 准备工作 (8) 2) 使用RMAN进行恢复 (8) 四、高级篇 (9)

(一) 使用RMAN进行异机同目录 (9) 1) 准备工作 (9) 2) 通过RMAN进行异机恢复 (10) (二)使用RMAN进行异机异目录 (11) 1) 准备工作 (11) 2) 通过RMAN进行异机恢复 (11) (三)使用RMAN进行在线数据块恢复 (14) 一、相关概念 1,恢复的两个阶段 数据库无论采取哪种方式进行恢复都分为Restore和Recover两个步骤。Restore(还原):把控制文件、重做日志文件和数据文件还原到正确位置。Recover(恢复):恢复还原后的数据文件,使数据库达到一致状态。

2,Oracle实例启动的三个阶段 Oracle实例启动经过三个阶段: l NOMOUNT(未装载):读入参数文件,验证参数文件中的目录是否存在。 l MOUNT(装载):读入参数文件指定位置的控制文件。 l OPEN(打开):验证控制文件中指定的重做日志文件和数据文件是否正确、数据文件是否一致,然后读入数据文件中的数据。 所以按照如下顺序使数据库正确打开。 1) SHUTDOWN(关闭)状态下,确保参数文件指定的文件夹存在,启动到NOMMUNT 状态。 2) NOMOUNT状态下,保证控制文件的位置和命名与参数文件中相同,控制文件中指定的重做日志文件和数据文件存在,然后启动到MOUNT状态。 3) MOUNT状态下,执行RMAN还原和恢复操作。

Oracle10g数据库选择题翻译 答案

第3章创建数据库 (1)后台进程跟踪文件的位置是C A.LOGFILE_DEST B.ORACLE_HOME C.BACKGROUND_DUMP_DEST D.CORE_DUMP_DEST (2)手动创建数据库的第一步是D A.启动实例 B.启动SQL*Plus 以SYSDBA身份连接Oracle C.查看系统的实例名 D.创建参数文件 (3)关于控制文件以下正确的是A A.Oracle建议至少二个控制文件存放在二个磁盘分区 B.Oracle建议至少二个控制文件存放在一个磁盘分区 C.Oracle建议存放一个控制文件 D.一个控制文件不足以运行数据库 (4)执行CREATE DA TABASE命令之前,应该发出的命令是B A.STARTUP INSTANCE B.STARTUP NOMOUNT C.STARTUP MOUNT D.以上都不是 (5)创建数据库时,Oracle如何得知需要创建的控制文件信息?A A.从初始化参数文件 B.从CREATE DATABASE 命令 C.从环境变量 D.从$ORACLE_HOME目录名为.ctl的文件 (6)哪个脚本文件创建数据字典视图?A A.catalog.sql B.catproc.sql C.sql.sql D.dictionary.sql (7)创建数据库时,DATAFILE子句能定义几个数据文件?D A.一个 B.二个 C.多个;仅一个属于系统表空间 D.多个;都属于系统表空间 (8)谁拥有数据字典?A A.SYS B.SYSTEM C.DBA D.ORACLE (9)在CREATE DA TABASE命令中,非法子句是B A.MAXLOGMEMBERS B.MAXLOGGROUPS C.MAXDATAFILES D.MAXLOGHISTORY (10)创建一个数据库至少需要几个控制文件?A

彻底删除oracle重新安装

彻底删除oracle,重新安装 下载vistar版本,解压,搜索refhost.xml文件,修改之。 当前任何版本的ORACLE客户端在任何版本的WINDOWS7上都不能正常完成安装。 主要是因为ORACLE安装的先决条件里操作系统版本不符合,但是这个疑问可以修改refhost.xml 处理,具体是在refhost.xml中添加 <!--Microsoft Windows 7--> <OPERATING_SYSTEM> <VERSION VALUE="6.1"/> </OPERATING_SYSTEM> 即可 -------------------------------------------------------------------- 彻底删除oracle: 1、开始->设置->控制面板->管理工具->服务停止所有Oracle服务。 2、开始->程序->Oracle - OraHome81->Oracle Installation Products->Universal Installer 卸装所有Oracle产品,但Universal Installer本身不能被删除 5、运行regedit,选择HKEY_LOCAL_MACHINE\SOFTWARE\ORACLE,按del键删除这个入口。 6、运行regedit,选择HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services,滚动这个列表,删除所有Oracle入口。 7、运行refedit,HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\Eventlog\Application,删除所有Oracle入口。 8、开始->设置->控制面板->系统->高级->环境变量删除环境变量CLASSPATH和PATH中有关Oracle的设定 9、从桌面上、STARTUP(启动)组、程序菜单中,删除所有有关Oracle的组和图标 10、删除\Program Files\Oracle目录 11、重新启动计算机,重起后才能完全删除Oracle所在目录(到这基本可以安装) 12、删除与Oracle有关的文件,选择Oracle所在的缺省目录C:\Oracle,删除这个入口目录及所有子目录,并从Windows 2000目录(一般为C:\WINNT)下删除以下文件ORACLE.INI、oradim73.INI、oradim80.INI、oraodbc.ini等等。 13、WIN.INI文件中若有[ORACLE]的标记段,删除该段 14、如有必要,删除所有Oracle相关的ODBC的DSN 15、到事件查看器中,删除Oracle相关的日志说明:如果有个别DLL文件无法删除的情况,则不用理会,重新启动,开始新的安装,安装时,选择一个新的目录,则,安装完毕并重新启动后,老的目录及文件就可以删除掉了。 ------------------------------------------------------------------

oracle10g创建数据库的方法

在Oracle中建库,通常有两种方法。一是使用Oracle的建库工具DBCA,这是一个图形界面工具,使用起来方便且很容易理解,因为它的界面友好、美观,而且提示也比较齐全。在Windows系统中,这个工具可以在Oracle程序组中打开(‖开始‖—―程序‖—― Oracle - OraDb10g_home1‖—― Configuration and Migration Tools‖—― Database Configuration Assistant‖),也可以在命令行(‖开始‖—―运行‖—―cmd‖)工具中直接输入dbca来打开。另一种方法就是手工建库,下面我会一一举例说明。 第一:手工建库 手工建库比起使用DBCA建库来说,是比较麻烦的,但是如果我们学好了手工建库的话,就可以使我们更好地理解Oracle数据库的体系结构。手工建库需要经过几个步骤,每一个步骤都非常关键。它包括: 1、创建必要的相关目录 2、创建初始化参数文件 3、设置环境变量Oracle_sid 4、创建实例 5、创建口令文件 6、启动数据库到nomount(实例)状态 7、执行建库脚本 8、执行catalog脚本创建数据字典 9、执行catproc创建package包 10、执行pupbld 11、由初始化参数文件创建spfile文件 12、执行scott脚本创建scott模式 做完了以上的步骤之后就可以使用―SQL>alter database open;‖打开数据库正常的使用了。下面,我将具体地把以上的几个步骤用实验展开来讲。 实验系统平台:Windows XP 数据库系统版本:Oracle Database 10G Oracle的安装路径:D盘创建的数据库名称:book 1、打开命令行工具,创建必要有相关目录 C:/>mkdir D:/oracle/product/10.2.0/admin/book

Oracle Export/Import数据库备份与恢复的三种方法

Oracle数据库备份与恢复的三种方法 Oracle数据库有三种标准的备份方法,它们分别是导出/导入(EXP/IMP)、热备份和冷备份。导出备件是一种逻辑备份,冷备份和热备份是物理备份。 一、导出/导入(Export/Import) 利用Export可将数据从数据库中提取出来,利用Import则可将提取出来的数据送回到Oracle数据库中去。 1、简单导出数据(Export)和导入数据(Import) Oracle支持三种方式类型的输出: (1)、表方式(T方式),将指定表的数据导出。 (2)、用户方式(U方式),将指定用户的所有对象及数据导出。 (3)、全库方式(Full方式),瘵数据库中的所有对象导出。 数据导入(Import)的过程是数据导出(Export)的逆过程,分别将数据文件导入数据库和将数据库数据导出到数据文件。 2、增量导出/导入 增量导出是一种常用的数据备份方法,它只能对整个数据库来实施,并且必须作为SYSTEM来导出。在进行此种导出时,系统不要求回答任何问题。导出文件名缺省为export.dmp,如果不希望自己的输出文件定名为export.dmp,必须在命令行中指出要用的文件名。 增量导出包括三种类型: (1)、“完全”增量导出(Complete) 即备份三个数据库,比如: exp system/manager inctype=complete file=040731.dmp (2)、“增量型”增量导出 备份上一次备份后改变的数据,比如: exp system/manager inctype=incremental file=040731.dmp

第六章 数据库恢复技术

第六章数据库恢复技术 第六章数据库恢复技术 6.1 事务的基本概念 6.2 数据库恢复概述 6.3 故障的种类 6.4 恢复的实现技术 6.5 恢复策略 6.6 具有检查点的恢复技术 6.7 数据库镜像 6.8 小结 6.1 事务的基本概念 一、什么是事务 二、如何定义事务 三、事务的特性 一、什么是事务 ?事务(Transaction)是数据库的逻辑工作单位,是用户定义的一组操作序列。 ?事务和程序是两个概念 –在关系数据库中,一个事务可以是一条SQL语句,一组SQL语句或整个程序–一个应用程序通常包含多个事务 ?事务是恢复和并发控制的基本单位 二、如何定义事务 ?显式定义方式 BEGIN TRANSACTION BEGIN TRANSACTION SQL 语句1 SQL 语句1 SQL 语句2 SQL 语句2 。。。。。。。。。。 COMMIT ROLLBACK

?隐式方式 当用户没有显式地定义事务时, DBMS 按缺省规定自动划分事务 事务结束 COMMIT 事务正常结束 提交事务的所有操作(读+更新) 事务中所有对数据库的更新永久生效 ROLLBACK 事务异常终止 –事务运行的过程中发生了故障,不能继续执行 回滚事务的所有更新操作 –事务滚回到开始时的状态 三、事务的特性(ACID特性) 事务的ACID特性: ?原子性(Atomicity) ?一致性(Consistency) ?隔离性(Isolation) ?持续性(Durability ) 1. 原子性 ?事务是数据库的逻辑工作单位 –事务中包括的诸操作要么都做,要么都不做 2. 一致性 事务执行的结果必须是使数据库从一个 一致性状态变到另一个一致性状态。 一致性与原子性 银行转帐:从帐号A中取出一万元,存入帐号B。 –定义一个事务,该事务包括两个操作

oracle 如何删除被误删物理文件的表空间

oracle 如何删除被误删物理文件的表空间.txt为什么我们在讲故事的时候总要加上从前?开了一夏的花,终落得粉身碎骨,却还笑着说意义。oracle 如何删除被误删物理文件的表空间.txt如果有来生,要做一棵树,站成永恒,没有悲伤的姿势。一半在土里安详,一半在风里飞扬,一半洒落阴凉,一半沐浴阳光,非常沉默非常骄傲,从不依靠从不寻找。如何删除alter database ... offline drop掉文件的表空间? QL> connect / as sysdba Connected to an idle instance. SQL> startup ORACLE instance started. Total System Global Area 336662768 bytes Fixed Size 450800 bytes Variable Size 117440512 bytes Database Buffers 218103808 bytes Redo Buffers 667648 bytes Database mounted. ORA-01157: cannot identify/lock data file 3 - see DBWR trace file ORA-01110: data file 3: '/home/oracle/oradata/esal/ts_cybercafe01.dbf' SQL> alter tablespace cybercafe offline; alter tablespace cybercafe offline * ERROR at line 1: ORA-01109: database not open SQL> alter database datafile '/home/oracle/oradata/esal/ts_cybercafe01.dbf' offline drop; Database altered. SQL> alter database open; Database altered. //如果还提示文件不存在的话,那就继续执行datafile的drop命令,直到数据库可以open 为止; SQL> select * from v$tablespace; TS# NAME INC ---------- ------------------------------ ---

Oracle数据库恢复

Oracle 数据库恢复 一、停止ORACLE数据库 用oracle用户登录,用sqlplus的sysdba用户登录,执行shutdown immediate oracle@JSBC-SIHUA-DB01:~> sqlplus /nolog SQL*Plus: Release 10.2.0.1.0 - Production on Mon Feb 6 14:02:45 2012 Copyright (c) 1982, 2005, Oracle. All rights reserved. SQL> conn /as sysdba Connected. SQL> shutdown immediate SQL>quit 停止监听 oracle@JSBC-SIHUA-DB01:~> lsnrctl stop oracle@JSBC-SIHUA-DB01:~> ps -ef |grep ora root 4655 4524 0 Nov11 ? 00:00:48 hald-addon-storage: polling /dev/sr0 (every 16 sec) root 42514 42162 0 11:40 pts/0 00:00:00 su - oracle oracle 42515 42514 0 11:40 pts/0 00:00:00 -bash root 42853 42815 0 12:02 pts/2 00:00:00 su - oracle oracle 42854 42853 0 12:02 pts/2 00:00:00 -bash root 42924 42889 0 12:03 pts/1 00:00:00 su - oracle oracle 42925 42924 0 12:03 pts/1 00:00:00 -bash oracle 42975 42854 0 12:09 pts/2 00:00:00 ps -ef oracle 42976 42854 0 12:09 pts/2 00:00:00 grep ora 二、数据库备份 #root用户,创建sihua.bak目录 JSBC-SIHUA-DB01:/oradata # mkdir sihua.bak JSBC-SIHUA-DB01:/oradata # chown oracle:dba /oradata/sihua.bak JSBC-SIHUA-DB01:/oradata # ll total 24 drwx------ 2 root root 16384 Sep 16 11:53 lost+found drwxr-x--- 4 oracle dba 4096 Nov 8 14:16 sihua drwxr-xr-x 2 oracle dba 4096 Nov 28 12:15 sihua.bak #oracle用户 JSBC-SIHUA-DB01:/oradata # su - oracle oracle@JSBC-SIHUA-DB01:~> cd /oradata oracle@JSBC-SIHUA-DB01:/oradata> cp -r sihua sihua.bak oracle@JSBC-SIHUA-DB01:/oradata> cd sihua.bak/ oracle@JSBC-SIHUA-DB01:/oradata/sihua.bak> cd sihua/

Oracle删除表的几种方法

Oracle删除表的几种方法 2010年07月27日星期二 13:07 引言: drop table books;的指令会将表放到回收站里, 用 flashback table "BIN$1Oiy3qm/QJubov1BwBUOgw==$0" to before drop; 就能恢复。 删除表: drop table books purge;是绕过回收站,彻底删除 建议你先 purge recyclebin; 清除当前用户的回收站,不会影响其他用户的回收站 或者 purge table 表名; 清除回收站内指定的表 正文: 删除表(记录和结构)的语名delete ———— truncate ————drop DELETE (删除数据表里记录的语句) DELETE FROM表名 WHERE 条件; 注意:删除记录并不能释放ORACLE里被占用的数据块表空间. 它只把那些被删除的数据块标成unused. 如果确实要删除一个大表里的全部记录, 可以用 TRUNCATE 命令, 它可以释放占用的数据块表空间 TRUNCATE TABLE 表名; 此操作不可回退. 相同点 truncate和不带where子句的delete, 以及drop都会删除表内的数据 注意:这里说的delete是指不带where子句的delete语句 不同点: 1. truncate和 delete只删除数据不删除表的结构(定义) drop语句将删除表的结构被依赖的约束(constrain),触发器(trigger),索引(index); 依赖于该表的存储过程/函数将保留,但是变为invalid状态.

2.delete语句是dml,这个操作会放到rollback segement中,事务提交之后才生效;如果有相应的trigger,执行的时候将被触发. truncate,drop是ddl, 操作立即生效,原数据不放到rollback segment中,不能回滚. 操作不触发trigger. 3.delete语句不影响表所占用的extent, 高水线(high watermark)保持原位置不动 显然drop语句将表所占用的空间全部释放 truncate 语句缺省情况下见空间释放到 minextents个 extent,除非使用reuse storage; truncate会将高水线复位(回到最开始). 4.速度,一般来说: drop>; truncate >; delete 5.安全性:小心使用drop 和truncate,尤其没有备份的时候.否则哭都来不 及 使用上,想删除部分数据行用delete,注意带上where子句. 回滚段要足够 大. 想删除表,当然用drop 想保留表而将所有数据删除. 如果和事务无关,用truncate即可. 如果和事务有关,或者想触发trigger,还是用delete. 如果是整理表内部的碎片,可以用truncate跟上reuse stroage,再重新导入/插入数据 oracle中删除表中的一列语句 alter table 表名 drop colum 列名

oracle10g优化数据库

一基本概念 1实例和数据库 (1)什么是实例:数据库启动以后,各个进程调入到内存中,各个进程之间的相互协调构成了实例 (2)什么是数据库:各个数据文件的集合: 10.0\oradata\%sid%\目下有各种文件(CTL(控制文件),LOG(日志文件),DBF(数据 文件)) (3)数据库的物理结构 系统的初始化参数:存放的位置为% oracle_home%\product\10.0\Db_1\database\initorcl.ora 数据库日志文件:分为联机日志文件(重做日志文件(redo日志文件):不停的覆盖)和归档日志文件(在数据库热备份的时候使 用);联机日志文件写完以后,依次往下写,全部写满,重新 覆盖原来的,此时就是非归档形式。

控制文件:控制日志文件和数据文件。数据库启动的时候,首先启动控制文件,然后由控制文件打开数据文件,对应数据中的形式就是:database mount ,然后是database open。 查看数据库得文件: 数据库的连接:sqlplus system/bjsxt as sysdba 对应的控制文件从v$controlfile视图中查看。 desc v$controlfile (查看描述) select status ,controlfile from v$controlfile。(查看内容) 对应的数据文件从v$datafile视图中查看。 desc v$datafile select status, name from v$datafile 对应的日志文件从v$logfile视图中查看。 desc v$logfile select member from v$logfile 2内存结构 (1)SGA(系统全局区)的各个缓冲区

实验8 Oracle数据库备份与恢复

实验8 Oracle数据库备份与恢复 1 实验目的 (1)掌握Oracle数据库各种物理备份方法。 (2)掌握Oracle数据库各种物理恢复方法。 (3)掌握利用RMAN工具进行数据库的备份与恢复。 (4)掌握数据的导入与导出操作。 2 实验要求 (1)对BOOKSALES数据库进行一次冷备份。 (2)对BOOKSALES数据库进行一次热备份。 (3)利用RMAN工具对BOOKSALES数据库的数据文件、表空间、控制文件、初始化参数文件、 归档日志文件进行备份。 (4)利用热备份恢复数据库。 (5)利用RMAN备份恢复数据库。 (6)利用备份进行数据库的不完全恢复。 3 实验步骤 (1)关闭BOOKSALES数据库,进行一次完全冷备份。 select file_name from dba_data_files; select member from v$logfile; select value from v$parameter where name='control_files';

(2)启动数据库后,在数据库中创建一个名为cold表,并插入数据,以改变数据库的状态。 CREATE TABLE COLD( ID NUMBER PRIMARY KEY, NAME VARCHAR2(25) );

(3)利用数据库冷备份恢复BOOKSALES数据库到备份时刻的状态并查看恢复后是否存在cold表。 (4)将BOOKSALES数据库设置为归档模式。 shutdown immediate 正常关闭数据 startup mount;将数据库启动到mount状态 3)、关闭flash闪回数据库模式,如果不关闭的话,在后面关闭归档日志的时候就会出现讨厌的ora-38774错误。 alter database flashback off alter database archivelog;发出设置归档模式的命令 alter database open;打开数据库 再次正常关闭数据库,并备份所有的数据文件和控制文件 archive log list;在将数据库设置为归档模式后,可以执行此命令进行确认 Database log mode 为Archive Mode说明当前的数据库为归档模式 Automatic archival为Enable说明启动了自动归档。

第10章 数据库恢复技术(习题集)

第十章数据库恢复技术(习题集) 二、选择题 1、一个事务的执行,要么全部完成,要么全部不做,一个事务中对数据库的所有操作都是一个不可分割的操作序列的属性是(A)。 A. 原子性 B. 一致性 C. 独立性 D. 持久性 2、表示两个或多个事务可以同时运行而不互相影响的是(C)。 A. 原子性 B. 一致性 C. 独立性 D. 持久性 3、事务的持续性是指(B) A.事务中包括的所有操作要么都做,要么都不做。 B.事务一旦提交,对数据库的改变是永久的。 C.一个事务内部的操作对并发的其他事务是隔离的。 D.事务必须是使数据库从一个一致性状态变到另一个一致性状态。 4、SQL语言中的COMMIT语句的主要作用是(C)。 A. 结束程序 B. 返回系统 C. 提交事务 D. 存储数据 5、SQL语言中用(B )语句实现事务的回滚 A. CREATE TABLE B. ROLLBACK C. GRANT和REVOKE D. COMMIT 6、若系统在运行过程中,由于某种硬件故障,使存储在外存上的数据部分损失或全部损失,这种情况称为(A)。 A. 介质故障 B. 运行故障 C. 系统故障 D. 事务故障 7、在DBMS中实现事务持久性的子系统是(D)。 A. 安全管理子系统 B. 完整性管理子系统 C. 并发控制子系统 D. 恢复管理子系统 8、后援副本的作用是(C)。 A. 保障安全性 B. 一致性控制 C. 故障后的恢复 D. 数据的转储 9、事务日志用于保存(C)。 A. 程序运行过程 B. 程序的执行结果 C. 对数据的更新操作 D. 数据操作 10、数据库恢复的基础是利用转储的冗余数据。这些转储的冗余数据包括(C)。 A. 数据字典、应用程序、审计档案、数据库后备副本 B. 数据字典、应用程序、审计档案、日志文件 C. 日志文件、数据库后备副本 D. 数据字典、应用程序、数据库后备副本 11、数据恢复最常用的技术是(A )。 A.数据转储和登记日志文件 B.数据转储和备份

Oracle误删数据的恢复

有很多原因导致了数据记录的误删,怎样恢复误删的记录呢?先来看看这个概念: SCN(系统改变号),它的英文全拼为:System Change Number ,它是数据库中非常重要的一个数据结构。 SCN提供了Oracle的内部时钟机制,可被看作逻辑时钟,这对于恢复操作是至关重要的 注释:Oracle仅根据 SCN 执行恢复。 它定义了数据库在某个确切时刻提交的版本。在事物提交时,它被赋予一个唯一的标示事物的SCN 。一些人认为 SCN 是指, System Commit Number ,而通常 SCN 在提交时才变化,所以很多情况下, 这两个名词经常被交替使用。 究竟是哪个词其实对我们来说并不是最重要的,重要的是我们知道 SCN 是Oracle 内部的时钟机制, Oracle 通过 SCN 来维护数据库的一致性,并通过SCN 实施 Oracle 至关重要的恢复机制。 具体执行流程我们可从以下几个示例图中体会; 1.原表记录 $ sqlplus eygle/eygle SQL*Plus: Release 10.1.0.2.0 - Production on Wed Mar 30 08:52:04 2005 Copyright (c) 1982, 2004, Oracle. All rights reserved. Connected to: Oracle Database 10g Enterprise Edition Release 10.1.0.2.0 - 64bit Production With the Partitioning, OLAP and Data Mining options SQL>select count(*) from t1; COUNT(*) ---------- 9318 2.误删除所有记录 并且提交更改。

Oracle数据库文件及恢复方法

1参数文件 对于参数文件,启动根据如下顺序查找参数文件,先查找spfile.ora,然后查找init.ora,若两者均查找不到,则无法创建和启动instance。确认当前使用的是spfile/pfile可通过sql语句查询(show parameter spfile) 一般情况下pfile保存在$ORACLE_HOME/dbs下,其中内容制定SPFILE位置,SPFILE保存在裸设备上,主被机共享。参数文件中保存数据库启动的初始参数,如控制文件位置等。 1.1参数文件恢复: 如果损坏或丢失,从其他机器拷贝一个到$ORACLE_HOME/dbs %sqlplus / as sysdba SQL>startup pfile=’/dbs/’; 2控制文件 数据库启动到nomount状态后,可以查询v$parameter视图,获得控制文件信息,这部分信息来自启动的参数文件,oracle从参数文件spfile/pfile中获得控制文件的位置信息,找到控制文件,启动到MOUNT状态下,可以查询v$controlfile视图获得关于控制文件的信息,可以通过sql语句(select * from v$controlfile;),数据库读取控制文件controlfile 中的内容,并按照控制文件中指定的参数找到相应的数据文件,并启动数据库的归档或非归档状态。 控制文件中包含的内容 数据库的名字、ID、创建的时间戳

表空间的名字 联机日志文件、数据文件的位置、个数、名字 联机日志的Sequence号码 检查点的信息 撤销段的开始或结束 归档信息 备份信息 2.1控制文件恢复: 损坏或丢失部分控制文件: SQL>shutdown immediate; SQL>startup nomount; 修改数据库控制文件,将坏的那个排除在外: SQL>alter system set control_files='+DG_ORA/ora11g/','+DG_ORA/ora11g/' scop e=spfile"; SQL>alter database open; 损坏或丢失全部控制文件: (获取恢复脚本SQL>alter database backup controlfile to trace;) STARTUP NOMOUNT CREATE CONTROLFILE REUSE DATABASE "ORA11G" NORESETLOGS FORCE LOGGING ARCHIVELOG MAXLOGFILES 200 MAXLOGMEMBERS 3 MAXDATAFILES 1024 MAXINSTANCES 8 MAXLOGHISTORY 2920 LOGFILE GROUP 1 '+DG_ORA/ora11g/ora_redo01_1' SIZE 1000M BLOCKSIZE 512, GROUP 2 '+DG_ORA/ora11g/ora_redo02_2' SIZE 1000M BLOCKSIZE 512, GROUP 3 '+DG_ORA/ora11g/ora_redo03_3' SIZE 1000M BLOCKSIZE 512, GROUP 4 '+DG_ORA/ora11g/ora_redo04_4' SIZE 1000M BLOCKSIZE 512, GROUP 5 '+DG_ORA/ora11g/ora_redo05_5' SIZE 1000M BLOCKSIZE 512,

相关文档
最新文档