oracle9測試庫安裝,Linux下安裝配置Oracle

一、序

早在《虛擬機RedHatLinux9安裝Oralce92全過程》一文中,(鏈結:http://blog.csdn.net/msdnlu/archive/2007/07/07/1681850.aspx)

就詳細說明了Linux環境安裝Oracle的過程。不過再次嘗試去發現了不少漏洞和新問題,

不得不感嘆Linux安裝配置Oracle的復雜性。本文平台RedHat 企業版4+Oracle 9.2.0.4

二、修正錯誤

在《虛擬機RedHatLinux9安裝Oralce92全過程》一文中,提到:

[注意事項]

1.最好在Windows下解壓縮出cpio文件,Winrar支持gz格式。經測試,Linux下執

行gunzip速度太慢。

這是十分不妥的!一方面Windows下Winrar解壓縮速度,比起PC Server SCIS,實

在太慢了。另一方面解壓縮出的安裝文件,在Linux下安裝會有大量問題,每遇到

完全大寫的文件,就提示沒有權限操作。后來在Linux解壓安裝未發生任何問題。

后分析,當時得出這個結論原因是虛擬機的性能比較低,主觀臆斷而已。

三、安裝與配置中新的問題

除了以上的嚴重錯誤,其他安裝過程是沒有任何問題的。

本次安裝,只建立了一個oracle用戶和對應組,組名也為oracle。

第一個問題:

在訪問Windows共享資源時,smbmount不能打開端口,即mount -t smbfs無效。

原因是Windows機器開了防火牆,禁止了相關端口。

第二個問題:

圖形化安裝過程,提示不能創建文件,無相關權限,這是由於在Windows下對

gz文件做了解壓縮,后來在Linux gunzip即可。

第三個問題:

首次安裝,設置oraInventory目錄,系統提示用root執行orainstRoot.sh。如果此

后有問題終止安裝后,重裝發現oraInventory目錄不能更改。原因是存在/etc/oraInst.loc

文件。刪除后,即可進行設置更改

第四個問題:

Exception thrown from action: make

Exception Name: MakefileException

Exception String: Error in invoking target install of makefile /home/oracle/ora9/oracle/plsql/lib/ins_plsql.mk

編譯make -f ins_plsql.mk提示什么找不到對應的glic2.3 ...

這個問題是由於Oracle安裝要求低版本的gcc,原來在虛擬機安裝的gcc版本是3.2.2

可以通過,這個企業版本Linux的gcc是3.4.4,后來發現存在/usr/bin/gcc32,將

mv /usr/bin/gcc /usr/bin/gccnew

mv /usr/bin/gcc32 /usr/bin/gcc

再進行安裝,沒有任何問題,不過安裝之后須要改回原樣。

第五個問題:

使用dbca時創建數據庫時,最后一步出現錯誤:

home/oracle/ora9/oracle/bin/dbca: line 124: 31614 Segmentation fault      $JRE_DIR/bin/jre -DORACLE_HOME=$OH -DJDBC_PROTOCOL=thin -mx64m -classpath $CLASSPATH oracle.sysman.assistants.dbca.Dbca $ARGUMENTS

修改dbca,將最后一行改為:

# Run DBCA

$JRE_DIR/bin/jre -native -DORACLE_HOME=$OH -DJDBC_PROTOCOL=thin -mx64m -classpath $CLASSPATH oracle.sysman.assistants.dbca.Dbca $ARGUMENTS

fi

即添加了一個native參數即可。

四、數據庫的導入導出

這里采用imp,exp進行針對性的數據導入導出。

1.建立bat文件(expdata.bat),至於bat用法可help 命令查詢幫助。內容如下:

copy E:/backup/*.* E:/old_backup

del /q E:/backup/*.*

oracle_bakup.vbs

2.VB Script 腳本 oracle_bakup.vbs:

Option Explicit

On Error Resume Next

Dim fname, cmd

Dim WshShell

Set WshShell = CreateObject("WScript.Shell")

fname = Date

cmd = "exp log=e:/" & fname & ".log file=e:/" & fname & "_.dmp parfile=exp.txt"

WshShell.run cmd

Set WshShell = Nothing

'WScript.Echo cmd

3.exp.txt文件內容:

userid=test/test@zjyx68

buffer=209715200

tables=

(

CNT_INFO,

CNT_OPERATOR

)

compress=yes

consistent=no

grants=yes

indexes=yes

rows=yes

constraints=yes

三個文件均在同一目錄,雙擊執行bat即可,這里需要着重說明的是:

A.字符集的一致性(字符集的經典文章《Oracle字符集問題總結》http://blog.csdn.net/liwei_cmg/archive/2006/06/04/772674.aspx)

B.導入導入段的客戶端版本和服務器版本的兼容性,如在9.2客戶端導出9.0數據庫

再導入時會出現如下錯誤:

. importing CUSTOM's objects into CUSTOM

IMP-00017: following statement failed with ORACLE error 922:

"CREATE TABLE "LIWEI_TEST" ("NAME" VARCHAR2(10))  PCTFREE 10 PCTUSED 40 INIT"

"RANS 1 MAXTRANS 255 STORAGE(INITIAL 524288 FREELISTS 1 FREELIST GROUPS 1) T"

"ABLESPACE "CUSTOM" NOLOGGING NOCOMPRESS"

IMP-00003: ORACLE error 922 encountered

ORA-00922: missing or invalid option

Import terminated successfully with warnings.

即使創建相關表結構,使用ignore參數仍然出錯,將相關語句放在sqlplus執行

會提示NOCOMPRESS為無效選項,這里推測還是版本的兼容性問題,即保證向下兼容。

如用9.2客戶端導出9.0數據庫,提示

EXP-00056: ORACLE error 942 encountered

ORA-00942: table or view does not exist

EXP-00000: Export terminated unsuccessfully

后使用9.0客戶端導入導出,則無任何問題。

C.導入導出的buffer十分重要,如果內存夠大,盡量設置大一些,尤其是在導出

的情況,否則頻繁的磁盤IO會導致導入導出十分緩慢。

D.對於Package Function Procedure Sequence DBLink之類的導出,實際上就

導出創建語句,可以使用PL/SQL進行操作,導入時只須執行導入的.sql文件即可。

五、最后的說明

相關的系列文章到此就結束了,總體看來十分瑣碎,然解決起來通常令人頭疼 。

故用了大量篇幅羅列記錄,以備查閱。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值