2009-01-04 29 views
11

Bir üretim veritabanını eşleştirmek için bir Oracle XE veritabanının SID değerini (Hizmet Adını değil) değiştirmek için gerekli olanı.Oracle XE örneğinin SID değerini nasıl değiştirebilirim?

Çevrimiçinde arama yapmayı denediğimde, sayfaların çoğu tnsnames.ora aracılığıyla bir hizmet adı değiştirmeyi veya ekleme adını açıklıyordu; Yapmam gereken şey bu değildi.

cevap

12

asktom makale cevabı var, ancak biçimlendirme ve ayrıntı zor takip yapar, yani burada bir özetini bulabilirsiniz: Oracle XE yüklü olduğu

[XE_HOME] anlamına gelir. Normalde bu, C:\oraclexe\app\oracle\product\10.2.0\server.

Yönetici ayrıcalıklarına sahip olduğunuzdan emin olun veya işlem başarısız olur.

  1. yapılandır 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. Düzenleme [XE_HOME]\database\initNEW_SID_NAME.ora (İsterseniz eski dosyayı kaldırabilirsiniz): SPFILE='[XE_HOME]\server\dbs/spfileNEW_SID_NAME.ora'
  2. : Böyle tek bir satır içermelidir
  3. Eski servisi kapatın ve yenisiyle değiştirin:
    1. sqlplus/as sysdba ve 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. Güncelleme ORACLE_SID çevre özelliği (Sistem Ayarları> Gelişmiş> Çevre)
  5. Kuvvet Oracle kayıt yürütmek dinle er
    • sqlplus/as sysdba ve yürütmek alter system register;

SID, aşağıdaki sorgu yürütülerek değiştirildi doğrulayabilirsiniz: böylece, select instance_name from v$instance;

+0

Yardım ettim, kendi cevabımı kabul etme düşüncesini beğenmedim. Cevabınız daha açık, –

4

Asktom'un the answer'u var, ona ulaşmak için çok fazla google-fu kullanmalıydım.

2

Ben Johannes tarafından gönderildi çözümü ile bazı sorunları vardı Bazı ekstra adımlar atmam gerekiyordu.sysdba olarak/sqlplus yaparak oracle (adım 4) bağlanmaya çalışırken aldım:

ERROR: ORA-12560: TNS:protocol adapter error 
Bunun çözümü aşağıdaki satırı yürütme edildi

:

oradim -start -sid NEW_SID_NAME 

Sonra bağlanarak/Bunu kontrol

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

: iyi çalıştı, ama sistem veya HR ile NEW_SID_NAME bağlanmaya çalışılırken bana başka sorun var select instance_name from v$instance; sorgusuyla dinleyicinin NEW_SID_NAME olacağı ve bu şekilde yapıldığı. Ancak komut satırında lsnrctl status koşturuyor veya select name from dba_services; sorgusu NEW_SID_NAME adlı kullanıcıyı bir dinleyici olarak göstermedi. Bu sorunun çözümü sqlplus üzerinde followind cümle infaz edildi:

alter system set service_names='NEW_SID_NAME'; 

Belki de bundan sonra alter system register; yürütmek gerekir.

Bu iki adımı yaptıktan sonra, sistem ve HR ile NEW_SID_NAME öğesine bağlanabilirim.

Yardım bu yaz

+0

Üzgünüm, unuttum, bu sorunları çözmek için kullandığım bağlantılar http://mdvreddy.blogspot.com.ar/2011/12/how-to-solve-ora-12560-tnsprotocol. html ve https://forums.oracle.com/forums/thread.jspa?messageID=10201664 – nMoncho

İlgili konular