精华内容
下载资源
问答
  • 数据库备份与恢复
    千次阅读
    2019-06-08 17:58:31

    数据库备份

    	/**
    	 * 数据库备份功能
    	 * @param savePath 备份路径
    	 * @param fileName 文件名
    	 * @return
    	 * @throws InterruptedException
    	 */
        private boolean exportDatabaseTool( String savePath, String fileName) throws InterruptedException {  
            File saveFile = new File(savePath);  
            if (!saveFile.exists()) {// 如果目录不存在  
                saveFile.mkdirs();// 创建文件夹  
            }  
            if(!savePath.endsWith(File.separator)){  
                savePath = savePath + File.separator;  
            }  
              
            PrintWriter printWriter = null;  
            BufferedReader bufferedReader = null;  
            try {  
                printWriter = new PrintWriter(new OutputStreamWriter(new FileOutputStream(savePath + fileName), "utf8"));  
                Process process = Runtime.getRuntime().exec(" mysqldump -h127.0.0.1 -uroot -p123456 --set-charset=UTF8 order_system");  
                InputStreamReader inputStreamReader = new InputStreamReader(process.getInputStream(), "utf8");  
                bufferedReader = new BufferedReader(inputStreamReader);  
                String line;  
                while((line = bufferedReader.readLine())!= null){  
                    printWriter.println(line);  
                }  
                printWriter.flush();  
                if(process.waitFor() == 0){//0 表示线程正常终止。  
                    return true;  
                }  
            }catch (IOException e) {  
                e.printStackTrace();  
            } finally {  
                try {  
                    if (bufferedReader != null) {  
                        bufferedReader.close();  
                    }  
                    if (printWriter != null) {  
                        printWriter.close();  
                    }  
                } catch (IOException e) {  
                    e.printStackTrace();  
                }  
            }  
            return false;  
        } 
    

    数据库备份恢复

    //还原命令行
    		String command = "mysql -hlocalhost -uroot -p123456 --default-character-set=utf8 order_system";
    		
    		//执行
    		boolean isSuccess = recover(command, path);
    
       /**
         * 数据库还原
         * @param command 命令行
         * @param savePath 还原路径
         * @return
         */
        private boolean recover(String command, String savePath) {
            boolean flag;
            Runtime r = Runtime.getRuntime();
            BufferedReader br = null;
            BufferedWriter bw = null;
            try {
                Process p = r.exec(command);
                OutputStream os = p.getOutputStream();
                FileInputStream fis = new FileInputStream(savePath);
                InputStreamReader isr = new InputStreamReader(fis, "utf-8");
                br = new BufferedReader(isr);
                String s;
                StringBuffer sb = new StringBuffer("");
                while ((s = br.readLine()) != null) {
                    sb.append(s + System.lineSeparator());
                }
                s = sb.toString();
                OutputStreamWriter osw = new OutputStreamWriter(os, "utf-8");
                bw = new BufferedWriter(osw);
                bw.write(s);
                bw.flush();
                flag = true;
            } catch (IOException e) {
                flag = false;
                e.printStackTrace();
            } finally {
                try {
                    if (null != bw) {
                        bw.close();
                    }
                } catch (IOException e) {
                    e.printStackTrace();
                }
     
                try {
                    if (null != br) {
                        br.close();
                    }
                } catch (IOException e) {
                    e.printStackTrace();
                }
            }
            return flag;
        }
    }
    
    更多相关内容
  • 实验8 Orale数据库备份与恢复 1 实验目得 掌握Orale数据库各种物理备份方法 掌握rae数据库各种物理恢复方法 掌握利用RAN工具进行数据库得备份与恢复 掌握数据得导入导出操作 实验要求 对BOOKSALES数据库进行一次冷...
  • Oracle的备份恢复有三种标准的模式,大致分为两大类,备份恢复(物理上的)以及导入导出(逻辑上的),而备份恢复又可以根据数据库的工作模式分为非归档模式(Nonarchivelog-style)和归档模式(Archivelog-style),通常,...
  • 国家开放大学的课程:数据运维。在形考中的内容。实验部分 实验4 数据库备份与恢复实验。包括所有的相关操作。有屏幕截图,很清楚 。
  • 实验6 Oracle数据库备份与恢复实验 一实验目的 理解数据库备份工作的重要性将备份与恢复策略的理论和实践相结合能根据实际情况确定备份和恢复策略熟练掌握逻辑备份和恢复工具 二实验要求 逻辑备份工具表方式备份 以...
  • postgresql数据库备份恢复文档资料,详细介绍了PostgreSQL数据库的备份与恢复 方法,值得学习下
  • Oracle数据库备份与恢复

    千次阅读 2021-01-04 20:17:23
    Oracle数据库备份与恢复一、脱机备份与恢复1.脱机备份获取数据文件列表获取控制文件列表获取联机重做日志文件列表备份测试2.脱机恢复二、联机备份与恢复1.将数据库转换为归档模式2.联机备份3.联机恢复三、不完全恢复...

    一、脱机备份与恢复

    1.脱机备份

    获取数据文件列表

    在这里插入图片描述


    获取控制文件列表

    在这里插入图片描述


    获取联机重做日志文件列表

    在这里插入图片描述


    备份测试

    建立测试表
    在这里插入图片描述


    关闭数据库
    在这里插入图片描述


    建立备份的目录,复制文件到备份的目录,包括全部的数据文件、控制文件和重做日志文件(第一次尝试的时候被拒绝访问,只需要以管理员身份打开命令行即可)。
    在oracle中当我们新建了多个数据库后,再次登录时,系统默认的是最后创建的那个数据库,所以上述操作默认在TEST4数据库中进行,要备份TEST4中的数据(这里一定要把上面查询到的文件都备份,如果缺文件则无法进行恢复,注意!!!)
    在这里插入图片描述
    在这里插入图片描述


    启动数据库,增加测试记录
    在这里插入图片描述
    在这里插入图片描述


    删除文件,模拟数据库损坏
    在这里插入图片描述

    2.脱机恢复

    关闭数据库,将备份的数据文件还原到原来所在的位置
    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述


    启动数据库,查询数据记录丢失情况
    在这里插入图片描述
    数据库恢复成功,但备份之后与崩溃之前的数据丢失了。意味着这种恢复可以完全恢复到备份的点上。

    二、联机备份与恢复

    1.将数据库转换为归档模式

    创建两个目录
    在这里插入图片描述


    设置参数,指定归档目的地和控制归档日志文件名
    在这里插入图片描述


    关闭数据库,再在加载模式中启动数据库,并将数据库转换至文档模式后打开数据库,查询数据库及归档器进程状态
    在这里插入图片描述


    执行日志切换,查询数据库归档方式
    在这里插入图片描述


    2.联机备份

    建立测试表并添加记录
    在这里插入图片描述


    将数据库的表空间设为联机备份状态,查 询bda_data_file 数据字典视图确定所有表空间的数据文件
    在这里插入图片描述


    备份该表空间的所有数据文件,并取消表空间的备份状态,备份控制文件后向测试表中添加一条记录,再进行日志切换
    在这里插入图片描述


    关闭数据库,模拟丢失数据文件
    在这里插入图片描述


    3.联机恢复

    将出现问题的表空间数据文件修改为脱机状态,修改数据库为打开状态,将备份的数据文件复制到原来的目录
    在这里插入图片描述
    在这里插入图片描述


    用 recover 命令进行介质恢复,完成后将表空间数据文件恢复为联机状态,查询数据记录丢失情况
    在这里插入图片描述
    可以发现,数据库恢复成功,数据没有丢失。
    若丢失的数据文件有多个,则应先将相应的数据文件全部进行备份,再使用类似的恢复步骤进行恢复。

    三、不完全恢复

    1.基于 cancel 的恢复

    基于 cancel 的不完全恢复适用场景:recover 时、所需的某个归档日志损坏,或主机断电、current 状态的联机日志损坏。


    关闭数据库,使用操作系统命令将原来备份的文件复制到正确的目录下;使用 startup mount 命令启动数据库
    在这里插入图片描述
    在这里插入图片描述


    2.基于时间点的恢复

    首先关闭数据库,使用操作系统命令将原备份的文件复制到正确的目录下;使用 startup mount 命令启动数据库
    在这里插入图片描述
    在这里插入图片描述


    使用 recover 命令对数据库执行基于时间点的恢复,完成恢复操作后,使用 resetlogs 模式启动数据库
    在这里插入图片描述

    3.基于 SCN 的恢复

    SCN (System Change Number)是当 Oracle 数据库更新后,由 DBMS自动维护去累积递增的一个数字。在 Oracle 中有四种 SCN,分别为:系统检查点 SCN、数据文件检查点 SCN、启动 SCN、终止 SCN。
    基于 SCN 的不完全恢复使用情况跟基于时间一样,只是这里是根据 SCN 值来恢复的,查询系统检查点 SCN。


    首先关闭数椐库;使用操作系统命令将原备份的文件复制到正确的目录下;使用 startup mount 命令启动数据库
    在这里插入图片描述
    在这里插入图片描述


    使用 recover 命令对数据库进行恢复。恢复操作完成后,使用 resetlogs 模式启动数据库
    在这里插入图片描述

    四、使用EXP/IMP命令导出/导入数据

    1.EXP 导出命令概述

    可以对所有表执行全数据库导出(Complete Export)或者仅对上次导出后修改的表格全数据库导出。增量导出有两种不同类型:Incremental (增量)型和 Cumulative(积累)型。Incremental 导出将导出上次导出后修改过的全部表;而 Cumulative 导出将导出上次全导出修改过的表。可使用 Export 实用程序来压缩数据段碎片的盘区。
    从命令行调用 Export 程序并且传递各类参数和参数值,可以完成导出操作,参数如下:

    • Userid:执行导出的用户名和口令,如果是 EXP 命令后的第—个参数,则关键字 Userid 可以省略
    • Buffer:用于获取数据行的缓冲区尺寸,默认值随系统而定,通常设定一个高值(>64000)
    • File:导出转储文件的名字
    • Filessize:导出转储文件的最大尺寸。如果 file 条目中列出多个文件,将根据 Filessize 设置值导出这些文件
    • Compress:Y/N 标志,用于指定导出是否应把碎片段压缩成单个盘区。这个标志影响将存储到导出文件中的 storage 子句
    • Grants:Y/N 标志,指定数据库对象的权限是否导出
    • Indexes:Y/N 标志,指定表上的索引是否导出
    • Rows:Y/N 标志,指定行是否导出。如果设置为 N,在导出文件中将只创建数据库对象的 DDL
    • Constraints:Y/N 标志,用于指定表上的约束条件是否导出
    • Full:若设为 Y,执行 Full 数据库导出
    • Ower :导出数据库账户的清单;可以执行这些账户的 User 导出
    • Tables:导出表的清单;可以执行这些表的 Table 导出
    • Recordlength:导出转储文件记录的长度,以字节为单位。除非是在不同的操作系统间转换导出文件,否则就使用默认值
    • Direct:Y/N 标志,用于指示是否执行 Direct 导出。Direct 导出在导出期间绕过缓冲区,从而大大提高导出处理的效率
    • Inctype:要 执行 的到处 类型 ( 允许 值为 complete ( 默 认) 、cumulative 和 incremental)
    • Record:用于 incremental 导出,这个 Y/N 标志指示一个记录是否存储在记录导出的数据字典中
    • Parfile:传递给 Export 的一个参数文件名
    • Statistics:这个参数指示导出对象的 analyze 命令是否应写到导出转储文件上。其布效值是 compute、estimate (默认)和N
    • Consistent:Y/N 标志,用于指示是否应保留全部导出对象的读一致版本。在 ExPort 处理期间,当相关的表被用户修改时需要这个标志
    • Log:导出日志的文件名
    • Feedback:表导出时显示进度的行数。默认值为 0,所以在表全部导出前没有反馈显示
    • Query:用于导出表的子集 select 语句
    • Transport_tablespace:如果正在使用可移动表空间选项,就设置为 Y。和关键字tablespace 一起使用
    • Tablespaces:移动表空间时应导出其元数据的表空间
    • Object_consistent:导出对象时的事物集,默认为 N,建议采用默认值
    • Flashback_SCN:用于回调会话快照的 SCN 号,特殊情况下使用,建议不用
    • Flashback_time:用于回调会话快照的 SCN 号的时间,如果希望导出不是现在的数据,而是过去某个时刻的数据的话,可使用该参数
    • Resumanle:遇到错误时挂起,建议采用默认值
    • Resumanle_timeout:可恢复的文本字符串,默认值为 Y,建议采用默认值
    • Tts_full_check:对 TTS 执行完全或部分相关性检查,默认值为 Y,建议采用默认值
    • Template:导出的模板名

    导出有以下三种模式:

    • 交互模式。在输入 EXP 命令后,根据系统的提示输入导出参数,如用户名、口令和导出类型等参数
    • 命令行模式。命令行模式和交互模式类似,不同的是使用命令模式时,只能在模式被激活后,才能把参数和参数值传递给导出程序
    • 参数文件模式。参数文件模式的关键参数是Parfile。Parfile的对象是一个包含激活控制导出对话的参数和参数值的文件名

    2.EXP导出

    建立导出的测试环境
    在这里插入图片描述


    将数据库 TEST4完全导出,用户名 system,密码 123456
    在这里插入图片描述


    将数据库中 system 用户与 usertest001 用户的表导出
    在这里插入图片描述


    将数据库中的表 tablezf001导出
    在这里插入图片描述

    3.IMP 导入命令概述

    数据导出后,可以使 Import 工具将导出的文件再导入到数据库中。Import 工具能够读取由 Export 工具生成的二进制导出转储文件并执行文件中的命令,能够从导出转储文件中导入部分或全部数据
    导入操作可以交互进行也可通过命令进行。导入操作选项同导出的操作一样


    导入表

    导入自己的表
    在这里插入图片描述


    导入表到其他用户
    要求该用户具有 DBA 的权限,或是imp_full_database,在执行如下语句之前必须先执行 grant dba to userzf001 的授权语句
    在这里插入图片描述

    在这里插入图片描述


    导入方案

    导入方案是指使用 Import 工具将文件中的对象和数据导入到一个或是多个方案中。如果要导入其他方案,要求该用户具有 DBA 的权限,或者imp_full_database


    导入自身的方案
    在这里插入图片描述


    导入其他方案
    在这里插入图片描述


    导入数据库

    在这里插入图片描述
    在这里插入图片描述

    五、使用OEM导出/导入数据

    1.备份准备

    使用 OEM 进行备份之前,需要建立相关的操作系统备份用户,其可以是已经存在的用户或是新建一个用户。本实验中将新建一个用于Oracle 备份的操作系统用户


    在 操 作 系 统 中 新 建 一 个 用 户 , 其 用 户 名 为 :oraclezf001,密码为:123456
    在这里插入图片描述


    编 辑 oraclezf001 用 户 的 属 性 , 将 其 隶 属 于
    Admimstraors 和 ora_dba 组
    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述


    在开始运行处录入 secpol.msc 进入“本地策略”→“用户权限分配”中,将“作为批处理作业登录”权限添加给 oraclezf001 用户
    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述
    通过以上设置,我们已经建立好了 OEM 备份使用的操作系统用户,并具有相关权限

    2.使用 OEM 导出数据

    OEM 在进行数据逻辑备份时,实际使用 Oracle 11g 的 EXPDP 程序在服务器端执行备份


    创建测试环境步骤

    在这里插入图片描述


    以 SYSTEM 用户的普通身份登录 OEM
    在这里插入图片描述


    单击“数据移动”页面“移动行数据”项下的“导出到导出文件”链接
    在这里插入图片描述


    在“导出:导出类型”页面选择“方案”选项,输入主机 身 份 证 明 项 下 的 用 户 名 及 口 令
    在这里插入图片描述


    在“导出:方案”页而的初始状态下,没有默认的方案被选择,单击“添加”按钮
    在这里插入图片描述


    在“导出:添加方案”页面选择方案的名称,单击“开
    始“按钮,在搜索结果栏中显示相应的方案名,选择需要导出的方案笔 USERZF001,单击“选择”按钮
    在这里插入图片描述
    在这里插入图片描述


    在“导出:选项”页面单击“显示高级选项”链接,将显示导出的内容、闪回、查询等,单出“下一步”按钮
    在这里插入图片描述


    点击“创建目录对象”,输入目录名称,例如“ORABACKDIR”(建议使用大写),在路径中输入存储备份文件的文件夹地址“G:\oracle\bak”,可以点击“测试文件系统”进行测试,注意文件夹地址必须在服务器上已经存在
    在这里插入图片描述


    :在目录对象下拉菜单中选择刚刚创建的“ORABACKDIR”
    在这里插入图片描述


    本页指定存储文件的存放位置,在页面中的目录对象
    下拉菜单中选择刚刚创建的“ORABACKDIR”,文件名输入相关值,建议添加“%U”通配符,这样当一个存储文件写满时会自动创建新的文件。在最大文件大小中指定最大文件大小,此处输入 2048,表明每个存储文件最大为 2GB。单击“下一步”按钮继续
    在这里插入图片描述


    在页面中输入作业名称,这里输入“FIRSTEXP”(建议使用大写),可以在“说明”中添加相关的作业说明,如“导出USERTEST001 的数据”。指定启动时间,这里选择“立即”。单击“下一步”按钮继续
    在这里插入图片描述


    在“导出:复查”页面中,显示了作业的导出类型、统计信息类型、并行度、要导出的文件、日志文件及作业调度,单击“提交作业”按钮
    在这里插入图片描述


    “ 复查”页面中检查无误后点击“提交作业”。如果提
    交成功,页而将转向“作业活动”的“确认”页面。在页面的列表中可以看到“FIRSTEXP”的状态为“正在运行”
    在这里插入图片描述


    在等待一定时间后,显示成功创建作业的信息,可以
    点击页面中的“开始”对页面进行刷新,当列表中为空时,表示导出已经成功结朿(因为第一次作业提交有问题,所以又创建了一个名称为SECONDEXP)
    在这里插入图片描述

    3.使用 OEM 导入数据

    使用 OEM 导入方式导入上一任务中备份的表
    先将 USERTEST001 用户删除
    在这里插入图片描述


    以 SYSTEM 用户的普通身份登录 OEM,单击“数据移动”页面“移动数据”项下的“从导出文件导入”,打开“导入:文件”页面,选择目录对象为 ORABACKDIR,选择导入类型为“方案”,输入主机身份证明的用户名及口令,单击“继续”按钮
    在这里插入图片描述
    在这里插入图片描述


    在导入读取成功页面中显示“已成功读取导入文件”后单击“添加”按钮
    在这里插入图片描述


    单击“添加”按钮,在弹出页面选择方案USERZF001,单击“选择”按钮
    在这里插入图片描述


    在“导入:方案”页面中单击“下一步”按钮
    在这里插入图片描述


    在新页面中可以指定“重新映射方案”“重新映射表空间”“重新映射数据文件”时,使用默认设置,不进行修改。单击“下一步”继续
    在这里插入图片描述


    选择或创建生成日志文件的目录,本例中选择“orabackdir2”。在高级选项中可以设置导入的具体方式,这里我们使用默认设置。单击“下一步”继续
    在这里插入图片描述


    在“导入:调度”页面的“作业名称”栏设定作业名称,如输入 firstimp,单击“下一步”按钮
    在这里插入图片描述


    在“导入:复查”页面显示调度信息,复查页面检查无误,单击“提交作业”按钮
    在这里插入图片描述


    在“作业活动”页面中显示“已成功创建作业”
    在这里插入图片描述


    使用“USERZF001”用户登录数据库查看导入数据,可以确认数据已经导入
    在这里插入图片描述
    在这里插入图片描述

    展开全文
  • .数据库备份与恢复

    2012-06-05 08:43:55
    Server 2005管理维护 第三章.数据库备份与恢复技术.PPT
  • Oracle数据库应用开发案例教程 Java Web开发技术 * * * Oracle数据库应用 开发案例教程 主编 王红 中国水利水电出版社 * * Oracle数据库应用 开发案例教程 第十章 数据库备份与恢复 * Oracle数据库应用开发...
  • 用命令的形式 备份恢复 mysql数据库 主要有一些备份恢复中出现的注意事项!
  • 代码为springBoot下对mysql数据库进行备份与恢复,代码为本人项目使用,绝对可用,若有疑问,可联系
  • DB2数据库备份与恢复

    2013-03-19 22:04:28
    DB2数据库备份与恢复 从入门开始 一步步讲述备份与恢复
  • Sybase数据库备份与恢复方法.doc,Sybase 数据库备份数据的方法(以cwbase1数据库为例)提醒:恢复完成后需做如下操作,即修改数据库ID号
  • Oracle-Oracle数据库备份与恢复

    万次阅读 多人点赞 2019-06-21 22:59:31
    Oracle数据库备份与恢复 下面通过一些简单的例子来了解一下: Oracle数据库各种物理备份的方法。 Oracle数据库各种物理恢复的方法 利用RMAN工具进行数据库的备份与恢复。 数据的导出导入操作。 (1)关闭...

    Oracle数据库备份与恢复

    下面通过一些简单的例子来了解一下:

    • Oracle数据库各种物理备份的方法。
    • Oracle数据库各种物理恢复的方法
    • 利用RMAN工具进行数据库的备份与恢复。
    • 数据的导出与导入操作。
    • (1)关闭BOOKSALES数据库,进行一次完全冷备份。
    select file_name from dba_data_files;
    

    在这里插入图片描述

    select member from v$logfile;
    

    在这里插入图片描述

    select value from v$parameter where name='control_files';
    

    在这里插入图片描述

    shutdown immediate
    //复制所有的数据文件、联机重做日志文件以及控制文件到备份磁盘
    startup
    
    • (2)启动数据库后,在数据中创建一个名为cold表,并插入数据,以改变数据库的状态。
    create table cold (id number(5,0) primary key);
    Table COLD 已创建。
    insert into cold values(1);
    1行已插入。
    select * from cold;
    

    在这里插入图片描述

    • (3)利用数据库冷备份恢复BOOKSALES数据库到备份时刻的状态,并查看恢复后是否存在cold表。
    //关闭数据库
    shutdown immediate
    //将备份的所有数据文件、控制文件、联机重做日志文件还原到原来所在的位置。
    //重新启动数据库
    startup
    
    • (4)将BOOKSALES数据库设置为归档模式。
    //关闭数据库
    shutdown immediate
    //设置归档目的地
    select name,value from v$parameter where name='db_recovery_file_dest';
    

    在这里插入图片描述

    alter system set log_archive_dest='D:\Oracle\backup\archive';
    alter system set log_archive_duplex='D:\Oracle\backup\archive';
    //将数据库启动到加载状态
    startup mount
    //改变数据库为归档模式
    alter database archivelog;
    //打开数据库
    alter database open;
    
    • (5)对BOOKSALES数据库进行一次热备份。
    select tablespace_name,file_name from dba_data_files order by tablespace_name;
    

    在这里插入图片描述

    alter tablespace users begin backup;
    Tablespace USERS已变更。
    //将表空间中所有的数据文件复制到备份磁盘
    alter tablespace users end backup;
    Tablespace USERS已变更。
    
    • (6) 在数据库中创建一个名为hot表,并插入数据,以改变数据库的状态。
    create table hot (id number primary key, name varchar2(25)) tablespace users;
    Table HOT 已创建。
    insert into hot values(33, 'xushicheng');
    1行已插入。
    
    • (7) 假设保存hot表的数据文件损坏,利用热备份进行数据库恢复。
    shutdown abort
    startup mount
    recover datafile 'D:\Oracle\app\administrators\oradata\BOOKSALES\users002.dbf';
    alter database datafile 'D:\Oracle\app\administrators\oradata\BOOKSALES\users002.dbf' online;
    alter database open;
    
    • (8) 数据库恢复后,验证hot表的状态及其数据情况。
    select * from hot;
    
    • (9) 利用数据库的热备份,分别进行基于时间,基于SCN和基于CANCEL的不完全恢复。
    shutdown abort;
    startup mount;
    recover database until time '2019-6-1';
    
    set time on
    alter system switch logfile;
    System SWITCH已变更。
    alter session set nls_date_format='YYYY-MM-DD HH24:MI:SS';
    Session已变更。
    select recid,stamp,sequence#,first_change#,first_time,next_change# from v$log_history;
    

    在这里插入图片描述
    在这里插入图片描述

    shutdown abort;
    startup mount;
    recover database until change 1344396;
    
    • (10) 为了使用RMAN工具备份与恢复BOOKSALES数据库,配置RMAN的自动通道分配。
    RMAN target sys/admin@BOOKSALES
    

    在这里插入图片描述

    RMAN> configure default device type to sbt;
    
    使用目标数据库控制文件替代恢复目录
    新的 RMAN 配置参数:
    CONFIGURE DEFAULT DEVICE TYPE TO 'SBT_TAPE';
    已成功存储新的 RMAN 配置参数
    
    RMAN> configure device type disk parallelism 2;
    
    新的 RMAN 配置参数:
    CONFIGURE DEVICE TYPE DISK PARALLELISM 2 BACKUP TYPE TO BACKUPSET;
    已成功存储新的 RMAN 配置参数
    
    RMAN> configure device type disk parallelism 3;
    
    旧的 RMAN 配置参数:
    CONFIGURE DEVICE TYPE DISK PARALLELISM 2 BACKUP TYPE TO BACKUPSET;
    新的 RMAN 配置参数:
    CONFIGURE DEVICE TYPE DISK PARALLELISM 3 BACKUP TYPE TO BACKUPSET;
    已成功存储新的 RMAN 配置参数
    RMAN> configure channel 3 device type disk maxpiecesize=50m;
    
    新的 RMAN 配置参数:
    CONFIGURE CHANNEL 3 DEVICE TYPE DISK MAXPIECESIZE 50 M;
    已成功存储新的 RMAN 配置参数
    
    • (11)利用RMAN工具完全备份BOOKSALES数据库。
    shutdown immediate
    alter system set log_archive_dest_1='location=D:\Oracle\backup\ARCHIVE MANDATORY';
    System SET已变更。
    startup mount
    alter database archivelog;
    RMAN> backup database format 'D:\Oracle\backup\%U.BKP';
    
    启动 backup03-6-19
    使用目标数据库控制文件替代恢复目录
    RMAN-00571: ===========================================================
    RMAN-00569: =============== ERROR MESSAGE STACK FOLLOWS ===============
    RMAN-00571: ===========================================================
    RMAN-03002: backup 命令 (06/03/2019 00:21:49) 失败
    ORA-19554: 配置设备时出错, 设备类型: SBT_TAPE, 设备名称:
    ORA-27211: 未能加载介质管理库
    (12) 利用RMAN工具备份BOOKSALES数据库的初始化参数文件和控制文件。
    RMAN> backup spfile format 'D:\Oracle\app\administrators\oradata\BOOKSALES\%U';
    
    启动 backup03-6-19
    RMAN-00571: ===========================================================
    RMAN-00569: =============== ERROR MESSAGE STACK FOLLOWS ===============
    RMAN-00571: ===========================================================
    RMAN-03002: backup 命令 (06/03/2019 00:23:19) 失败
    ORA-19554: 配置设备时出错, 设备类型: SBT_TAPE, 设备名称:
    ORA-27211: 未能加载介质管理库
    RMAN> backup current controlfile format 'D:\Oracle\app\administrators\oradata\BOOKSALES\%U.CTL';
    
    启动 backup03-6-19
    RMAN-00571: ===========================================================
    RMAN-00569: =============== ERROR MESSAGE STACK FOLLOWS ===============
    RMAN-00571: ===========================================================
    RMAN-03002: backup 命令 (06/03/2019 00:24:58) 失败
    ORA-19554: 配置设备时出错, 设备类型: SBT_TAPE, 设备名称:
    ORA-27211: 未能加载介质管理库
    
    • (13)利用RMAN工具对USERS表空间、BOOKTBS1表空间进行备份。
    RMAN> backup tablespace users,booktbs1 format 'D:\Oracle\app\administrators\oradata\BOOKSALES\%U.BKP';
    
    启动 backup03-6-19
    RMAN-00571: ===========================================================
    RMAN-00569: =============== ERROR MESSAGE STACK FOLLOWS ===============
    RMAN-00571: ===========================================================
    RMAN-03002: backup 命令 (06/03/2019 00:26:39) 失败
    ORA-19554: 配置设备时出错, 设备类型: SBT_TAPE, 设备名称:
    ORA-27211: 未能加载介质管理库
    
    • (14) 利用RMAN工具备份BOOKSALES数据库的数据文件users01.dbf、users02.dbf进行备份。
    RMAN> backup datafile 'D:\Oracle\app\administrators\oradata\BOOKSALES\users01.dbf' format 'D:\Oracle\app\administrators\oradata\BOOKSALES\%u';
    
    启动 backup03-6-19
    RMAN-00571: ===========================================================
    RMAN-00569: =============== ERROR MESSAGE STACK FOLLOWS ===============
    RMAN-00571: ===========================================================
    RMAN-03002: backup 命令 (06/03/2019 00:29:14) 失败
    ORA-19554: 配置设备时出错, 设备类型: SBT_TAPE, 设备名称:
    ORA-27211: 未能加载介质管理库
    RMAN> backup datafile 'D:\Oracle\app\administrators\oradata\BOOKSALES\users02.dbf' format 'D:\Oracle\app\administrators\oradata\BOOKSALES\%u';
    
    启动 backup03-6-19
    RMAN-00571: ===========================================================
    RMAN-00569: =============== ERROR MESSAGE STACK FOLLOWS ===============
    RMAN-00571: ===========================================================
    RMAN-03002: backup 命令 (06/03/2019 00:30:49) 失败
    ORA-19554: 配置设备时出错, 设备类型: SBT_TAPE, 设备名称:
    ORA-27211: 未能加载介质管理库
    
    • (15) 利用RMAN工具备份BOOKSALES数据库的控制文件。
    RMAN> backup current controlfile format 'D:\Oracle\app\administrators\oradata\BOOKSALES\%U.ctl';
    
    启动 backup03-6-19
    RMAN-00571: ===========================================================
    RMAN-00569: =============== ERROR MESSAGE STACK FOLLOWS ===============
    RMAN-00571: ===========================================================
    RMAN-03002: backup 命令 (06/03/2019 00:31:50) 失败
    ORA-19554: 配置设备时出错, 设备类型: SBT_TAPE, 设备名称:
    ORA-27211: 未能加载介质管理库
    (16) 利用RMAN工具备份BOOKSALES数据库的归档文件。
    RMAN> backup archivelog all;
    
    启动 backup03-6-19
    当前日志已存档
    RMAN-00571: ===========================================================
    RMAN-00569: =============== ERROR MESSAGE STACK FOLLOWS ===============
    RMAN-00571: ===========================================================
    RMAN-03002: backup 命令 (06/03/2019 00:32:37) 失败
    ORA-19554: 配置设备时出错, 设备类型: SBT_TAPE, 设备名称:
    ORA-27211: 未能加载介质管理库
    
    RMAN> backup database plus archivelog format 'D:\Oracle\app\administrators\oradata\BOOKSALES\%u';
    
    
    启动 backup03-6-19
    当前日志已存档
    RMAN-00571: ===========================================================
    RMAN-00569: =============== ERROR MESSAGE STACK FOLLOWS ===============
    RMAN-00571: ===========================================================
    RMAN-03002: backup plus archivelog 命令 (06/03/2019 00:33:14) 失败
    ORA-19554: 配置设备时出错, 设备类型: SBT_TAPE, 设备名称:
    ORA-27211: 未能加载介质管理库
    
    • (17) 利用RMAN工具备份BOOKSALES数据库形成的备份集,恢复数据库。
     RMAN> shutdown immediate;
    
    数据库已关闭
    数据库已卸装
    Oracle 实例已关闭
    
    RMAN> startup mount;
    
    已连接到目标数据库 (未启动)
    Oracle 实例已启动
    数据库已装载
    
    系统全局区域总计    3373858816 字节
    
    Fixed Size                     2180424 字节
    Variable Size               1845496504 字节
    Database Buffers            1509949440 字节
    Redo Buffers                  16232448 字节
    
    RMAN> restore database;
    
    启动 restore03-6-19
    分配的通道: ORA_DISK_1
    通道 ORA_DISK_1: SID=191 设备类型=DISK
    分配的通道: ORA_DISK_2
    通道 ORA_DISK_2: SID=129 设备类型=DISK
    分配的通道: ORA_DISK_3
    通道 ORA_DISK_3: SID=192 设备类型=DISK
    
    RMAN-00571: ===========================================================
    RMAN-00569: =============== ERROR MESSAGE STACK FOLLOWS ===============
    RMAN-00571: ===========================================================
    RMAN-03002: restore 命令 (06/03/2019 00:34:44) 失败
    RMAN-06026: 有些目标没有找到 - 终止还原
    RMAN-06023: 没有找到数据文件4的副本来还原
    RMAN-06023: 没有找到数据文件3的副本来还原
    RMAN-06023: 没有找到数据文件2的副本来还原
    RMAN-06023: 没有找到数据文件1的副本来还原
    RMAN> recover database;
    
    启动 recover 于 03-6-19
    使用通道 ORA_DISK_1
    使用通道 ORA_DISK_2
    使用通道 ORA_DISK_3
    RMAN-00571: ===========================================================
    RMAN-00569: =============== ERROR MESSAGE STACK FOLLOWS ===============
    RMAN-00571: ===========================================================
    RMAN-03002: recover 命令 (06/03/2019 00:35:37) 失败
    RMAN-06094: 数据文件4必须重新存储
    
    RMAN> alter database open;
    
    数据库已打开
    
    RMAN> alter database open resetlogs;
    
    RMAN-00571: ===========================================================
    RMAN-00569: =============== ERROR MESSAGE STACK FOLLOWS ===============
    RMAN-00571: ===========================================================
    RMAN-03002: alter db 命令 (06/03/2019 00:36:19) 失败
    ORA-01531: 实例已打开数据库
    
    
    • (18) 利用EXPDP工具导出BOOKSALES数据库的整个数据库。
    create or replace directory dumpdir as 'D:\Oracle\backup';
    Directory DUMPDIR 已创建。
    grant read,write on directory dumpdir to system;
    Grant 成功。
    grant exp_full_database, imp_full_database to system;
    Grant 成功。
    expdp system/admin directory=dum_dir dumpfile=expfull.dmp full=yes nologfile=yes;
    
    • (19)利用EXPDP工具导出EXPDP数据库的USERS表空间。
    C:\Users\徐仕成>expdp system/admin directory=dum_dir dumpfile=expfull.dmp full=yes nologfile=yes;
    
    Export: Release 11.2.0.1.0 - Production on 星期一 63 00:49:22 2019
    
    Copyright (c) 1982, 2009, Oracle and/or its affiliates.  All rights reserved.
    
    连接到: Oracle Database 11g Enterprise Edition Release 11.2.0.1.0 - 64bit Production
    With the Partitioning, OLAP, Data Mining and Real Application Testing options
    ORA-39001: 参数值无效
    ORA-39000: 转储文件说明错误
    ORA-39087: 目录名 DUM_DIR 无效
    
    • (20)利用EXPDP工具导出BOOKSALES数据库publisher表和books表。
    C:\Users\徐仕成>expdp system/admin directory=dump_dir dumpfile=publishers_books.dmp logfile=publishers_books.log tables=scott.emp, scott.dept parallel=3
    
    Export: Release 11.2.0.1.0 - Production on 星期一 63 00:50:14 2019
    
    Copyright (c) 1982, 2009, Oracle and/or its affiliates.  All rights reserved.
    
    连接到: Oracle Database 11g Enterprise Edition Release 11.2.0.1.0 - 64bit Production
    With the Partitioning, OLAP, Data Mining and Real Application Testing options
    ORA-39002: 操作无效
    ORA-39070: 无法打开日志文件。
    ORA-39087: 目录名 DUMP_DIR 无效
    
    • (21)利用EXPDP工具导出BOOKSALES数据库中bs模式下的所有数据库对象及数据。
    C:\Users\徐仕成>expdp bs/bs directory=dump_dir dumpfile=exfull.dmp full=yes nologfile=yes
    
    Export: Release 11.2.0.1.0 - Production on 星期一 63 00:51:05 2019
    
    Copyright (c) 1982, 2009, Oracle and/or its affiliates.  All rights reserved.
    
    连接到: Oracle Database 11g Enterprise Edition Release 11.2.0.1.0 - 64bit Production
    With the Partitioning, OLAP, Data Mining and Real Application Testing options
    ORA-39006: 内部错误
    ORA-39068: 在 PROCESS_ORDER=-3 的行中主表数据无效
    ORA-01658: 无法为表空间 USERS 中的段创建 INITIAL 区
    
    ORA-39097: 数据泵作业出现意外的错误 -1658
    
    • (22)删除BOOKSALES数据库中的orderitem表和order表,使用转储文件,利用IMPDP工具进行恢复。
    drop table orderitem;
    drop table order;
    C:\Users\徐仕成>impdp scott/admin directory=dpump_dir dumpfile=emp_deptdmp tables=detp,emp nologfile=yes
    
    Import: Release 11.2.0.1.0 - Production on 星期一 63 00:54:29 2019
    
    Copyright (c) 1982, 2009, Oracle and/or its affiliates.  All rights reserved.
    
    UDI-28000: 操作产生了 ORACLE 错误 28000
    ORA-28000: the account is locked
    
    用户名: sys as sysdba
    口令:
    
    连接到: Oracle Database 11g Enterprise Edition Release 11.2.0.1.0 - 64bit Production
    With the Partitioning, OLAP, Data Mining and Real Application Testing options
    ORA-39001: 参数值无效
    ORA-39000: 转储文件说明错误
    ORA-39087: 目录名 DPUMP_DIR 无效
    
    • (23)删除BOOKSALES数据库中的USERS表空间,使用转储文件,利用IMPDP工具进行恢复。
    drop users;
    C:\Users\徐仕成>impdp scott/admin directory=dpump_dir dumpfile=emp_deptdmp tables=detp,emp nologfile=yes
    
    Import: Release 11.2.0.1.0 - Production on 星期一 63 00:56:42 2019
    
    Copyright (c) 1982, 2009, Oracle and/or its affiliates.  All rights reserved.
    
    UDI-28000: 操作产生了 ORACLE 错误 28000
    ORA-28000: the account is locked
    
    用户名: sys as sysdba
    口令:
    
    连接到: Oracle Database 11g Enterprise Edition Release 11.2.0.1.0 - 64bit Production
    With the Partitioning, OLAP, Data Mining and Real Application Testing options
    ORA-39001: 参数值无效
    ORA-39000: 转储文件说明错误
    ORA-39087: 目录名 DPUMP_DIR 无效
    

    上面有很多操作其实都失败了,具体原因我也不清楚,也一直没有解决,但是相关的命令应该都是正确的。

    创作不易,喜欢的话加个关注点个赞,蟹蟹蟹蟹

    展开全文
  • 简单直接,通俗易懂的Oracle数据库备份恢复。对于Oracle数据库不了解的同志,可以查阅。
  • 常有新手问我该怎么备份数据库,下面介绍3种备份数据库的方法:MySQL中的每一个数据库和数据表分别对应文件系统中的目录和其下的文件。在Linux下数据库文件的存放目录一般为/var/lib/mysql。在Windows下这个目录视...

    常有新手问我该怎么备份数据库,下面介绍3种备份数据库的方法:

    MySQL中的每一个数据库和数据表分别对应文件系统中的目录和其下的文件。

    在Linux下数据库文件的存放目录一般为/var/lib/mysql。在Windows下这个目录视MySQL的安装路径而定,DiaHosting的技术员一般为客户安装在D:serversoftmysql下。

    如,有一个名为bbs的数据库,那么bbs的数据库文件会存放在/var/lib/mysql/bbs(linux)或者D:serversoftmysqlbbs(Windows)下。

    备份文件前,需要将MySQL服务停止,然后将数据库目录拷贝即可。

    恢复数据数据库时,需要先创建好一个数据库(不一定同名),然后将备份出来的文件(注意,不是目录)复制到对应的MySQL数据库目录中。

    使用这一方法备份和恢复数据库时,需要新旧的MySQL版本一致,否则可能会出现错误。

    备份数据库:

    mysqldump –user=root –password=root密码 –lock-all-tables 数据库名 > 备份文件.sql

    恢复数据库:

    mysql -u root –password=root密码 数据库名 < 备份文件.sql

    (3)使用Web程序

    在这里我们推荐使用“帝国备份王”对MySQL进行备份。

    主要优点:

    1,跨平台。Windows与Linux下各种WEB环境均可以运行。

    2,智能识别编码,解决备份时的乱码问题。

    3,不同的MySQL版本间都可以进行备份和恢复操作。

    4,采用分组备份,即使是超过1G的数据库也可以正常备份。

    登录“帝国备份王”

    用户名:admin

    默认密码:123456

    9c4baf10aa8f537e6d9af87b439dd0ba.png

    第一次登录时程序会自动跳转到数据库的设置页面。

    82524c7df7bead66b2078d3d9db07e64.png

    安全起见,一定要修改默认的登录密码。

    0e398ceb948a2e2f12efe8b31d581395.png

    备份数据库

    2cf8a9f1d91ca9ee636d409e6d378a93.png

    4a991ade92c163a5d56ce569e9862559.png

    016e5dcbc8bf84f6ce0fe0a485810b88.png

    恢复数据库

    如果是在其他机器上恢复,需要将“帝国备份王”的程序以及bdata目录下存放备份数据的目录一起上传至新的机器上。

    22afce89125c01e38cc0580a8a9350dd.png

    5b48ea26c6fa2579a0373bc446fbdad2.png

    e1d486ade0f96562415eb94fe8de7d72.png

    93c8f3701f71d8e8af4dfc148e661bb8.png

    展开全文
  • 对于数据库管理员来说不能仅寄希望于计算机操作系统的安全运行,而是要建立一整套的数据库备份与恢复机制。当任何人为的或是自然的灾难一旦出现,而导致数据库崩溃、物理介质损坏等,就可以及时恢复系统中重要的数据...
  • 第16章 数据库备份与恢复;本章内容;本章要求;16.1 项目导入规划人力资源管理系统数据库备份与恢复;16.2 备份与恢复概述;16.2.1 备份与恢复的概念;1备份与恢复的作用;2备份的概念类型;3恢复的概念类型与恢复机制;...
  • 第 1 页实验十一 数据库备份与恢复(终稿) 实验十一 Oracle 数据库备份与恢复 实验目的要求 1. 常见数据备份与恢复的方法 2.学会 Oracle 备份方案的制定 实验内容步骤 1. Oracle 物理备份与恢复 准备工作 (1) ...
  • Oracle数据库备份与恢复是每个Oracle数据库管理人员都不许掌握的知识。Oracle数据库备份有三种方式,每种方式具有不同的恢复特性,因此应集成数据库文件系统备份,集成逻辑备份和物理备份。
  • 第11章+数据库备份与恢复.ppt第11章+数据库备份与恢复.ppt第11章+数据库备份与恢复.ppt第11章+数据库备份与恢复.ppt
  • conn / as sysdba 4、shutdown immediate startup mount; alter database flashback off ...alter database ...再次正常关闭数据库,并备份所有的数据文件和控制文件。 archive log list; 5、select table...
  • 第5章 SQL Server数据库备份与恢复

    千次阅读 2017-09-10 20:20:30
    (2) 通过实验进一步掌握数据库简单恢复模式完整恢复模式下的数据库备份与恢复方法中的基本概念操作方法。 (3) 理解数据库备份的重要性以及不同备份与恢复方法的差异。 SQL Server数据库的备份可以使用...
  • Zabbix系列:数据库备份与恢复

    千次阅读 2020-05-11 23:20:27
    数据备份 $ mysqldump zabbix --add-drop-table --add-locks --extended-insert -- single-transaction --quick -u zabbix -p | bzip2 > zabbix_database_backup.db.bz2 数据恢复 $ bzcat zabbix_...
  • Mysql数据库备份与恢复

    千次阅读 2020-12-08 18:00:01
    Mysql数据库的备份与恢复一、Mysql数据库备份的相关概述二、数据库备份的类型- 从物理和逻辑角度划分- 备份策略的三种角度- 数据备份的方法三、mysql数据库的备份操作(1)物理冷备份与恢复(2)使用mysqldump实现...
  • SQL Server数据库备份与恢复(C#代码示例)为你提示了简洁、易懂的代码示例
  • 数据库备份有多种分类方式。按备份的实现方式,可分为物理备份和逻辑备份,其中物理备份又分为冷备份和热备份;按备份的数据量分,则可分为完全备份、增量备份、差异备份。 一、按备份实现方式划分 1、冷备份 2、热...
  • MySql数据库备份与恢复——使用mysqldump 导入导出方法总结 mysqldump客户端可用来转储数据库或搜集数据库进行备份或将数据转移到另一个sql服务器(不一定是一个mysql服务器)。 转储包含创建表和/或装载表的sql...
  • 数据备份 一、数据备份方法及策略 MySQL数据库最常用的...通常小于100GB的MySQL数据库可以使用mysqldump备份工具进行备份,如果是超过100GB的数据,由于mysqldump备份方式采用的是逻辑备份,最大的缺陷是备份...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 281,719
精华内容 112,687
关键字:

数据库备份与恢复

友情链接: jtf.rar