数据库的备份与恢复(oracle 11g) (转)

一、       内容与步骤

(注意这里许多步骤需要同学们查资料,理解并消化后才能完成)

1、数据库创建

(1)   安装Oralce11g;

(2)   创建至少两个以上用户;

(3)   每个用户下建立三个以上表,并插入30条以上记录;

(4)   每个用户下创建至少一个存储过程,一个触发器。

2、逻辑备份与恢复

(1)用exp或expdp 导出某个用户;

(2)删除该用户;

(3)重新创建删除的用户(同名),并赋予相同的权限;

(4)用imp或impdp导入该用户的数据,并查询数据表,存储过程,触发器等是否与之前相同;

(5)用imp或impdp将导出的数据导入另一个用户中,并查询数据表,存储过程,触发器等是否在该用户下存在。

3、冷备份与恢复

(1)关闭数据库(SHUTDOWN IMMEDIATE);

(2)将所有数据文件、控制文件、联机重做日志文件拷贝到另一目录保存;

(3)重新启动数据库(STARTUP);

(4)进行数据库更新操作,如删除若干记录,新增若干记录;

(5)关闭数据库(SHUTDOWN IMMEDIATE);

(6)将之前保存的所有数据文件、控制文件、联机重做日志文件拷贝到原来位置,覆盖原来的文件;

(7)重新启动数据库(STARTUP);

(8)查询数据,看看更新后的数据是否存在。

4、基于日志的备份与恢复(注意这里只是一个简单的示例,实际的可能会很复杂)

(1)将数据库设置为归档日志模式;

(2)关闭数据库(SHUTDOWN IMMEDIATE);

(3)冷备份数据库,将所有数据文件、控制文件、联机重做日志文件拷贝到另一目录保存;

(4)重新启动数据库(STARTUP);

(5)进行数据库更新操作,如删除若干记录,新增若干记录;

(6)删除USERS.DBF数据文件;

(7)SQL>ALTER DATABASEDATAFILE ‘d:\Oracle\oracledata\orcl\users01.dbf’ OFFLINE;(将上述数据文件离线,注意路径取实际安装的数据库的路径)

(8)将之前保存的USERS.DBF数据文件拷贝到原来位置,覆盖原来的文件;

(9)执行数据库恢复命令

SQL>RECOVER DATAFILE ‘d:\oracle\oracledata\orcl\users01.dbf’;

(10)重新设置数据文件在线

SQL>ALTER DATABASEDATAFILE ‘d:\oracle\oracledata\orcl\users01.dbf’ ONLINE;;

(11)查询数据,看看更新后的数据是否存在。

下边为大致过程(21M滴(*^__^*) 嘻嘻……图):

1、数据库创建

开始菜单->oracle->配置和移植工具->dbca

选创建数据库

输入数据库名和sid,默认两者相同

取消选择配置EnterpriseManager

创建密码,也可选下边创建同一密码

根据需要选择是否添加示例方案

内存,练习用的,默认就行了

这里可以看到数据库中的控制文件(默认两个),日志文件(3个)数据文件位置(6个),先记下来,以后用得着,

点完成开始创建数据库,数据库脚本大概是方便以后再创建同样数据库的吧。

创建ing….

可以看到会启动新的服务。

创建完成,可以选择解锁账户,当然以后也可以解锁,这里我们暂时不操作,直接退出。

点左边有个加号的绿色图标创建连接,连接名可以随便起,sid就是刚才上边创建数据库时我们输入的那个,密码也是,其他默认就行,完了,可以点测试下能不能连接,这里没问题,再连接,。

如图,创建新用户。

输入密码和选择表空间。

并在角色选项卡勾选connect,resource,授予角色connect,resource.

在SQL选项卡中可以看到我们选的操作变成了SQL语句,点应用就开始执行这些语句了。

先新建几张表,可以在命令窗口中写SQL语句,也可以在表文件夹上右键->新建…

插入数十条SQL语句,这里我一条一条的插入,

编写一个简单的存储过程。

执行存储过程成功,返回当前时间。

编写一个触发器,在往student表中插入数据之前检测年龄是否合法,入不合法则拒绝插入数据。

