Oracle另存为~

很多的应用场景下,为了防止灾难的发生,防范重要数据的丢失,异地容灾解决方案层次不穷。那么数据库无疑成为厂家重点保护的对象,那么来一起学习一下Oracle的备份机制。

为北戴河等地区用户提供了全套网页设计制作服务,及北戴河网站建设行业解决方案。主营业务为成都网站制作、网站建设、北戴河网站设计,以传统方式定制建设网站,并提供域名空间备案等一条龙服务,秉承以专业、用心的态度为用户提供真诚的服务。我们深信只要达到每一位用户的要求,就会得到认可,从而选择与我们长期合作。这样,我们也可以走得更远!

Oracle备可以分为逻辑导出/导入和物理备份/恢复

    逻辑备份:其实就是利用exp/imp命令来实现表库的数据信息

    导出:

        CMD命令模式下exp -? 查看帮助,简单介绍两个参数和使用格式

            1)owner           users to export: format is '(user1, user2, .., userN)'指定导出那些用户的表,如果一个用户不存在会出警告不会影响另一个用户表导出

                格式如下:exp system/system owner=(user1,user2) file=D:/path  ------->file为保存路径 ------------>owner等于多个参数时候要用括号括起来

            2)tables          tables to export: format is '(table1, table2, ..., tableN)'指定导出那些表,一次可以灵活选择多个表备份

                格式如下:exp system/system tables=(tables1,tables2) file=D:/path.dmp

        基本格式大同小异 希望大家多多看帮助手册(参考必须)

     导入:

        sql*plus中通过host 指令来调用DOS命令,注意Oracle 9i命令增量导出inctype已经废弃,导入使用imp命令 imp -? SQL*PLUS下要先打上 host

            导入格式:imp system/system file=D:/path.dmp 带上参数 tables=(user1,user2) 该命令只导入user1,user2这两张表。

             SQL>host imp system/system file=D:/path.dmp tables=(user1,user2); 在SQL*PLUS中使用方式

        不论导入还是导出在没有指定参数的情况下将使用ORACLE_SID默认的环境变量库,前面已经涉及SID知识。

物理备份/恢复

      分为两大类:冷备份和热备份

           什么是冷备份,简单粗暴来说关闭数据库,复制库文件,这些文件有数据文件,控制文件,日志文件,联机的BEDOLOG和Init.org(可选)。

            冷备份步骤

                1)关闭数据库 shutdown normal(正常关闭)

                2)当前在SQL*PLUS环境下 SQL>host copy D:\oracle\product\...\oradata\test(原库的路径) E:\Backup(备份位置的路径) 

                    解析:其实就是将以文件(块)存储在磁盘的数据库复制到另一个文件夹内保存

                  恢复更简易,只要保证数据库关闭状态,把备份的库复制到老的库位置即可

          什么是热备份:有人也叫平滑升级,在启动状态的数据库下进行数据库备份,因为很多场合应用场景绝不可能让你把某一台数据库关闭,高可用集群除外,所以掌握热备份非常必要(数据库一定是归档模式)

          什么是归档模式:当我们启动数据库的时候,会有很多初始化信息,其中就会有Redo Buffer重做缓冲区大小,那么我们数据库有联机重做日志,这个日志是记录增删改查等等操作记录,一个Oracle的数据库有至少有两个归档重做日志,在非归档模式下,那么当第一个归档日志写满之后切换第二个联机重做日志,当第二个归档日志写满以后切换写第一个联机重做日志,新内容将老的日志记录覆盖,那么会导致内容丢失。如果在归档模式下,在一个联机重做日志写满之后切换时候将会归档,并复制到其他目录,这样会相对了避免了数据丢失。

            热备份步骤

                1)首先我们把数据库进入mount阶段,修改归档模式,命令如下

                    SQL>alter database mount 

                    SQL>alter database archivelog;

                2)那么我们打开数据,便于对数据库操作

                    SQL>alter database open;            

                3)查看是否开启归档模式

                    SQL>archive log list;

                4)开启表空间备份模式

                    SQL>alter tablespace users begin backup;

                5)备份表空间

                    SQL>host copy D:\app\....\oradate\xx.dbf D:\Backup

                6)关闭表空间备份

                    SQL>alter tablespace users end backup;

                7)备份控制文件

                    SQL>alter database backup controlfile to '' reuse;

                8)备份控制文件脚本

                    SQL>alter database backup controllfile to trace;

                在Oracle_home\intsance_name\udump控制的跟踪文件,复制文件到备份目录下,热备份完成,详细的知识点会继续完善。

    


文章标题:Oracle另存为~
分享路径:http://scyanting.com/article/ijhsod.html