ä¸ãçå¬å¨(LISTENER)
ããçå¬å¨æ¯Oracleåºäºæå¡å¨ç«¯çä¸ç§ç½ç»æå¡ï¼ä¸»è¦ç¨äºçå¬å®¢æ·ç«¯åæ°æ®åºæå¡å¨ç«¯æåºçè¿æ¥è¯·æ±ãæ¢ç¶æ¯åºäºæå¡å¨ç«¯çæå¡ï¼é£ä¹å®ä¹åªåå¨äºæ°æ®åºæå¡å¨ç«¯ï¼è¿è¡çå¬å¨ç设置ä¹æ¯å¨æ°æ®åºæå¡å¨ç«¯å®æçã
äºãæ¬å°æå¡å(Tnsname)
ããOracle客æ·ç«¯ä¸æå¡å¨ç«¯çè¿æ¥æ¯éè¿å®¢æ·ç«¯ååºè¿æ¥è¯·æ±ï¼ç±æå¡å¨ç«¯çå¬å¨å¯¹å®¢æ·ç«¯è¿æ¥è¯·æ±è¿è¡åæ³æ£æ¥ï¼å¦æè¿æ¥è¯·æ±ææï¼åè¿è¡è¿æ¥ï¼å¦åæç»è¯¥è¿æ¥ã
æ¬å°æå¡åæ¯Oracle客æ·ç«¯ç½ç»é
ç½®çä¸ç§ï¼å¦å¤è¿æOracleååæå¡å¨(Oracle Names Server)çãOracle常ç¨ç客æ·ç«¯é
置就æ¯éç¨çæ¬å°æå¡åï¼æ¬æä¸ä»ç»çä¹ä¸»è¦æ¯åºäºæ¬å°æå¡åçé
ç½®ã
ä¸ãOracleç½ç»è¿æ¥é
ç½®æ¹æ³
ããé
ç½®Oracleæå¡å¨ç«¯ä¸å®¢æ·ç«¯é½å¯ä»¥å¨å
¶èªå¸¦çå¾å½¢åOracleç½ç»ç®¡çå¨(Oracle Net Manager)éå®æï¼å¼ºç建议å¨è¿ä¸ªå¾å½¢åçå·¥å
·ä¸å®æOracleæå¡ç«¯æ客æ·ç«¯çé
ç½®ï¼ãå¨Windowsä¸ï¼ç¹å»âå¼å§/ç¨åº/Oracle - OraHome92/Configuration and Migration Tools/Net Managerâå¯å¨Oracleç½ç»ç®¡çå¨å·¥å
·ï¼å¨Linux/Unixä¸ï¼å©ç¨netmgrå½ä»¤æ¥å¯å¨å¾å½¢åOracleç½ç»ç®¡çå¨ï¼å¦ï¼
$ netmgr
Windowsä¸å¯å¨Net Managerå¾å½¢çªå£å¦ä¸å¾ç¤ºï¼
Oracle
1ã Oracleçå¬å¨é
ç½®(LISTENER)
ããå¦ å¾(ä¸)示ï¼éä¸æ å½¢ç®å½ä¸çå¬ç¨åºé¡¹ï¼åç¹å»å·¦ä¸ä¾§â+âæé®æ·»å çå¬ç¨åºï¼ç¹å»çå¬ç¨åºç®å½ï¼é»è®¤æ°å ççå¬å¨å称æ¯LISTENER(该å称ä¹å¯ä»¥ ç±ä»»æåæ³å符å½å)ãéä¸è¯¥å称ï¼éä¸çªå£å³ä¾§æ ä¸æé项ä¸çâçå¬ä½ç½®âï¼ç¹å»æ·»å å°åæé®ãå¨åºç°çç½ç»å°åæ çåè®®ä¸æé项ä¸éä¸ âTCP/IPâï¼ä¸»æºææ¬æ¡ä¸è¾å
¥ä¸»æºå称æIPå°å(å¦æ主æºå³ç¨ä½æå¡ç«¯ä¹ä½ä¸ºå®¢æ·ç«¯ï¼è¾å
¥ä¸¤é¡¹ä¹ä¸åææï¼å¦æ主æºä½ä¸ºæå¡ç«¯å¹¶éè¦éè¿ç½ç»è¿ æ¥ï¼å»ºè®®è¾å
¥IPå°å)ï¼ç«¯å£ææ¬æ¡ä¸è¾å
¥æ°å端å£ï¼é»è®¤æ¯1521ï¼ä¹å¯ä»¥èªå®ä¹ä»»ææææ°å端å£ãé
置好ççå¬ä½ç½®å¦ä¸å¾ç¤ºï¼
Oracle
ããé ä¸çªå£å³ä¾§æ ä¸æé项ä¸çâæ°æ®åºæå¡âï¼ç¹å»æ·»å æ°æ®åºæé®ãå¨åºç°çæ°æ®åºæ ä¸è¾å
¥å
¨å±æ°æ®åºåï¼å¦myoracleã注æè¿éçå
¨å±æ°æ®åºåä¸æ°æ® åºSIDææåºå«ï¼å
¨å±æ°æ®åºåå®é
éè¿ååæ¥æ§å¶å¨åä¸ç½æ®µå
æ°æ®åºå
¨å±å½åçå¯ä¸æ§ï¼å°±å¦Windowsä¸çååæ§å¶å¨ï¼å¦è¿éå¯ä»¥è¾å
¥ myoracle.192.168.1.5ãOracle主ç®å½å¯ä»¥ä¸å¡«åï¼è¾å
¥SIDï¼å¦myoracleãå®æ´çæ°æ®åºæå¡é
ç½®å¦ä¸å¾ç¤ºï¼
Oracle
ããä¿ å以ä¸é
ç½®ï¼é»è®¤å³å¯å¨Oracleå®è£
ç®å½ä¸æ¾å°çå¬é
ç½®æ件 (Windowsä¸å¦D:oracleora92networkadminlistener.oraï¼Linux/Unixä¸$ ORACLE_HOME/network/admin/listerer.ora)ãè³æ¤ï¼Oracleæå¡ç«¯çå¬å¨é
置已ç»å®æã
2ã æ¬å°æå¡åé
ç½®(Tnsnames)
ããæ¬ å°æå¡åæ¯åºäºOracle客æ·ç«¯çç½ç»é
ç½®ï¼æ以ï¼å¦æ客æ·ç«¯éè¦è¿æ¥æ°æ®åºæå¡å¨è¿è¡æä½ï¼åéè¦é
置该客æ·ç«¯ï¼å
¶ä¾é对象å¯ä»¥æ¯ä»»æä¸å°æ¬²è¿æ¥æ°æ® åºæå¡å¨è¿è¡æä½çpcæºï¼ä¹å¯ä»¥æ¯æ°æ®åºæå¡å¨èªèº«ãå¦åé¢æä»ç»ï¼å¯ä»¥å©ç¨Oracleèªå¸¦çå¾å½¢å管çå·¥å
·Net Manageræ¥å®æOracle客æ·ç«¯çé
ç½®ãéä¸å¦å¾(ä¸)ä¸çæå¡å½åï¼åç¹å»å·¦ä¸ä¾§â+âæé®ï¼å¼¹åºå¦ä¸å¾ç¤ºå¯¹è¯æ¡ï¼
Oracle
ããè¾å
¥Netæå¡åï¼å¦myoracleï¼ç¹å»ä¸ä¸æ¥ï¼è¿å
¥ä¸å¾ç¤ºå¯¹è¯æ¡ï¼
Oracle
éä¸TCP/IP(Internetåè®®)ï¼ç¹å»ä¸ä¸æ¥ï¼å¦ä¸å¾ç¤ºï¼
Oracle
ããè¾å
¥ä¸»æºåä¸ç«¯å£å·ã注æè¿éç主æºåä¸ç«¯å£å·å¿
é¡»ä¸æ°æ®åºæå¡å¨ç«¯çå¬å¨é
ç½®ç主æºåå端å£å·ç¸åãç¹å»ä¸ä¸æ¥ï¼å¦ä¸å¾ç¤ºï¼
Oracle
ããé ä¸(Oracle8iææ´é«çæ¬)æå¡åï¼è¾å
¥æå¡åãè¿éçæå¡åå®é
ä¸å°±æ¯æ°æ®åºæå¡å¨ç«¯çå¬å¨é
ç½®ä¸çå
¨å±æ°æ®åºåï¼åè
ä¸åè
å¿
é¡»ç¸åãè¿æ¥ç±»å é常éä¸ç¨æå¡å¨ï¼è¿è¦è§æ°æ®åºæå¡å¨çé
ç½®èå®ï¼å¦æé
ç½®çå
±äº«æ°æ®åºæå¡å¨ï¼è¿éçè¿æ¥ç±»åå°±è¦éå
±äº«æå¡å¨ï¼å¦å建议éä¸ç¨æå¡å¨(å
³äºä¸ç¨æå¡å¨ çä»ç»è¯·åé
ç¸å
³ææ¡£)ãé
置好åç¹å»ä¸ä¸æ¥ï¼å¦ä¸å¾ç¤ºï¼
Oracle
ãå¦ ææ°æ®åºæå¡å¨ç«¯ç¸å
³æå¡å¯å¨äºï¼å¯ä»¥ç¹å»æµè¯æé®è¿è¡è¿æ¥æµè¯ãOracleé»è®¤æ¯éè¿scott/tigerç¨æ·è¿è¡æµè¯è¿æ¥ï¼ç±äºscottç¨æ·æ¯ Oracleèªå¸¦ç示ä¾ç¨æ·ï¼å¯¹äºæ£å¼çä¸å¡æ°æ®åºæä¸ä¸æµè¯æ°æ®åºå¯è½æ²¡æé
ç½®è¿ä¸ªç¨æ·ï¼æ以éè¦æ´æ¹æææçç¨æ·ç»å½æå¯è½æµè¯æåãå¦æè¿éæµè¯è¿ æ¥ä¸æåï¼ä¹ä¸è¦ç´§ï¼å
ç¹å®ææé®ç»æé
ç½®ã
ããå å°Oracleç½ç»ç®¡çå¨(Oracle Net Manager)主çªå£ï¼ä¿åé
ç½®ï¼é»è®¤å³å¯å¨Oracleå®è£
ç®å½ä¸æ¾å°æ¬å°æå¡åé
ç½®æ件 (Windowsä¸å¦D:oracleora92networkadmintnsnames.oraï¼Linux/Unixä¸$ ORACLE_HOME/network/admin/ tnsnames.ora)ãé
ç½®å®æçæ¬å°æå¡åå¦ä¸å¾ç¤ºï¼
Oracle
ããæ å½¢ç®å½ä¸çæå¡å½åå¯ä»¥éè¿ç¼è¾èåéçéå½åèåæ´æ¹æä»»æåæ³å符ç»æçæå¡å称ï¼æ³¨ææå¡å称åä¸è½æç©ºæ ¼å符ï¼å¦åå¯è½æ æ³è¿æ¥æ°æ®åºæå¡å¨ã
3ã è¿æ¥æ°æ®åºæå¡å¨
(1) å¯å¨æå¡å¨ç«¯çå¬å¨ä¸æ°æ®åºæå¡
Linux/Unixä¸ï¼å¯å¨çå¬å¨ï¼
$ lsnrctl start
å
³éçå¬å¨ï¼
$ lsnrctl stop
æ¥ççå¬ç¶æï¼
$ lsnrctl status
å¯å¨æ°æ®åºï¼
$ sqlplus /nolog
SQL>conn sys@myoracle as sysdba --è¿éçmyoracleæ¯åé¢é
ç½®ç客æ·ç«¯æ¬å°æå¡å
æ
SQL>conn / as sysdba
SQL>startup
Windowsä¸ï¼å¯å¨çå¬å¨ï¼
C:lsnrctl start
å¯å¨Oracleå®ä¾æå¡ï¼
C:oradim ?a href="
http://game.pchome.net/pcgame" class="none" title="cs" rel="external">cstartup âsid myoracle
å
³éOracleå®ä¾æå¡ï¼
C:oradim âshutdown âsid myoracle
ãã以ä¸æå¡å¿
é¡»åæ¶å¯å¨ï¼å®¢æ·ç«¯æè½è¿æ¥æ°æ®åºãç±äºé»è®¤é
ç½®ççå¬å¨å称æ¯Listenerï¼ä¸è¿°å½ä»¤å¯ä»¥æ£å¸¸å¯å¨çå¬å¨ï¼å¦æçå¬å¨å称æ¯å
¶å®å称ï¼å¦aListenerï¼åéè¦ç¨ä¸åæ¹å¼æè½å¯å¨ï¼
Linux/Unixä¸ï¼
$ lsnrctl start aListener
Windowsä¸ï¼
C:lsnrctl start aListener
(2) æµè¯è¿æ¥æ°æ®åºæå¡å¨
ããæµè¯çæ¹æ³å¤ç§å¤æ ·ï¼å¯ä»¥å¨ä¸é¢é
ç½®æ¬å°æå¡åæ¶è¿è¡æµè¯ï¼ä¹å¯ä»¥æ¯ç¬¬ä¸æ¹å®¢æ·ç«¯å·¥å
·ï¼å¦PL/SQL Developerï¼ææ¹ä¾¿çæ¯ç¨Oracleèªå¸¦çsqlpluså·¥å
·ï¼ä»¥ä¸å©ç¨sqlplusè¿è¡æµè¯ï¼
C:sqlplus /nolog
SQL>conn zgh@myoracle
å·²è¿æ¥ã
åã客æ·ç«¯è¿æ¥æå¡å¨ç«¯å¸¸è§é®é¢æé¤æ¹æ³
ããè¦æé¤å®¢æ·ç«¯ä¸æå¡å¨ç«¯çè¿æ¥é®é¢ï¼é¦å
æ£æ¥å®¢æ·ç«¯é
ç½®æ¯å¦æ£ç¡®(客æ·ç«¯é
ç½®å¿
é¡»ä¸æ°æ®åºæå¡å¨ç«¯çå¬é
ç½®ä¸è´)ï¼åæ ¹æ®é误æ示解å³ãä¸é¢ååºå ç§å¸¸è§çè¿æ¥é®é¢ï¼
1ã ORA-12541: TNS: 没æçå¬å¨
æ¾èæè§ï¼æå¡å¨ç«¯ççå¬å¨æ²¡æå¯å¨ï¼å¦å¤æ£æ¥å®¢æ·ç«¯IPå°åæ端å£å¡«åæ¯å¦æ£ç¡®ãå¯å¨çå¬å¨ï¼
$ lsnrctl start
æ
C:lsnrctl start
2ã ORA-12500: TNS: çå¬ç¨åºæ æ³å¯å¨ä¸ç¨æå¡å¨è¿ç¨
对äºWindowsèè¨ï¼æ²¡æå¯å¨Oracleå®ä¾æå¡ãå¯å¨å®ä¾æå¡ï¼
C:oradim âstartup -sid myoracle
3ã ORA-12535: TNS: æä½è¶
æ¶
ããåºç°è¿ä¸ªé®é¢çåå å¾å¤ï¼ä½ä¸»è¦è·ç½ç»æå
³ã解å³è¿ä¸ªé®é¢ï¼é¦å
æ£æ¥å®¢æ·ç«¯ä¸æå¡ç«¯çç½ç»æ¯å¦ç
éï¼å¦æç½ç»è¿éï¼åæ£æ¥ä¸¤ç«¯çé²ç«å¢æ¯å¦é»æ¡äºè¿æ¥ã
4ã ORA-12154: TNS: æ æ³å¤çæå¡å
ããæ£ æ¥è¾å
¥çæå¡åä¸é
ç½®çæå¡åæ¯å¦ä¸è´ãå¦å¤æ³¨æçæçæ¬å°æå¡åæ件(Windowsä¸å¦D:oracleora92networkadmin tnsnames.oraï¼Linux/Unixä¸/network/admin/tnsnames.ora)éæ¯é¡¹æå¡çé¦ è¡æå¡å称åä¸è½æç©ºæ ¼ã
5ã ORA-12514: TNS: çå¬è¿ç¨ä¸è½è§£æå¨è¿æ¥æ述符ä¸ç»åºç SERVICE_NAME
ããæå¼Net Managerï¼éä¸æå¡å称ï¼æ£æ¥æå¡æ è¯æ éçæå¡åè¾å
¥æ¯å¦æ£ç¡®ã该æå¡åå¿
é¡»ä¸æå¡å¨ç«¯çå¬å¨é
ç½®çå
¨å±æ°æ®åºåä¸è´ã
6ã Windowsä¸å¯å¨çå¬æå¡æ示æ¾ä¸å°è·¯å¾
ããç¨ å½ä»¤æå¨æå¡çªå£ä¸å¯å¨çå¬æ示æ¾ä¸å°è·¯å¾ï¼æçå¬æå¡å¯å¨å¼å¸¸ãæå¼æ³¨å表ï¼è¿å
¥HKEY_LOCAL_MACHINE/SYSTEM/Current ControlSet/Services/OracleOraHome92TNSListener项ï¼æ¥çImagePathå符串项æ¯å¦åå¨ï¼å¦æ没 æï¼è®¾å®å¼ä¸ºD:oracleora92BINTNSLSNRï¼ä¸åçå®è£
è·¯å¾è®¾å®å¼åç¸åºçæ´æ¹ãè¿ç§æ¹æ³åæ ·éç¨äºOracleå®ä¾æå¡ï¼å ä¸ï¼æ¾å°å¦åHKEY_LOCAL_MACHINE/SYSTEM/Current ControlSet/Services/Oracle ServiceMYORACLE项ï¼æ¥çImagePathå符串项æ¯å¦åå¨ï¼å¦æ没æï¼åæ°å»ºï¼è®¾å®å¼ä¸ºd:oracleora92 binORACLE.EXE MYORACLEã