【轉】Oracle 10g安裝完成後的測試筆記

        之前都是用現成的oracle,今天第一次在linux下安裝oracle 10,裝的過程還算順利,詳見上一篇《Linux AS4下安裝Oracle 10g

在安裝完成後,發現不少問題,baidu了N下,都一一解決啦,現整理如下:

首先:用oracle用戶登陸

1. sqlplus sys as sysdba

2. 提示輸入密碼(安裝oracle時第一步設置的密碼)

3. 啓動數據庫

    SQL>startup
          ORACLE instance started.
          Total System Global Area  268435456 bytes
          Fixed Size                  1218892 bytes
          Variable Size              92276404 bytes
          Database Buffers          171966464 bytes
          Redo Buffers                2973696 bytes
          Database mounted.
          Database opened.

若之前已啓動,系統將提示:ORA-01081: cannot start already-running ORACLE - shut it down first

可用如下命令關閉數據庫:

       ·shutdown normal  正常方式關閉數據庫。
  ·shutdown immediate   立即方式關閉數據庫。
  ·shutdown abort  直接關閉數據庫,正在訪問數據庫的會話會被突然終止

 
4. SQL> conn scott/tiger
          Connected

若scott用戶在安裝oracle時沒被解鎖,可通過以下方法解鎖scott用戶

     首先以system帳戶登陸sqlplus,密碼爲安裝時設置的。

         然後    alter user scott account unlock;

         提示重輸密碼,OK了。 

5. SQL> select * from tab;
          TNAME                          TABTYPE  CLUSTERID
          ------------------------------ ------- ----------
          DEPT                           TABLE
          EMP                            TABLE
          BONUS                          TABLE
          SALGRADE                       TABLE

哈哈,又看到久違的這幾張表了,說明oracle服務端已正常啓動。

 

以下測試通過遠程登陸,判斷監聽是否正常:

首先:執行在linux下用oracle用戶登陸,輸入命令開啓監聽:lsnrctl start  

如果無法正常啓動監聽,屏幕應該會有一些打印信息,不過,我沒碰到,所以暫時就先不討論異常情況啦!   

oracle我是在vm虛擬機上裝的(ps:機子配置太低,一路上那個卡啊,還好我意志堅強,再卡都裝起來了^_^),把虛擬機ip設爲192.168.0.3(用setup命令裏面有個關於網絡配置功能),我的xp系統ip爲192.168.0.1 

 默認網關都設爲192.168.0.1    可通過ping命令判斷局域網是否能通,哇,一ping就通了,先恭喜自己一下!

在保證了oracle的服務和監聽都能起來,兩臺機也能ping通的前提下,接着在xp安裝oracle客戶端,我是裝9i的,選擇好安裝目錄,其他的按默認就行了。裝好後在安裝目錄ora92/network/admin下,用記事本編輯tnsname.ora文件,我的配置如下:

     ORCL =
  (DESCRIPTION =
    (ADDRESS_LIST =
      (ADDRESS = (PROTOCOL = TCP)(HOST = 192.168.0.3)(PORT = 1521))
    )
    (CONNECT_DATA =
      (SERVICE_NAME = orcl)
    )
  )
#orcl 爲oracle的sid    host爲要oracle服務器地址

配置好之後可以cmd裏面用tnsping orcl看看是不是能通,誒,延遲才0毫秒~~,成功啦~

之前有遇到過執行tnsping命令時提示不是內部或外部命令,這是因爲環境變量的造成的,只要在path裏面加一個oracle安裝目錄下的bin路徑就可以啦,或者土一點,先cd到bin目錄下,再執行tnsping~~~不過,還是不建議用這種土鱉的方法,配個環境變量可以一勞永逸嘛~~~~(ps:這裏說的都是在xp裏執行的,不是linux裏哇,只是友情提醒一下,高手看了您別笑我~)

之後我又安裝了PLSQL Developer     (這個東西,那是相當好用啊!)

一切準備就緒!打開PLSQL Developer,輸入username/passwd   database選擇剛纔在tnsname裏配的orcl,哎喲,登上去了,灰常開心啊!!!

看來一切都很順利,下面麻煩來了······

 

關於dbstart的設置

       每次通過上述的方法來啓動數據庫比較麻煩,下面嘗試用dbstart啓動數據庫

