zoukankan      html  css  js  c++  java
  • 带有Wallet的impdp导入过程

    带有Wallet的impdp导入过程

    今天接到一个任务,要求还原由Expdp方式导出的dmp包。

    环境:

    源ORACLE版本:ORACLE 10G R2,目标ORACLE版本 :11g R2。

    源操作系统 :Windows 2003 Server SP2,目标操作系统:SUSE 11.1。

    步骤如下:

    1、创建ORACLE DIRECTORY。

    使用root用户登录SUSE系统,建立目录/u01/oradir,作为DIRECTORY的物理目录。同时授予ORACLE用户访问此目录的权限 chown 777 oracle /u01/oradir。切换至ORACLE 用户,用system账户登录ORACLE,创建DIRECTORY。Create or replace directory dpdata as ‘/u01/oradir’.创建完成后,输入命令查看结果。Select * from dba_directories。

    OWNER                          DIRECTORY_NAME

    ------------------------------ ------------------------------

    DIRECTORY_PATH

    --------------------------------------------------------------------------------

    SYS                            DPDATA

    /u01/oradir

    2、将dmp文件copy至/u01/oradir中。

    3、切换至ORACLE用户,数据impdp命令进行导入。

    impdp system/password encryption_password=password dumpfile=init.dmp

    悲剧的发现无法正常导入无法找到wallet配套的密钥。看来还需要启动wallet才行.上网查了一下,发现需要在ORACLE的sqlnet.ora文件中新增加对wallet的路径设置才行。于是兴致勃勃的找到你安装oracle 的路径,例如:/u01/oracle/product/11gR2/db/network/admin,又一次悲剧的发现居然没有sqlnet.ora。原来对于oracle服务端来说sqlnet.ora不是必须的,所以我们在这里必须手动建立一个。

    从windows下的oracle client中拷贝一个sqlnet.ora到Linux中,配置wallet路径,配置项如下:

    ENCRYPTION_WALLET_LOCATION =

     (SOURCE=

       (METHOD=file)

         (METHOD_DATA=

           (DIRECTORY=/u01/orawallet)))

    重启oracle服务,再次执行导入命令,又一次的发现报出权限错误,这又是什么问题啊。查了一下,发现问题处在sqlnet文件的第一行上,SQLNET.AUTHENTICATION_SERVICES= (NTS),这里表示在windows中进行操作系统的权限验证,需要将这一行注释掉。

    再次重启oracle服务,发现导入命令终于可以正常使用了。

    4、 导入某个Schema数据。在导入过程中发现无法进行多个schemad的同时导入操作,只能单个Schema导入,这个有待再研究,导入命令为:

    impdp system/password encryption_password=password dumpfile=init.dmp Schemas=yourschema

       5、以上操作均是在system用户下进行的。

  • 相关阅读:
    [非专业翻译] Mapster
    [非专业翻译] Mapster
    排序之猴子算法
    1309游客统计
    1631低洼地
    1636车牌问题
    1638图形
    这是一篇小短文
    1500【自定义函数】走楼梯
    PHP 之表单提交大数据,数据不完整
  • 原文地址:https://www.cnblogs.com/liwei81730/p/2849985.html
Copyright © 2011-2022 走看看