触发器测试:

年龄合法,成功插入数据。

可以在表中看到插入的数据。

年龄不合法,插入数据失败。

年龄不合法,插入数据失败。

2、逻辑备份与恢复

用exp命令导出用户myuser01的所有对象

exp命令,其中systemASD1244是system密码,这里以system用户导出数据,owener表示要导出所有对象的用户,file参数表示导出的文件位置,当然以用户myuser01导出也可以,已system用户导出的数据貌似后边只能以system用户身份导入了

删除用户及其数据,然后再创建同名用户,授予相同权限,可以看到新创建的用户表文件夹中不存在表。

用imp导入该用户的数据。可以看到,数据表,存储过程,触发器等是否与之前相同;

用imp或impdp将导出的数据导入另一个用户myuser02中。

imp命令google一下就知道了,百度两下也可以

可以看到myuser01的数据表,存储过程,触发器等在该用户myuser02下存在。

3、冷备份与恢复

关闭数据库。

将所有数据文件、控制文件(这里是控制文件1)、联机重做日志文件拷贝到另一目录保存,为了方便后续试验,暂时放在同一目录下不同文件夹里边。

控制文件2位置。

保存备份的文件夹。

保存控制文件2在同一目录下,这里只是为了试验方便,实际应该存在不同磁盘或者其他硬盘中。

重新启动数据库并把myuser01的所有表的大部分记录都删除,只留下一条记录。

关闭数据库。

将之前保存的所有数据文件、控制文件、联机重做日志文件拷贝到原来位置,覆盖原来的文件。

重新启动数据库后,查看更新后的数据,发现回复都删除之前的状态了。

这里插点小说明,之前的控制文件2没更改,而把其他数据文件,控制文件,日志文件都更改,重新启动数据库时显示如下,这里要特别注意下,因为控制文件2位置与其他文件位置不同了,不要忘了备份。

4、基于日志的备份与恢复

将数据库设置为归档日志模式。

关闭数据库并冷备份数据库,重启数据库。

把用户myuser01所有表的记录都删除得只剩下一条。

(其实再上边步骤之后应该再插入几条数据,更好的看到效果)

删除USERS01.DBF数据文件,说正在使用中是不是是不是第六七步反了?

最后原来的数据不存在了,说明是恢复到最近的状态了(跟步骤三对比???)。

(2014/5/15 11:29)

时间: 2024-10-28 21:25:05

数据库的备份与恢复(oracle 11g) (转)的相关文章

使用Oracle Sql Developer将SQL SERVER 2008数据库移植到Oracle 11g

ORACLE官方提供的Sql Developer自带的Oracle Migration Workbench. 什么是Oracle SQL Developer?在官方页面上,是这样介绍它的: Oracle SQL Developer is a free and fully supported graphical tool for database development. With SQL Developer, you can browse database objects, run SQL st

SQL SERVER 2008向ORACLE 11G迁移示例

来源于:http://www.cnblogs.com/hiizsk/ 由SQL SERVER 2008向ORACLE 11G迁移过程记录之一-表 使用Oracle Sql Developer将SQL SERVER 2008数据库移植到Oracle 11g(一) 使用Oracle Sql Developer将SQL SERVER 2008数据库移植到Oracle 11g(二) 使用Oracle Sql Developer将SQL SERVER 2008数据库移植到Oracle 11g(三) 使用O

Oracle 11g R2在 win7 64位的安装流程图解

ORACLE数据库系统是美国ORACLE公司(甲骨文)提供的以分布式数据库为核心的一组软件产品,是目前最流行的客户/服务器(CLIENT/SERVER)或B/S体系结构的数据库之一.Oracle 11g R2是Oracle 11g 的第二版本,具有更高的性能和更好的服务.现在介绍如何正确安全地在win7 64位操作系统中安装oracle 11G R2数据库系统. 工具/原料 Oracle 11G R2 安装文件 win7系统电脑(最好可联网) 方法/步骤 1 首先将 Oracle 11g软件下载

[故障处理]Oracle 11g图形安装出现故障

