zoukankan      html  css  js  c++  java
  • oracle备份后还原数据库

    一 .  数据的导入与导出

      
    1. 数据的导出 : 输入exp 指令  ,没有数据的表不导出 。
    2. 数据的导入 :进入到备份文件所在路径 ,输入imp 指令 。 
    实际工作中 不使用这种方式 导出 。
     
    二.  数据库的冷备份:常用的
      说明 :冷备份,称为归档备份,指的是数据库要关闭服务, 备份如下文件:
      控制文件:控制着oracle 的实例信息 “v$controlfile” 数据字典文件
       重做日志文件 :“v$logfile”
            数据文件:"v$datafile"
            核心配置文件 (pfile) :""
            
          1. 使用 sys登陆
          2. select * from v$controlfile ;
              select * from v$logfile
        select * from v$datafile
        show parameter pfile
         3,  记录好这些文件的路径 
         4. 关闭 Oracle 服务。
      shutdown immediate 
        5 拷贝所有备份文件 
        6  重新启动服务 
           startup 
           这种备份是允许关闭计算机服务。
     
     ——————————————————————————————————————————————————————————————————————————————
     

    Oracle数据导入导出imp/exp 

     
    Oracle数据导入导出imp/exp
    在cmd的dos命令提示符下执行,而不是在sqlplus里面,但是格式一定要类似于:
     
    imp/exp 用户名/密码@service_name或oracle_sid full=y  file=C:导出文件名称.dmp ignore=y
     
    imp 命令是在dos提示符下执行的,直接cmd后执行而不是在sql下执行的
     
    数据导出:
    1 将数据库完全导出,用户名wlj ,密码wlj 导出到D:exportoracle.dmp中
       exp wlj/wlj@IP地址/orcl file=d:exportoracle.dmp full=y


    exp wlj/wlj@ip地址/orcl file=d:exportoracle.dmp full=y
    exp wlj/wlj@ip地址/orcl tables=表名 file=d:exportoracle.dmp full=y
     

    --expdp导出数据
    expdp CCENSE/CCENSE@OracleDB directory = "dpdata1" dumpfile ="oracleExpdp.dmp" logfile = oracleExpdp20161103.log

    注意:
    如果出现:
                    EXP-00056: 遇到 ORACLE 错误 12154
                    ORA-12154: TNS: 无法解析指定的连接标识符
                    EXP-00000: 导出终止失败
    这个很明显是连接不上你的数据库,你可以查看一下你的net manager里面的服务名有没配置好
    解决方法:1、不再服务端的话,在其它机器可能通过service_name或oracle_sid来访问数据库,注意service_name必须写正确,需要查看oracle net  manager 中的数据库的tns配置实例名称(上面@后面的 orcl)是否与需要连接的一样,cmd中使用 tnsping orcl 可以ping同的话,就说明没有问题。
                      2、在服务端的话,在服务器本地导出文件时要用服务器本地的连接名,也就是说要查看服务器的tnsnames.ora文件中的服务名称,有的话就是使用相应的名称,若没有,则使用空,什么也不填写,如图2,大致目录D:SoftsOracleproduct11.2.0dbhome_1NETWORKADMIN下面tnsnames.ora 如图1

    图1

    图2

     
    2 将数据库中system用户与sys用户的表导出
       exp wlj/wlj@orc file=d:exportoracle.dmp owner=(system,sys)
    3 将数据库中的表inner_notify、notify_staff_relat导出
        exp wlj/wlj@orcl file= d:exportoracle.dmp tables=(inner_notify,notify_staff_relat)
    4 将数据库中的表table1中的字段filed1以"00"打头的数据导出
       exp  wlj/wlj@orcl  file=d:exportoracle.dmp tables=(table1) query=" where filed1 like '00%'"
      上面是常用的导出,对于压缩,既用winzip把dmp文件可以很好的压缩。
      也可以在上面命令后面 加上 compress=y 来实现。
     

    数据的导入

    1 将d:exportoracle.dmp 中的数据导入 TEST数据库中。
       imp wlj/wlj@orcl file=d:exportoracle.dmp
       imp  wlj/wlj@orcl full=y  file=d:exportoracle.dmp ignore=y

     --impdp导入数据
      impdp CCENSE/CCENSE@OracleDB directory="dpdata1" dumpfile="oracleExpdp.dmp" logfile = oracleImpdp20161103.log FULL=y;

       如果出现问题,可能是因为有的表已经存在,然后它就报错,对该表就不进行导入。
       在后面加上 ignore=y 就可以了。
    2 将d:exportoracle.dmp中的表table1 导入
    imp  wlj/wlj@orcl   file=d:exportoracle.dmp  tables=(table1)
     
    注意:基本上上面的导入导出够用了。不少情况要先是将表彻底删除,然后导入。
     
    注意:1、操作者要有足够的权限,权限不够它会提示。
               2、数据库是可以连上的。可以用tnsping orcl 来获得数据库orcl能否连上。
     
     
    当然,上面的方法在导出数据时可能会导出很大的包,那是因为你的用户可能在授权的时候授予了DBA的权限,所以可以采用下面方法来进行数据库备份:
     
    数据库备份
    建议系统过渡后,每周进行一次备份。或者在数据表发生重大改变前,对要改变的数据表进行备份。
    执行以下步骤,进行备份。
    在命令行里,敲入“cmd”,回车,进入命令行窗口。
    在窗口中,输入:
    exp mas/123456@mas
     
    系统提示:输入数组提取缓冲区大小: 4096 >
    可以直接回车;
      www.2cto.com 
    系统提示:导出文件: EXPDAT.DMP>
    此处输入导出文件的位置,其路径必须存在,Oracle在这里不会自动建立路径,但可以建立文件名。备份文件以dmp作为后缀。
    输入内容如:e:workmas_db_090925v1.dmp 回车
     
    系统提示: (1)E(完整的数据库),(2)U(用户) 或 (3)T(表): (2)U > u
    此处可以输入u,也可以直接回车,因为系统此时默认的是U
     
    系统提示:导出权限(yes/no):yes>回车
     
    系统提示:导出表数据(yes/no):yes>回车
     
    系统提示:压缩区(yes/no):yes>回车
     
    系统提示:要导出的用户: (RETURN 以退出) > mas
     
    系统提示:要导出的用户: (RETURN 以退出) > 回车
     
    此时系统会自动进行备份.
    学而不思则罔,思而不学则殆
  • 相关阅读:
    POJ 2018 二分
    873. Length of Longest Fibonacci Subsequence
    847. Shortest Path Visiting All Nodes
    838. Push Dominoes
    813. Largest Sum of Averages
    801. Minimum Swaps To Make Sequences Increasing
    790. Domino and Tromino Tiling
    764. Largest Plus Sign
    Weekly Contest 128
    746. Min Cost Climbing Stairs
  • 原文地址:https://www.cnblogs.com/linyu51/p/14665882.html
Copyright © 2011-2022 走看看