数据库的备份与恢复(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)
数据库的备份与恢复(oracle 11g) (转)的更多相关文章
- 使用Oracle Sql Developer将SQL SERVER 2008数据库移植到Oracle 11g
ORACLE官方提供的Sql Developer自带的Oracle Migration Workbench. 什么是Oracle SQL Developer?在官方页面上,是这样介绍它的: Oracl ...
- SQL SERVER 2008向ORACLE 11G迁移示例
来源于:http://www.cnblogs.com/hiizsk/ 由SQL SERVER 2008向ORACLE 11G迁移过程记录之一-表 使用Oracle Sql Developer将SQL ...
- oracle 11g r1 RAC增加新节点
在一套两节点的rac上增加一个新的节点,详细的操作记录如下: 已有节点RAC1,RAC2 一,环境及版本: 公司环境:Vmware Esxi 5.5 操作系统:Redhat 5.8 x86_64 ...
- Oracle 11g R2在 win7 64位的安装流程图解【含常见问题解决方案】
ORACLE数据库系统是美国ORACLE公司(甲骨文)提供的以分布式数据库为核心的一组软件产品,是目前最流行的客户/服务器(CLIENT/SERVER)或B/S体系结构的数据库之一.Oracle 11 ...
- oracle 11g r2 blob类型getString报错问题
摘要: 问题: 在hibernate中实体类中blob类型字段为 private String textBlob; 查询时报错: java.sql.SQLException: 无效的列类型: getS ...
- oracle 11g 数据库恢复技术 ---02 控制文件
oracle 11g 数据库恢复技术 ---02 控制文件 SYS@ orcl >show parameter control_file NAME TYPE VALUE ------------ ...
- Oracle 11g静默安装软件+手工创建数据库
由于是二次跳转+远程操作,无法使用图形界面,不能直接图形界面安装.采用静默安装软件+手工创建数据库的方式完成需求. 静默模式安装Oracle软件,配置监听程序 手工建库 检查各组件是否符合要求 1. ...
- PL/SQL Developer连接本地Oracle 11g 64位数据库
转摘:http://www.cnblogs.com/ymj126/p/3712727.html 用于学习,笔记,以备后用. 1.登录PL/SQL Developer 这里省略Oracle数据库和PL/ ...
- Oracle 11g数据库详细安装步骤图解
1.先到Oracle官网上下载11g oracle Database 11g 第 2 版 (11.2.0.1.0) 标准版.标准版 1 以及企业版 适用于 Microsoft Windows (x64 ...
- ORACLE 11g 数据库体系结构图
ORACLE 11g 的数据库体系结构图,非常全面.系统.高屋建瓴的整体介绍了ORACLE 11g 的数据库体系结构.如果能全面了解.清晰梳理.深入掌握这些知识点,相信对你了解学习.深入研究ORACL ...
随机推荐
- UVA-10765 Doves and bombs (双连通分量)
题目大意:给一个n个点的无向连通图,找出删除某个点后的连通块个数. 题目分析:统计一下每个节点属于几个双连通分量,若是割点,得到的便是答案,否则答案为1. 代码如下: # include<ios ...
- iptables详解(9):iptables的黑白名单机制
注意:在参照本文进行iptables实验时,请务必在个人的测试机上进行,因为如果iptables规则设置不当,有可能使你无法连接到远程主机中. 前文中一直在强调一个概念:报文在经过iptables的链 ...
- Java内存状况查看方法和分析工具
Java本身提供了多种丰富的方法和工具来帮助开发人员查看和分析GC及其JVM内存的状况,同时开源界也有一些工具用于查看和分析GC和JVM内存的状况. 通过这些分析,可以排查程序中内存泄露的问题及调优程 ...
- 006——数组(六)array_fill()array_filter()array_flip()array_key_exists()array_keys()
<?php /*数组(六)array_fill()array_filter()array_flip()array_key_exists()array_keys() */ /*1.array_fi ...
- *SCM-MANAGERtomcat寄宿使用
采用的部署方式 TomCat 一个端口下部署多个 Application供不同部门使用 初始部署详参见 SCM-MANAGER 博文 日常使用添加部门操作步骤 从“D:\tomcat\webapps” ...
- CMDB后台管理(AutoServer)
1.表结构设计 from django.db import models class UserProfile(models.Model): """ 用户信息 " ...
- iOS开发探索-高斯模糊&毛玻璃效果
iOS开发中有的时候需要将图片设置模糊,来实现特定的效果获取更好的用户体验, iOS7之后半透明模糊效果得到大范围使用的比较大,现在也可以看到很多应用局部用到了图片模糊效果,可以通过高斯模糊和毛玻璃效 ...
- C与C++基础知识补遗
本随笔用来记载项目开发中遇到的以前没掌握的C/C++基础知识 void * buffer; 无类型指针,可以指向任何类型数据.ANSI标准规定无类型指针不能进行算法,而GNU规定无类型指针算法操作与c ...
- MoreEffectiveC++Item35(异常)(条款9-15)
条款9 使用析构函数防止内存泄漏 条款10 在构造函数中防止内存泄漏 条款11 禁止异常信息传递到析构函数外 条款12 理解"抛出一个异常''与"传递一个参数"或调用一个 ...
- Shell 命令行获取本机IP,grep的练习
Shell 命令行获取本机IP,grep的练习 在 mac 下面输入 ifconfig 或者在 linux 下面输入 ip a 就可以得到我们的网卡信息.不过通常情况下,我们需要查看的是我们的IP地址 ...