天天看點

rh5安oracle總結——上下鍵不能用、ed指令、無法本地啟動ODBC

1、切換使用者後就不能用sqlplus了,每次都得關機重新開機:

這要從su 和 su -  這兩個切換使用者的名令說起了,前者隻是切換了身份,但SHELL環境仍然是原使用者的SHELL;而後者連使用者和SHELL環境一起切換成新使用者的了。隻有切換了SHELL環境才不會出現PATH環境變量錯誤。也就能找到指令了。

  具體案例:

  我用root登陸。然後切換到oracle使用者下,執行sqlplus 指令 卻報錯:‍command not found!

  就是因為使用的是su ,而不是su -

  另外還有個很明顯的差別:

  比如說 root使用者在/root/目錄下, su oracle,

  切換到了oracle 使用者,但是目錄仍然在/root/下。

  如果使用su - oracle

  你可以發現目錄也切換到oracle使用者的家目錄下。此時的指令就可以用了,因為這時環境變量換成了oracle的啦。。

2、進入sqlplus後,進行指令操作,發現鍵盤上的上下箭頭鍵不能切換以前使用過的指令,左右箭頭鍵不能移動光标:

在Linux下面使用sqlplus很不爽,上下鍵,倒退鍵都不能用,嚴重降低生産效率。

某一天終于發現了這個rlwrap這個好東西,特寫此文記錄。

下載下傳後,将.zip擴充名去掉,傳到Linux伺服器上面。

先裝上一些安裝rpm

一:安裝readline

OS的安裝CD光牒裡提供了readline包.

二:安裝rlwrap

三:友善使用rlwrap

3、用ed指令時找不到預設的編輯器。

1 RedHat Enterprise Linux 5 Update 3;

2 oracle10g R2(10.2.0.1.0)for linux;

二 功能實作原因

    window平台上sqlplus中使用edit可以使用預設的筆記本打開緩沖區的内容,而linux平台上在sqlplus中預設執行edit指令不能執行編輯,這是沒有為sqlplus設定預設的編輯器。下文中将以vi為sqlplus的預設編輯器。

三 方法[以oracle使用者執行]

[oracle@as5u3 ~]$export EDITOR=vi #原文set _EDITOR=vi,"_"符号不使用

    登陸sqlplus中測試

[oracle@as5u3 ~]$sqlplus test/test

sql> select sysdate from dual;

sql> ed    [edit的簡寫] #sqlplus自動切換到vi,以vi打開緩沖區的語句

    在vi中修改sql,存盤,會自動重新讀入到sqlplus的緩沖區。

四 sqlplus進入後,執行ed時自動調用vi

五:vi .bash_profile   #寫入oracle使用者的環境變量

export EDITOR=vi   #将這行追加到最後一行

重新使用oracle登陸,進入sqlplus即可。

4、現象:不能在 本地計算機 啟動 OracleDBConsoleorcl。:

有關更多資訊,查閱系統事件日志。如果這是非 Microsoft 服務,請與服務廠商聯系,并參考特定服務錯誤代碼 2。

系統事件日志 報錯誤"Agent process exited abnormally during initialization."

出現情況:原來正常,IP位址變了後就不能啟動,  

我的解決步驟如下:

1、開始-》運作cmd

2、執行 emctl start dbconsole

C:\Documents and Settings\xcl>emctl start dbconsole

Environment variable ORACLE_SID not defined. Please define it.

提示:環境變量 ORACLE_SID 未定義,請定義。

3、設定 ORACLE_SID =ORCL (orcl是我的執行個體名,也是服務名)

C:\Documents and Settings\xcl>set oracle_sid=orcl

4、再次執行emctl start dbconsole

OC4J Configuration issue. E:\oracle\product\10.2.0\db_1/oc4j/j2ee/OC4J_DBConsole

_china-d9e3f7d07_orcl not found.

提示:無法找到“E:\oracle\product\10.2.0\db_1/oc4j/j2ee/OC4J_DBConsole

_china-d9e3f7d07_orcl “

注:china-d9e3f7d07 是我的計算機名

複制該目錄下的“OC4J_DBConsole_localhost_orcl”檔案夾放在同一目錄下,且把名稱改成“OC4J_DBConsole_china-d9e3f7d07_orcl”。

5、再次執行emctl start dbconsole

EM Configuration issue. E:\oracle\product\10.2.0\db_1/china-d9e3f7d07_orcl not f

ound.

提示:無法找到 “E:\oracle\product\10.2.0\db_1/china-d9e3f7d07_orcl ”

複制該目錄下的“localhost_orcl”檔案夾放在同一目錄下,且把名稱改成“china-d9e3f7d07_orcl”。

6、再次執行emctl start dbconsole

Oracle Enterprise Manager 10g Database Control Release 10.2.0.1.0

Copyright (c) 1996, 2006 Oracle Corporation. All rights reserved.

http://localhost:1158/em/console/aboutApplication

Starting Oracle Enterprise Manager 10g Database Control ...OracleDBConsoleorcl

服務正在啟動 ...................................................................

................................................................................

..............................

OracleDBConsoleorcl 服務已經啟動成功。

本方法 參考資料:

http://www.51edu.com/it/2009/0330/article_16537.html

出現情況:原來正常,IP位址變了後就不能啟動,報錯誤"Agent process exited abnormally during initialization."

  步驟:

  1:運作cmd

  2:執行emctl start dbconsole,提示“找不到環境變量ORCALE_SID”,請運作SET ORCALE_SID=***

  3:再次執行emctl start dbconsole,提示“無法找到D:\oracle\product\10.2.0\db_1\e1c8cd_SKYORCL”,複制該目錄下的“localhost_skyorcl”檔案夾放在同一目錄下,且把名稱改成“e1c8cd_SKYORCL”。

  4:再次執行emctl start dbconsole,提示“無法找到D:\oracle\product\10.2.0\db_1\oc4j\j2ee\OC4J_DBConsole_e1c8cd_skyorcl”,複制該目錄下的“OC4J_DBConsole_localhost_skyorcl”檔案夾放在同一目錄下,且把名稱改成“OC4J_DBConsole_e1c8cd_skyorcl”。

  4:再次執行emctl start dbconsole,既可以啟動

  注意:“localhost_skyorcl”與“OC4J_DBConsole_localhost_skyorcl”倆個檔案夾的我名稱與目錄由您自己安裝決定。

繼續閱讀