• Oracle数据库导入导出 imp/exp备份还原


    Oracle数据导入导出imp/exp 

     
    Oracle数据导入导出imp/exp
    cmddos命令提示符下执行,而不是在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@orcl file=d:exportoracle.dmp full=y
    注意:
    如果出现:
                    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
       如果出现问题,可能是因为有的表已经存在,然后它就报错,对该表就不进行导入。
       在后面加上 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 以退出) > 回车
     
    此时系统会自动进行备份.
     
  • 相关阅读:
    初探element+vue+vue-router
    git命令移动文件夹到另一文件夹
    javascript最大公约数与最小公倍数
    求1-100数字的和
    [摘录]代码优化规则
    基于.NET平台常用的框架和开源程序整理
    软件架构师的12项修炼
    Service Oriented Architecture and WCF 【转】
    电商网站的初期技术选型【转】
    论SOA架构的几种主要开发方式【转】
  • 原文地址:https://www.cnblogs.com/1175429393wljblog/p/9529334.html
Copyright © 2020-2023  润新知