程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 數據庫知識 >> Oracle數據庫 >> Oracle教程 >> Oracle導入IMP-00058錯誤及其他

Oracle導入IMP-00058錯誤及其他

編輯:Oracle教程

Oracle導入IMP-00058錯誤及其他


接觸到一個項目 ,需要用到oracle 於是:

一:下載,安裝 ,

這裡面講的很仔細, 很清楚,跟著做就可以了。感謝作者。

http://blog.csdn.net/cxin917/article/details/50637891

因為我oracle 直接裝的是32位,(聽說32位比64穩定,兼容還是什麼的)

就沒有做上面連接教程,直接連接就可以了。

二:導入數據庫 ,因為同事給的都是dmp文件,收索了一下 ,相當於sql server 的備份數據庫吧。

當時oracle 是用虛擬機裝的 ,總是出 1017 ,或者其他錯誤什麼的,出錯改錯,網上怎麼說怎麼做,還是不行 ,錯誤一個接一個。

於是 ,放棄 虛擬機。直接裝系統裡面了。

此時,就是回到一,安裝步驟安裝了。

三:找了好久 ,說導入.dmp 文件 ,說如果是exp 形式導出的, 需要用 imp 導入。 當然 ,是cmd 窗口下運行。

列:exp test/test@test file =E:\Oracle\daochutest.dmp full = y

還說 ,導入前 需要 建立 表空間, 用戶 。 要跟導出的時候 一樣才行,要不然 存儲過程 視圖啥的 可能會丟失。

具體 步驟 如下:

\create tablespace test datafile 'E:\Oracle\test.ora' size 500m;
--1.這裡的test為表空間名稱,路徑自己來命名。然後點執行按鈕。


create user test identified by test default tablespace test quota 500m on users;
-- 2.這裡第一個test為用戶名,第二個test為密碼,第三個test為表空間名。然後執行。


--3.授權 給test 賦的權限挺高的 可以導出
grant dba , connect,resource to test


--4刪除表空間格式:
DROP TABLESPACE test
INCLUDING CONTENTS AND DATAFILES CASCADE CONSTRAINTS


/*
tablespace:指定要刪除的表空間的名稱
INCLUDING CONTENTS:刪除表空間內的所有段
AND DATAFILES:刪除關聯的操作系統文件
CASCADE CONSTRAINTS:如果要刪除的表空間之外的表引用了該表空間內表的主
鍵和唯一鍵,則刪除這種引用完整性約束。
*/


drop user test
--5.刪除用戶

2 好3 之間,在test 中 建立了一個表。測試用。

2執行後,不能導 因為沒有權限 。

所以3 給了權限。 dba

然後 在cmd 執行 ,我用的管理員,怕普通的不行,還沒有用普通的嘗試。

導出成功,得到如下.dmp 文件。

\

導出成功。

四:嘗試 導入

1. 試圖把表空間給刪除掉。 想看是不是沒有表空間 會錯誤。

\

然後導入,報錯:

\

報:IPM-00058 錯誤 遇到 12154 。

2.重新建立 表空間 :

http://blog.csdn.net/xiaojin21cen/article/details/40077893

\

\

表空間 建好。

2.再導入:


imp test/test@orcl file =E:\Oracle\daochutest.dmp full = y

還是報一樣的錯誤,此時 應該是沒有建立用戶吧 用戶名 密碼都不存在的。

於是 ,添加 用戶,給予權限,重新導入

\

導入成功 。

另:用toad 工具 查看 .dmp文件 ,可以看到 具體內容

\

本來只想導出test 裡面的東西的,結果把所有的都導出來了,看來導出的時候,參數填寫的少,還需要改進。

網上搜了一下, 只需要在 導出的時候 加個參數 :onwer = test(當前用戶),並將 full = y 這句話 去掉 就可以了(不去掉 會起沖突)

今天又重新實驗了一下,發現 如果是用 dba 的權限導出的,必須要用dba的權限導入,如果是普通的用戶 導出的,

如果用system這個賬號的話,即使不建立表空間也是可以的 ,但是 一般的用戶 很少有system 的權限。 最好還是要建立一個表空間。

完結撒花。

  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved