2009-01-04 8 views
11

के एसआईडी को कैसे बदल सकता हूं मुझे उत्पादन डेटाबेस से मेल खाने के लिए ओरेकल एक्सई डेटाबेस (सेवा नाम नहीं) के एसआईडी को बदलने की आवश्यकता है।मैं ओरेकल एक्सई इंस्टेंस

जब मैंने ऑनलाइन खोज करने की कोशिश की, तो अधिकांश पृष्ठ tnsnames.ora के माध्यम से सेवा नाम बदलने या जोड़ने का वर्णन कर रहे थे; ऐसा नहीं है जो मुझे करने की ज़रूरत है।

उत्तर

12

asktom लेख जवाब है, लेकिन स्वरूपण और शब्दाडंबर इसे का पालन करने के लिए कठिन बना देता है, इसलिए यहाँ एक सारांश है:

[XE_HOME] का मतलब है जहां Oracle XE स्थापित किया गया है। आम तौर पर यह C:\oraclexe\app\oracle\product\10.2.0\server है।

सुनिश्चित करें कि आपके पास व्यवस्थापकीय विशेषाधिकार हैं या प्रक्रिया विफल हो जाएगी।

  1. कॉन्फ़िगर spfile (अगर आप चाहते हैं कि आप पुरानी फाइल को हटा सकते हैं)
    1. copy [XE_HOME]\dbs\spfileXE.ora [XE_HOME]\dbs\spfileNEW_SID_NAME.ora
    2. copy [XE_HOME]\database\initXE.ora [XE_HOME]\database\initNEW_SID_NAME.ora
    3. संपादित [XE_HOME]\database\initNEW_SID_NAME.ora: SPFILE='[XE_HOME]\server\dbs/spfileNEW_SID_NAME.ora'
  2. : यह इस तरह एक ही पंक्ति को शामिल करना चाहिए
  3. शटडाउन और पुरानी सेवा को नए से प्रतिस्थापित करें:
    1. sqlplus/as sysdba और shutdown
    2. lsnrctl stop
    3. oradim -new -sid NEW_SID_NAME -startmode auto -pfile [XE_HOME]\database\initNEW_SID_NAME.ora
    4. oradim -delete -sid XE
    5. lsnrctl start
  4. अद्यतन ORACLE_SID पर्यावरण संपत्ति (सिस्टम सेटिंग> उन्नत> पर्यावरण)
  5. बल ओरेकल रजिस्टर करने के लिए निष्पादित सुनो के साथ एर
    • sqlplus/as sysdba और निष्पादित alter system register;

आप सत्यापित कर सकते हैं कि सिड निम्न क्वेरी को निष्पादित करके बदला गया था: select instance_name from v$instance;

+0

धन्यवाद, मुझे अपना जवाब स्वीकार करने का विचार पसंद नहीं आया। आपका उत्तर बहुत स्पष्ट है, –

4

Asktom the answer है, मुझे इसे पाने के लिए बहुत सारे Google-fu से गुजरना पड़ा।

2

मैं समाधान जोहानिस द्वारा पोस्ट की गई साथ कुछ समस्या थी, तो मुझे कुछ अतिरिक्त कदम उठाना पड़ा। जब ओरेकल (चरण 4) से कनेक्ट करने की कोशिश कर रहा sqlplus कर/sysdba रूप से मुझे मिल गया:

ERROR: ORA-12560: TNS:protocol adapter error 

इस के लिए समाधान निम्न पंक्ति को क्रियान्वित किया गया था:

oradim -start -sid NEW_SID_NAME 

फिर साथ जोड़ने/ठीक काम किया, लेकिन सिस्टम या एचआर के साथ NEW_SID_NAME से कनेक्ट करने का प्रयास करने से मुझे एक और समस्या मिली:

ERROR: ORA-12514: TNS:listener does not currently know of service requested in connect descriptor 

मैंने जांच की क्वेरी select instance_name from v$instance; के साथ कि श्रोता NEW_SID_NAME होगा, और ऐसा भी हुआ। लेकिन कमांड लाइन में lsnrctl status चला रहे हैं या select name from dba_services; पर क्वेरीकरण श्रोता के रूप में NEW_SID_NAME नहीं दिखाया। इस समस्या के समाधान के sqlplus पर followind सजा को क्रियान्वित किया गया था:

alter system set service_names='NEW_SID_NAME'; 

हो सकता है कि आप भी इस के बाद alter system register; पर अमल करने की आवश्यकता होगी।

इन दो चरणों के बाद मैं सिस्टम और एचआर के साथ NEW_SID_NAME से कनेक्ट कर सकता हूं।

आशा है कि यह

+0

क्षमा करें, मैं भूल गया, लिंक जो मैंने इस समस्या को हल करने के लिए उपयोग किया था, जहां http://mdvreddy.blogspot.com.ar/2011/12/how-to-solve-ora-12560-tnsprotocol। एचटीएमएल और https://forums.oracle.com/forums/thread.jspa?messageID=10201664 – nMoncho