Anda perlu membuat ulang file kontrol
Posting oleh Kaunain Ahmed ini menjelaskan langkah-langkah yang diperlukan:
- lakukan:ubah file kontrol cadangan basis data untuk dilacak;
- ekstrak perintah "create controlfile" dari tracefilebackground-dump-destination.
- matikan DB.
- Ubah Nama DB di init.ora Anda dan ubah init.ora
- Ubah SID di /etc/oratab atau /var/opt/Oracle/oratab
- Ubah SID di lingkungan Anda dan sumbernya
- Mulai database untuk mount-statusstartup mount
- Buat ulang file kontrol dengan pernyataan dari posisi 2.
- 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.