系统环境:OEL6.5_x86 数据库版本:Oracle 11g 11.2.0.3.0 一.[故障现象] 安装Oracle 11g的过程中,刚刚显示第一个图形界面,紧接着就弹出现故障警告对话框. 二.[故障原因] 由于未设置Oracle服务器/etc/hosts文件中IP与主机对应关系,而造成的无法安装Oracle数据库. 三.[故障处理] 添加IP与主机名的对应关系后,故障消除,Oracle能够继续进行图形安装过程. --END-- 上校砺剑 2014.7.17 [故障处理]Oracle 11

Oracle 11g必须开启的服务及服务详细介绍

成功安装Oracle 11g数据库后,你会发现自己电脑运行速度会变慢,配置较低的电脑甚至出现非常卡的状况,通过禁止非必须开启的Oracle服务可以提升电脑的运行速度.那么,具体该怎么做呢? 按照win7 64位环境下Oracle 11g R2安装详解中的方法成功安装Oracle 11g后,共有7个服务,分别为Oracle ORCL VSS Writer Service,OracleDBConsoleorcl,OracleJobSchedulerORCL, OracleMTSRecoverySer

Oracle 11g R2 备份与恢复

Oracle 11g R2 Rman备份 1. 备份与恢复的定义及分类 备份的定义及分类: 备份就是把数据库复制到转储设备的过程.其中,转储设备是指用于放置数据库副本的磁带或磁盘.通常也将存放于转储设备中的数据库的副本称为原数据库的备份或转储.备份是一份数据副本,从不同的角度分类如下: 从物理与逻辑的角度来分类: 从物理与逻辑的,备份可以分为物理备份和逻辑备份. 物理备份:对数据库操作系统的物理文件(数据文件,控制文件和日志文件)的备份.物理备份又可以分为脱机备份(冷备份)和联机备份(热备份),

Oracle 11g R2 Rman、数据泵、闪回备份与恢复

Oracle 11g R2 Rman备份备份与恢复的定义及分类 备份的定义及分类: 备份就是把数据库复制到转储设备的过程.其中,转储设备是指用于放置数据库副本的磁带或磁盘.通常也将存放于转储设备中的数据库的副本称为原数据库的备份或转储.备份是一份数据副本,从不同的角度分类如下: 从物理与逻辑的角度来分类: 从物理与逻辑的,备份可以分为物理备份和逻辑备份. 物理备份:对数据库操作系统的物理文件(数据文件,控制文件和日志文件)的备份.物理备份又可以分为脱机备份(冷备份)和联机备份(热备份),前者是在

Oracle 11g数据库详解(2015-1-18更新)

Oracle 11g数据库详解 整理者:高压锅 QQ:280604597 Email:[email protected] 大家有什么不明白的地方,或者想要详细了解的地方可以联系我,我会认真回复的 1   简介 数据库操作主要有以下几步: 1.  启动.停止数据库 2.  连接.断开数据库 3.  创建.修改.删除数据库用户 4.  表空间 5.  新建.修改.删除表 6.  查询.插入.修改.删除表数据 7.  新建.修改.删除视图 8.  新建.修改.删除存储过程 9.  新建.修改.删除触发

装完了Oracle 11g数据库,忘了给scott账户解锁

这时可以在sql plus工具里(开始|所有程序|<Oracle-Home>|应用程序开发|SQL Plus),也可以在控制台通过命令行给scott账户解锁. 在第一种情况下,以system账户+自己安装时设置的密码,登录SQL Plus,然后使用命令"alter user scott account unlock;"来解锁.解完以后,使用下面的命令来查看:"select username,account_status from dba_users;",

在Windows 10上安装Oracle 11g数据库出现的问题及解决

在Windows 10上安装Oracle 11g数据库,并且很多次出现过:当安装的进度条进行到快要结束的时候弹出一个提示框.如下: [Java(TM)2 Platform Standard Edition binary 已停止工作:出现了一个问题,导致程序停止正常工作.如果有可用的解决方案,Windows 将关闭程序并通知你]的错误提示信息. 最后,发现是因为jdk的安装路径含有中文才导致这一致命的错误,接下来我是这样做的: 1.将整个jdk文件夹移动到某一英文路径. 2.修改环境变量中的系统变