1. 程式人生 > >oracle IMP EXP的技巧,和解決IMP-00003: 遇到 ORACLE 錯誤 1435 ORA-01435: 使用者不存在

oracle IMP EXP的技巧,和解決IMP-00003: 遇到 ORACLE 錯誤 1435 ORA-01435: 使用者不存在

C:/>imp neohkdev1/xml full=y file=c:/neo.20070411.dmp

Import: Release 10.2.0.1.0 - Production on 星期四 4月 12 10:06:45 2007

Copyright (c) 1982, 2005, Oracle. All rights reserved.


連線到: Oracle Database 10g Enterprise Edition Release 10.2.0.1.0 - Production
With the Partitioning, OLAP and Data Mining options

經由直接路徑由 EXPORT:V09.02.00 建立的匯出檔案
已經完成 ZHS16GBK 字符集和 AL16UTF16 NCHAR 字符集中的匯入
匯出客戶機使用 WE8ISO8859P1 字符集 (可能的字符集轉換)
. 正在將 NEOHKDEV1 的物件匯入到 NEOHKDEV1
. 正在將 U426522 的物件匯入到 U426522
IMP-00003: 遇到 ORACLE 錯誤 1435
ORA-01435: 使用者不存在
成功終止匯入, 但出現警告。

這樣的原因可能是沒有建立一個使用者!!!dmp檔案已經定好是這個使用者

neo.20070411.dmp

第一部分:

檢視oracle中的imp,exp命令:
    imp help=y
    exp help=y
1.    匯出表資料:
    檔名以backup_yyMMddHHmm.dmp 表示
    dateString=`date +%y%m%d%H%M`
    #echo $dateString
    su - oracle -c "exp userid/password tables=table1,table2 file= path/backup_$dateString.dmp BUFFER=8192 grants=y compress=N"
   compress:N表明匯出來的檔案不需要壓縮放在一個數據塊中,當資料庫中的表資料特別大的時候,若放在不同的資料庫,在恢復的時候會有問題。  
   匯出的資料包括表建立語句,序列,觸發器等。
2.    匯入表資料
   表匯入的過程:建立表,匯入資料,建立序列
    echo backup file:$1
    fileName=$1
    echo $fileName
    #if [ "$fileName" = ""]
    #then
    #   echo "請指定備份恢復的檔名,請指定絕對檔案路徑"
    #   exit 0;
    #fi
    #echo fileName=$fileName
    su - oracle -c "imp userid/password file=$fileName show=n buffer=2048000 ignore=Y commit=y grants=y full=y"
 
    ignore:Y表明忽略表建立的過程,只是將表中的資料匯入表中。 

第二部分:

--如何在oracle中匯入dmp資料庫檔案?
 2006/2/16 zhanghua first create                            

     Oracle資料匯入匯出imp/exp就相當於oracle資料還原與備份。exp命令可以把資料從遠端資料庫伺服器匯出到本地的dmp檔案,imp命令可以把dmp檔案從本地匯入到遠處的資料庫伺服器中。 利用這個功能可以構建兩個相同的資料庫,一個用來測試,一個用來正式使用。
 
執行環境:可以在SQLPLUS.EXE或者DOS(命令列)中執行,
 DOS中可以執行時由於 在oracle 8i 中  安裝目錄/ora81/BIN被設定為全域性路徑,
 該目錄下有EXP.EXE與IMP.EXE檔案被用來執行匯入匯出。
 oracle用java編寫,SQLPLUS.EXE、EXP.EXE、IMP.EXE這兩個檔案有可能是被包裝後的類檔案。
 SQLPLUS.EXE呼叫EXP.EXE、IMP.EXE所包裹的類,完成匯入匯出功能。
 
下面介紹的是匯入匯出的例項。
資料匯出:
 1 將資料庫TEST完全匯出,使用者名稱system 密碼manager 匯出到D:/daochu.dmp中
   exp

system/[email protected] file=d:/daochu.dmp full=y
 2 將資料庫中system使用者與sys使用者的表匯出
   exp system/[email protected] file=d:/daochu.dmp owner=(system,sys)
 3 將資料庫中的表inner_notify、notify_staff_relat匯出
    exp aichannel/[email protected] file= d:/data/newsmgnt.dmp tables=(inner_notify,notify_staff_relat) 

 4 將資料庫中的表table1中的欄位filed1以"00"打頭的資料匯出
   exp system/[email protected] file=d:/daochu.dmp tables=(table1) query=/" where filed1 like '00%'/"
 
  上面是常用的匯出,對於壓縮,既用winzip把dmp檔案可以很好的壓縮。
  也可以在上面命令後面 加上 compress=y 來實現。

