在Linux下安裝Oracle果然是好麻煩,先是要下載一坨庫。因為用的是Testing的Debian,而安裝用到的包大多都是old stable的,一般是在port里找不到的,都要在Debian的網(wǎng)站上手工搜索,有些包還有依賴的包,于是順藤摸瓜都要下下來。主要參考的手冊是網(wǎng)上流傳比較多的一個pdf文檔。
唯一與文檔安裝不同的是,我在安裝的時候選擇了直接配置一個數(shù)據(jù)庫實例,界面有所不同。pdf也提供了所有依賴的包,雖然不是Oracle聲明的版本(那些也太老了,gcc3.3啊libstdc++5啊什么的都出來了叫= =),不過確實可用,但是我不知道我哪里一個庫出了問題,在安裝過程中還是跳了一個錯誤,不過好像目前還沒發(fā)現(xiàn)有問題。
-
然后就是數(shù)據(jù)庫的設(shè)置問題了。像Windows下都傻瓜式設(shè)置好了,這里還要自己再重新設(shè)置一下。
1、在.profile里要填好$Oracle_HOME $ORACLE_BASE $ORACLE_SID,這些一定要與安裝的時候的參數(shù)一致喔。
2、然而就在我第一次用sqlplus,scott用戶登錄的時候,就報錯了
ORA-01034: Oracle not available
ORA-27101: shared memory realm does not exist
Linux Error: 2: No such file or directory
Process ID: 0
Session ID: 0 Serial number: 0
網(wǎng)上查了一下,應該是數(shù)據(jù)庫實例沒有啟動,于是我就dbstart $Oracle_HOME,但是
Oracle_HOME_LISTNER is not SET, unable to auto-start Oracle Net Listener
我只好先sqlplus / as sysdba,然后在startup。
3、listener.ora的設(shè)置。這里也頗費周章,不知道為什么一開始沒有設(shè)置好,反正原先只有
LISTENER =
(DESCRIPTION_LIST =
(DESCRIPTION =
(ADDRESS = (PROTOCOL = IPC)(KEY = EXTPROC1521))
(ADDRESS = (PROTOCOL = TCP)(HOST = localhost)(PORT = 1521))
)
)
這明顯是不可能起得來的。所以在前面添加了幾行
SID_LIST_LISTENER =
(SID_LIST =
(SID_DESC =
(SID_NAME = PLSExtProc)
(Oracle_HOME = /var/oracle/product/11.2.0/db_1)
(PROGRAM = extproc)
)
(SID_DESC =
(GLOBAL_DBNAME = orcl.styx)
(Oracle_HOME = /var/oracle/product/11.2.0/db_1)
(SID_NAME = orcl.styx)
)
)
于是這番,然后把之前的那個TCP連接的HOST改成數(shù)據(jù)庫主機的IP,就可以遠程訪問數(shù)據(jù)庫了。
4、我在客戶端上用sqldeveloper連接數(shù)據(jù)庫主機的sys用戶,總是提示用戶名密碼不正確,我檢查了好幾遍依然不見好轉(zhuǎn),忽然在網(wǎng)上看到,密碼文件要跟數(shù)據(jù)庫實例的名字一致,于是找到$Oracle_HOME/dbs/,看了下文件名,密碼文件應該就是orapworcl沒錯了,orapw就是密碼文件的前綴,orcl應該是個實例名……可是我的實例叫orcl.styx啊,估計就是這里的問題了!
$ cp orapworcl orapworcl.styx
然后在sqlplus / as sysdba里面
SQL> shutdown immediate
Database closed.
Database dismounted.
Oracle instance shut down.
SQL> startup
Oracle instance started.
Total System Global Area 849530880 bytes
Fixed Size 1339824 bytes
Variable Size 499125840 bytes
Database Buffers 343932928 bytes
Redo Buffers 5132288 bytes
Database mounted.
Database opened.
SQL>
然后就可以正常使用遠程訪問了,如果不修改,可以用除了sysdba之外的帳號訪問,比如scott之類,但是sysdba會被提示密碼錯誤。
好像遇到的就這些問題吧,還有就是不能自己啟動,要自己手動startup,然后dbstart也不能用,不知道怎么回事。 本文出自:億恩科技【www.cmtents.com】
服務器租用/服務器托管中國五強!虛擬主機域名注冊頂級提供商!15年品質(zhì)保障!--億恩科技[ENKJ.COM]
|