GNU/Linux >> Belajar Linux >  >> Linux

Bisakah saya mengubah SID dari database Oracle?

Anda perlu membuat ulang file kontrol

Posting oleh Kaunain Ahmed ini menjelaskan langkah-langkah yang diperlukan:

  1. lakukan:ubah file kontrol cadangan basis data untuk dilacak;
  2. ekstrak perintah "create controlfile" dari tracefilebackground-dump-destination.
  3. matikan DB.
  4. Ubah Nama DB di init.ora Anda dan ubah init.ora
  5. Ubah SID di /etc/oratab atau /var/opt/Oracle/oratab
  6. Ubah SID di lingkungan Anda dan sumbernya
  7. Mulai database untuk mount-statusstartup mount
  8. Buat ulang file kontrol dengan pernyataan dari posisi 2.
  9. Lakukan pengubahan nama database global_name menjadi 10.Ubah Konfigurasi TNS yang sesuai$ORACLE_HOME/network/admin/*.ora Cari SID dan GLOBAL_NAME

Ada alat lain yang dirujuk di utas.

Ini adalah posting dari AskTom yang mereferensikan prosesnya secara lebih rinci. Meskipun untuk 10g, seharusnya tetap berfungsi.


Karena utilitas dbnewid 9i (nid) dapat digunakan untuk mengubah nama basis data (dan DBID jika diperlukan). Jika nama basis data hanya diubah maka log reset tidak diperlukan:

  • 1 database startup dalam mode mount

    shutdown immediate
    startup mount
    
  • 2 jalankan nid untuk mengubah nama database:

    nid target=sys/[email protected] dbname=newname setname=YES
    
  • 3 shutdown dan mulai database dalam mode mount:

    shutdown immediate
    startup mount
    
  • 4 ubah db_name di spfile (atau di pfile mengedit file):

    alter system set db_name=newname scope=spfile;
    
  • 5 buat ulang file kata sandi:

    orapwd file=orapwnewname password=syspassword
    
  • 6 memulai database

    startup
    
  • 7 langkah mengganti nama pos:

    change SID in listener.ora
    correct tnsnames.ora
    remove old trace directories
    change /etc/oratab (UNIX) or rename windows service using oradim
    

Ya, Anda bisa dan cukup mudah juga.

Di Oracle, ORACLE_SID hanyalah nama untuk Oracle Instance dan tidak banyak hubungannya dengan DBNAME. Database dengan nama PROD, dapat dilayani menggunakan Instans dengan nama valid apa pun. Tidak ada koneksi langsung antara SID dan DBNAME. Koneksi ini dibuat menggunakan parameter.

File parameter diidentifikasi sebagai init${ORACLE_SID}.ora atau spfile${ORACLE_SID}.ora Dalam file parameter adalah db_name parameter. Di sinilah koneksi antara Oracle Instance dan database dibuat.

Jadi, Anda tidak perlu membuat ulang file kontrol, Anda tidak perlu menggunakan nid, cukup pastikan file parameter Anda memiliki nama yang benar, turunkan Oracle Instance lama dan mulai Oracle Instance baru setelah menyetel ORACLE_SID ke nama Instans Oracle yang baru. File parameter dan file kata sandi ditemukan menggunakan ${ORACLE_SID} sebagai bagian dari namanya.

Membuat ulang file kontrol hanya diperlukan saat DBNAME harus diubah. nid diperlukan setelah operasi kloning di mana Anda perlu mengubah DBID untuk mencegah kecelakaan yang dapat mengganggu pencadangan basis data sumber.


Linux
  1. Bisakah saya mengubah domain utama akun nanti?

  2. Bagaimana mengubah identitas sistem Linux

  3. Bisakah Saya Mengubah Warna Tab Di Gedit?

  1. Bagaimana Saya Dapat Mengubah Nama Banyak File Dalam Sebuah Folder?

  2. Bisakah GDB mengubah kode rakitan dari program yang sedang berjalan?

  3. Bagaimana saya bisa mengubah tata letak keyboard input saat berada di konsol?

  1. Mengubah Izin Berkas

  2. Bisakah saya mengubah nama ekspor NFS

  3. Bisakah Anda mengubah versi metadata pada larik yang ada?