資料的匯入
 1 將D:/daochu.dmp 中的資料匯入 TEST資料庫中。
   imp system/[email protected]  file=d:/daochu.dmp
   imp aichannel/[email protected] full=y  file=file= d:/data/newsmgnt.dmp ignore=y
   上面可能有點問題,因為有的表已經存在,然後它就報錯,對該表就不進行匯入。

   在後面加上 ignore=y 就可以了。
 2 將d:/daochu.dmp中的表table1 匯入
 imp system/[email protected]  file=d:/daochu.dmp  tables=(table1)
 
 基本上上面的匯入匯出夠用了。不少情況要先是將表徹底刪除,然後匯入。
 
注意:
 操作者要有足夠的許可權,許可權不夠它會提示。
 資料庫時可以連上的。可以用tnsping TEST 來獲得資料庫TEST能否連上。

附錄一:
 給使用者增加匯入資料許可權的操作
 第一,啟動sql*puls
 第二,以system/manager登陸
 第三,create user 使用者名稱 IDENTIFIED BY 密碼 (如果已經建立過使用者,這步可以省略)
 第四,GRANT CREATE USER,DROP USER,ALTER USER ,CREATE ANY VIEW ,
   DROP ANY VIEW,EXP_FULL_DATABASE,IMP_FULL_DATABASE,
      DBA,CONNECT,RESOURCE,CREATE SESSION  TO 使用者名稱字
 第五, 執行-cmd-進入dmp檔案所在的目錄,
      imp userid=system/manager full=y file=*.dmp
      或者 imp userid=system/manager full=y file=filename.dmp

 執行示例:
 F:/Work/Oracle_Data/backup>imp userid=test/test full=y file=inner_notify.dmp

螢幕顯示
Import: Release 8.1.7.0.0 - Production on 星期四 2月 16 16:50:05 2006
(c) Copyright 2000 Oracle Corporation.  All rights reserved.

連線到: Oracle8i Enterprise Edition Release 8.1.7.0.0 - Production
With the Partitioning option
JServer Release 8.1.7.0.0 - Production

經由常規路徑匯出由EXPORT:V08.01.07建立的檔案
已經完成ZHS16GBK字符集和ZHS16GBK NCHAR 字符集中的匯入
匯出伺服器使用UTF8 NCHAR 字符集 (可能的ncharset轉換)
. 正在將AICHANNEL的物件匯入到 AICHANNEL
. . 正在匯入表                  "INNER_NOTIFY"          4行被匯入
準備啟用約束條件...
成功終止匯入,但出現警告。


附錄二:
 Oracle 不允許直接改變表的擁有者, 利用Export/Import可以達到這一目的.
  先建立import9.par,
  然後,使用時命令如下:imp parfile=/filepath/import9.par
  例 import9.par 內容如下:
        FROMUSER=TGPMS       
        TOUSER=TGPMS2     (注:把表的擁有者由FROMUSER改為TOUSER,FROMUSER和TOUSER的使用者可以不同)          
        ROWS=Y
        INDEXES=Y
        GRANTS=Y
        CONSTRAINTS=Y
        BUFFER=409600
        file==/backup/ctgpc_20030623.dmp
        log==/backup/import_20030623.log




本文來源:http://blog.csdn.net/yuer888/archive/2007/03/21/1536483.aspx

相關推薦

oracle IMP EXP技巧解決IMP-00003 遇到 ORACLE 錯誤 1435 ORA-01435

                C:/>imp neohkdev1/xml full=y file=c:/neo.2

oracle IMP EXP技巧解決IMP-00003: 遇到 ORACLE 錯誤 1435 ORA-01435: 使用者存在

C:/>imp neohkdev1/xml full=y file=c:/neo.20070411.dmp Import: Release 10.2.0.1.0 - Production on 星期四 4月 12 10:06:45 2007 Copyright (c) 1982, 2005, Orac

C#讀取含中文字符的數據失敗原因解決辦法

address p s tps home 拓撲 時代 res 筆試題 baidu C++內存檢測 如何理解設備樹中address-cells和size-cells 補《歡聚時代2017校招筆試題目(PHP工程師類)---錯題解析》 QGC地圖上任務項 銜擄懶蹤恃梢刻

Java:遞迴 - 用遞迴實現冒泡解決遞迴返回值問題

