師傅讓我導入一個數據庫,備份文件的格式是dmp。對Oracle不熟悉,更沒這樣“複製”一個數據庫。所以查了一些資料。經歷了一下步驟
刪除原有oracle,電腦上原來的oracle數據庫被我整的亂七八糟。所以刪除了原有數據庫。
以
NT
的
Administrator
登陸
以“高級用戶”的身份登錄電腦。
停用所有oracle服務。
刪除註冊表中的HKEY_LOCAL_MACHINE\SOFTWARE\ORACLE
刪除註冊表中的HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services中的所有以Oracle開頭的所有服務。
刪除註冊表中的HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\EventLog\Application中以oracle開頭的所有服務。
打開控制面板—>系統—>環境變量。
如果ORACLE安裝了JRE,就刪除%ORACLE_HOME%\BIN和JRE路徑。比如 \ORACLE\ORA81\BIN;G: \Program Files\Oracle\jre\1.1.7\bin
刪除\Winnt\Profiles\All Users\Start Menu\Programs\Oracle 和 \Winnt\Profiles\All Users\Start Menu\Programs\Oracle
刪除\Program Files\Oracle
重啓機器
刪除所有ORACLE目錄(在註冊表 HKEY_LOCAL_MACHINE\SOFTWARE\ORACLE\ORACLE_HOMES下)
安裝oracle。
創建用戶HLJGS。(這個用戶是dmp文件中要求的,似乎不能變)
在HLJGS用戶下,創建新的表空間RTABLES。(這個似乎也是dmp文件中要求的,但不確定)
導入sql文件,創建相應的表。(不知道這一步驟是否多餘)
導入dmp文件,語句如下
$imp HLJGS./yandong inctype=rectore full=y ignore=y file=C:\oracle\product\10.2.0\db_1\BIN\hljgs.dmp
其中:ignore=y需要有,表示如果表已存在,忽略之繼續運行。(但是我不知道這裏的忽略是跳過dmp中create table語句,還是刪除原表,創建新表)
導入成功。
但是我這裏還有一些遺留問題。
導入dmp中,對於用戶真的有要求嗎?
導入dmp中,表空間是否必須新創建,新創建的表空間名字是否必須是某個名?
導入dmp之前是否必須導入sql文件?
ignore=y需要有,表示如果表已存在,忽略之繼續運行。但是我不知道這裏的忽略是跳過dmp中create table語句,還是刪除原表,創建新表?