首先,用oracle用戶登陸,輸入dbstart  發現如下屏幕打印提示:

Failed to auto-start Oracle Net Listene using /ade/vikrkuma_new/oracle/bin/tnslsnr

baidu一下,發現下面這篇文章(截取部分):

看來是listener服務沒有起來,但是執行lsnrctl start卻能啓動listener服務。
搜索dbstart文件中的tnslsnr字符串

grep tnslsnr dbstart

返回結果:
  if [ -f $ORACLE_HOME_LISTNER/bin/tnslsnr ] ; then
    echo "Failed to auto-start Oracle Net Listene using $ORACLE_HOME_LISTNER/bin/tnslsnr"

看來可能是ORACLE_HOME_LISTNER環境變量引起的,查找 ORACLE_HOME_LISTNER

grep ORACLE_HOME_LISTNER dbstart

返回結果
# 3) Set ORACLE_HOME_LISTNER
ORACLE_HOME_LISTNER=/ade/vikrkuma_new/oracle
if [ ! $ORACLE_HOME_LISTNER ] ; then
  echo "ORACLE_HOME_LISTNER is not SET, unable to auto-start Oracle Net Listener"
  LOG=$ORACLE_HOME_LISTNER/listener.log
  if [ -f $ORACLE_HOME_LISTNER/bin/tnslsnr ] ; then
    $ORACLE_HOME_LISTNER/bin/lsnrctl start >> $LOG 2>&1 &
    export VER10LIST=`$ORACLE_HOME_LISTNER/bin/lsnrctl version | grep "LSNRCTL for " | cut -d' ' -f5 | cut -d'.' -f1`
    echo "Failed to auto-start Oracle Net Listene using $ORACLE_HOME_LISTNER/bin/tnslsnr"
        $LOGMSG "Restart Oracle Net Listener using an alternate ORACLE_HOME_LISTNER: lsnrctl start"

其中有一段給ORACLE_HOME_LISTNER環境變量賦值,但是這個路徑是不對的,編輯dbstart文件
vi dbstar
將該行改爲export ORACLE_HOME_LISTNER=$ORACLE_HOME
保存退出。

滿心歡喜的再次dbstart,昏,沒反應,還有個dbshut也是沒反應,繼續baidu,如下:

dbstart需要修改/etc/oratab,
your_sid:/oracle/product/9.2.0.4:N
將最後N修改爲Y

更加滿心歡喜的再次dbstart,哇哈哈,起來了~~~果然baidu一下你就知道!!(雖然心裏覺得g.cn似乎更牛,不知道爲什麼,每次第一反應就是baidu  ^_^)

用dbshut也能正常關閉數據庫了,怎麼有種婦唱夫隨的感覺····

再次回到xp用PLSQL Developer登陸,oh yeah~~~連上了!!!看來一切都正常了~~~

終於可以心安理得的休息一下啦···(boo同學借您的“心安理得”用一下,您沒意見吧?)

 

以下是之前看到自動啓動數據庫的方法,先貼上來,等有空又有心情的時候再試試吧

數據庫的啓動:
欲啓動數據庫服務,在系統啓動後,登錄oracle用戶:
su – oracle
lsnrctl start
dbstart
emctl start dbconsole
isqlplusctl start

這樣可以手工啓動數據庫。若要讓數據庫在系統啓動時隨之啓動,就需要多動點手了:
1. 首先修改/etc/oratab  把orcjava:/home/oracle/OraHome_1:N改爲orcjava:/home/oracle/OraHome_1:Y
2. 然後修改/etc/rc.local
添加如下幾行:
su - oracle -c 'lsnrctl start'
su - oracle -c 'dbstart'
su - oracle -c 'emctl start dbconsole'
su - oracle -c 'isqlplusctl start'
3.    進入/home/oracle/OraHome_1/bin 修改dbstart文件,將oratab=etc/oratab
重新啓動:reboot 看看系統能否自動加載服務
如果仍然不能,請檢查環境變量是否正確。如果/etc/下無oratab文件,到/home/oracle/install/目錄下,複製oratab文件到/etc下,並修改。

 

原文地址:http://lin-liyan.blog.163.com/blog/static/165582312009047038675/

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章