公司從其他地方拿來個oracle庫的專案,已經幾年沒碰過oracle了,重新使用過程中全是坑,記錄下一些解決方法
oracle安裝流程就是上官網,下2個包,然後下一步,不記錄了。
建立表空間
createtablespace ssq
datafile
'g:\ssq.dbf
'size 50m
extent management local autoallocate;
//自動分配區間
新增表空間,在我又執行匯入命令的時候,報容量不夠的異常,貌似上邊的自動分配不是自動增長的意思
alter tablespace test adddatafile
'g:\ssq02.dbf
' size 1000m;
建立使用者test,為這個使用者分配表空間,這一步我直接在pl/sql developer中操作了。
匯入dmp資料庫檔案,需要先建立邏輯目錄,然後把dmp檔案放到這個邏輯目錄裡面,才能進行匯入,因為impdp命令中 dumpfile不支援路徑
建立邏輯目錄
createorreplace directory dump_dir as
'd:\database
'
檢視邏輯目錄
select*from dba_directories
賦權
grantread,write on directory dump_dir to test
匯入命令
impdp test/[email protected]:1521
以上就是基本的匯入過程
使用過程中還遇到了
ora-12514: tns: 監聽程式當前無法識別連線描述符中請求的服務
這個一般是最開始安裝的時候,監聽程式沒設定好,改了下listener.ora和tnsnames.ora檔案就好了,檔案位置可以在安裝目錄裡面搜下。
根據這個文章改的
就是把listener.ora改下,在sid_list中加乙個sid_desc
(sid_desc =(global_dbname = orcl )
(oracle_home = d:\myoracle\oracle\product\11.2.0\dbhome_2)
(sid_name = orcl)
)
然後把這兩個檔案中的host對應值全改成127.0.0.1,我是本地庫,然後就好了,
對了,還遇到乙個剛安裝後,安裝過程中建立的orcl賬號不能登入normail,只能sysdba。
這個時候新建立乙個賬號就可以了,不知道是有鎖還是什麼的,這個沒研究,等有空再說。
匯入過程中又遇到二個坑,乙個是安裝時資料庫設成了al32utf8,但拿過來的dmp檔案中編碼為zhs16gbk,匯入的時候會報錯 ora-12899: value too large for column,這個是因為gbk中漢字占用2個直接,utf8中佔3個位元組。
//檢視oracle編碼select userenv('
language
') from dual;
修改oracle資料庫編碼,重新匯入就好了,貼乙個其他人寫的文章
另乙個是報這個錯
ora-14460: 只能指定乙個 compress 或 nocompress 子句
在上邊的匯入語句後邊加上 transform=segment_attributes:n 就可以了
impdp test/[email protected]:1521在這個過程中把使用者跟下邊的資料刪了又重新建了一遍
drop
user test cascade; //加上cascade,把屬於這個使用者的表都刪了
建立使用者分配許可權,圖簡單直接用圖形介面建立了,貼個文章
至此,這個坑爹的資料庫檔案終於匯入完了,撒花!!!
oracle11g安裝後,本地無法登入
1 這種方式每次電腦重啟以後,都需要用sysdba的身份啟動資料庫 優點 能夠加深基本的sql密令的印象 缺點 麻煩 2 找到乙個資料夾 pfile 雖然每個人安裝oracle的路徑不一樣,但是在安裝的目錄下一定會找到這個資料夾!3 這個檔案下有個檔案 init.ora.1132014143422 ...
oracle11g資料匯入匯出
oracle資料庫中進行資料的匯入匯出時要在cmd中進行而不是在sqlplus中進行操作!1 向oracle資料庫中匯入完整的資料庫 字尾名 dmp 首先進入cmd,輸入sqlplus nolog執行oracle自帶程式,然後輸入conn as sysdba,以資料庫管理員 dba 的身份鏈結到後台...
oracle 11g登入密碼問題
可能原因如,請一一核對 1 如果你以sys使用者登入的話,連線身份請選擇 as sysdba 說明 如果你的sys使用者密碼在安裝的時候沒有修改,他的預設密碼是 change on install 如果你改了忘記了,可以利用如下方法重置 1 進入cmd 2 sqlplus as sysdba 3 a...