不能用for/while,使用遞迴實現冒泡 和for/while一樣,只是迭代的引數都要寫成傳參否則會丟失狀態 下面的程式碼loop表示每次的冒泡遍歷次數,執行時依次遞減。 遞迴冒泡程式碼: /* * a recursive way of bubbleSort *

記錄一次失敗的向git提交程式碼解決的方法。(首次建立倉庫)

背景: 向git push程式碼(建立一個新的倉庫) 做法: 在github建立一個新的倉庫------>本地新建資料夾------->依次執行了下面的命令 git init git clone git checkout -b master

httpurlconnection下載pdf文件打開的原因解決代碼

ont 地方 buffere stp rop 文檔 字符 har pro 前幾天遇見一個問題,httpurlconnection發送請求下載pdf文件的時候,文件是下載下來了,但是打不開。 之前並沒有對pdf操作的相關功能,所以一直是使用的字符流讀取內容。 字符流主要針對一

httpurlconnection下載pdf檔案打開的原因解決程式碼

前幾天遇見一個問題,httpurlconnection傳送請求下載pdf檔案的時候,檔案是下載下來了,但是打不開。 之前並沒有對pdf操作的相關功能,所以一直是使用的字元流讀取內容。 字元流主要針對一些文字文件(比位元組流操作的效率要高),比如.txt、.doc,而pdf就不行。 位元組流幾乎可

vue專案打包上線時的配置操作 vue的圖片路徑背景圖片路徑打包後錯誤解決

vue的圖片路徑,和背景圖片路徑打包後錯誤解決 2017-12-11 16:00 by muamaker, 7037 閱讀, 0 評論, 收藏, 編輯 最近在研究vue,老實的按照官網提供的,搭建的了 webpack+vue+vue

vue的圖片路徑背景圖片路徑打包後錯誤解決

最近在研究vue,老實的按照官網提供的,搭建的了 webpack+vue+vuex+vue-router,,因為是自己搭建的,所以踩了不少坑,一般問題百度都有,這個背景圖片的問題,查了很久才解決。 1、找到 config->index.js裡面,如下修改 2、找到 build->utils.js

20180910:發現MySQL無法通過用Onedrive共享資料庫檔案解決navicate 無法連線報錯1251錯誤

今天發現問題: 一、不能使用Onedrive共享MySQL資料庫。 本一直想在公司和家裡都可以寫程式,於是就考慮用Onedrive共享目錄功能,通過將公司和家裡的MySQL的資料庫的位置DATA目錄修改到Onedrive目錄,來實現公司和家裡都能使用同一

Android studio第一次匯入專案遇到的問題解決方案

在github或者其他的git平臺下載的android studio專案匯入到自己的Android studio中會出現一堆問題,    首先在匯入之前先用自己的Android studio建立一個測試工程,主要使用測試工程下的2個檔案,分別是:./build.gradle

Oracle使用子查詢左連線查詢同樣結果效能差距。

這條SQL,執行,查詢所有員工當月的考勤記錄彙總,展示全部資料耗時2.3秒 String sql = "select userid,orgid," +子查詢,效能太慢,不適用"(select username from t_acl_userinfo where userid

oracle使用者建立、授權許可權設定(關於Oracle許可權2)

許可權: create session create table unlimited tablespace connect resource dba 例: #sqlplus /nolog SQL> conn / as sysdba; SQL>

cublas中執行矩陣乘法運算的函式 首先要注意的是cublas使用的是以列為主的儲存方式c/c++中的以行為主的方式是一樣的。處理方法可參考下面的註釋程式碼

cublas中執行矩陣乘法運算的函式 首先要注意的是cublas使用的是以列為主的儲存方式,和c/c++中的以行為主的方式是不一樣的。處理方法可參考下面的註釋程式碼 cublas中執行矩陣乘法運算的函式 首先要注意的是cublas使用的是以列為主的儲存方式,和c/c+

Oracle利用expimp,資料泵impdpexpdp匯入匯出資料spool匯出資料

Oracle利用exp和imp,資料泵impdp和expdp匯入匯出資料,spool匯出資料 注意: (1)imp只能匯入exp匯出的檔案 ,imp,exp是客戶端程式,操作少量資料  (2)impdp只能匯入expdp匯出的檔案,impdp,expdp是伺服器端程式,操作適量大的

Oracle使用expimp導出、導入數據

drop use conn drop user oca host sysdba 使用 ade ===========導出============ exp 用戶名/密碼@服務器(localhost) file=文件路徑.dmp owner=(用戶名) ===========

Oracle資料匯入匯出imp/exp sp2-0734:未知的命令開頭'imp 忽略了剩餘行預設分類 解決辦法

sp2-0734:未知的命令開頭'imp 忽略了剩餘行預設分類 2010-03-03 17:36:08 閱讀134 評論0 字號:大中小 很多時候問題並沒有我們想象的那麼複雜,比如這個問題,我Google,百度了很久都沒有結果, 最後在Google的一個小連結裡面看到了,

suse Oracle 11g 執行sqlplusexpimp等命令引起的段錯誤

suse升級了glibc的版本到2.15,不影響資料庫的正常執行,但是Oracle的普通命令sqlplus等命令,執行時會引起段錯誤,解決方案:重灌suse,glibc是Linux的原始碼包,不能降級版本

oracle通過exp imp 匯出或匯入指定表

指定表: exp test/oracle  file=/u01/b.dmp tables=mema.t1,mema.t3 imp user/password file=file.dmp TABLES=t1,T2; 全部: exp test/[email 

Linux-CentOS6.50-ORACLE備份exp/還原imp操作還原後資料庫欄位註釋為???

匯出指令碼中增加:export NLS_LANG=AMERICAN_AMERICA.ZHS16GBK或者vi ~/.bash_profile增加:export NLS_LANG=AMERICAN_AMERICA.AL32UTF8 source ~/.bash_profile