Wednesday, August 27, 2008
Database Adının değiştirilmesi
Database Adının değiştirilmesi
1. Database kapatılır ve mount modda açılır.
shutdown immediate;
startup mount;
2. export $ORACLE_SID=new_db_name olmalıdır
3. nid target=/ dbname=new_db_name
DBNEWID: Release 10.2.0.4.0 - Production on Wed Aug 13 17:20:55 2008
Copyright (c) 1982, 2007, Oracle. All rights reserved.
Database name changed to PROVKURS.
Modify parameter file and generate a new password file before restarting.
Database ID for database PROVKURS changed to 3460159672.
All previous backups and archived redo logs for this database are unusable.
Database has been shutdown, open database with RESETLOGS option.
Succesfully changed database name and ID.
DBNEWID - Completed succesfully.
4. initnew_db_name.ora dosyasında
db_name= 'new_db_name' yapılır
tnsnames.ora gerekirse değiştirilir.
5. spfile yaratılıp database open resetlog ile açılır.
sqlplus "/ as sysdba"
create spfile from pfile;
startup mount;
alter database open resetlogs;
startup force;
1. Database kapatılır ve mount modda açılır.
shutdown immediate;
startup mount;
2. export $ORACLE_SID=new_db_name olmalıdır
3. nid target=/ dbname=new_db_name
DBNEWID: Release 10.2.0.4.0 - Production on Wed Aug 13 17:20:55 2008
Copyright (c) 1982, 2007, Oracle. All rights reserved.
Database name changed to PROVKURS.
Modify parameter file and generate a new password file before restarting.
Database ID for database PROVKURS changed to 3460159672.
All previous backups and archived redo logs for this database are unusable.
Database has been shutdown, open database with RESETLOGS option.
Succesfully changed database name and ID.
DBNEWID - Completed succesfully.
4. initnew_db_name.ora dosyasında
db_name= 'new_db_name' yapılır
tnsnames.ora gerekirse değiştirilir.
5. spfile yaratılıp database open resetlog ile açılır.
sqlplus "/ as sysdba"
create spfile from pfile;
startup mount;
alter database open resetlogs;
startup force;
Aynı serverda Aynı homeda Bir database'in duplikesinin Yaratılması
Aynı serverda Aynı homeda Bir database'in duplikesinin Yaratılması
1. Source tarafta
Tüm tablespaceler backup moduna alınır.
alter tablespace Tablespace_name begin backup;
2. Source tarafta
Datafile ler yeni yerine kopyalanır
3. Source tarafta Tablespaceler backup modundan çıkarılır.
alter tablespace Tablespace_name end backup;
4. Source tarafta controlfile 'ın kopyası belli bir yere alınır
alter database backup controlfile to '/PATH/controlfilename.ctl'
5. yeni ORACLE_SID belirlenir
export ORACLE_SID = copyDB
6. Source taraftaki initDBNAME.ora dosyası copy database için hazırlanılır.
cp initSourceDB.ora initCopyDB.ora
7. initCopyDB.ora içinde aşağıdaki değişiklikler yapılır.
db_name adı aynı kalır.
*_dump_dest parametreleri için uygun directörüler verilir
control_files='/PATH/controlfilename.ctl' yapılır
lock_name_space='CopyDB' -- Buradaki en önemli parametre buna göre aynı home aynı isimde iki ayrı database
-- açılabiliyor. Her nekadar obselete olsada. Database mount olduğunda Oracle
-- lklock_name_space adında bir file oluşturarak bu işi yapıyor.
-- lkCopyDB gibi.
8. ORACLE_SID = copyDB iken
sqlplus "/ as sysdba"
startup mount -- yapılarak initCopyDB.ora okunur ve controlfile yeni yerinden belli olur.
alter database mount -- yapılarak kontrol file okunur ve
-- Bundan sonraki amaç Redolog ve datafilelar yeni yerlerine yönlendirilir.
9. Redolog fileların yeni yerine yönlendirilmesi
SQL> select member from v$logfile;
ile memberlar seçilir ve yeni yerlerine alter edilir.
alter database rename file 'member_path' to 'new_member_path';
10. Datafileların yeni yerlerine yönlendirilmesi
select name from v$datafile ;
ile datafiler seçilir ve
alter database rename file 'datafile_path' to 'new_datafile_path' ;
11. Temp file'ın drop edilmesi
select name from v$tempfile; ile seçilir
alter database tempfile 'temp_file_path' drop;
12. Database'in recover edilip açılması
recover database using backup controlfile until cancel;
-- burada bir archive log isterse orginal database'in alter database switch logfile yapılıp yönlendirilir.
alter database open resetlogs;
13. Yeni database 'e temp file eklenir
alter tablespace temp add tempfile 'new_temp_file_path' size xxxxM;
Böylece Aynı serverda Aynı homeda Bir database'in duplikesinin yaratılmış olur.
Bundan sonra istenirse database adı değiştirilebilir nid programı ile
1. Source tarafta
Tüm tablespaceler backup moduna alınır.
alter tablespace Tablespace_name begin backup;
2. Source tarafta
Datafile ler yeni yerine kopyalanır
3. Source tarafta Tablespaceler backup modundan çıkarılır.
alter tablespace Tablespace_name end backup;
4. Source tarafta controlfile 'ın kopyası belli bir yere alınır
alter database backup controlfile to '/PATH/controlfilename.ctl'
5. yeni ORACLE_SID belirlenir
export ORACLE_SID = copyDB
6. Source taraftaki initDBNAME.ora dosyası copy database için hazırlanılır.
cp initSourceDB.ora initCopyDB.ora
7. initCopyDB.ora içinde aşağıdaki değişiklikler yapılır.
db_name adı aynı kalır.
*_dump_dest parametreleri için uygun directörüler verilir
control_files='/PATH/controlfilename.ctl' yapılır
lock_name_space='CopyDB' -- Buradaki en önemli parametre buna göre aynı home aynı isimde iki ayrı database
-- açılabiliyor. Her nekadar obselete olsada. Database mount olduğunda Oracle
-- lklock_name_space adında bir file oluşturarak bu işi yapıyor.
-- lkCopyDB gibi.
8. ORACLE_SID = copyDB iken
sqlplus "/ as sysdba"
startup mount -- yapılarak initCopyDB.ora okunur ve controlfile yeni yerinden belli olur.
alter database mount -- yapılarak kontrol file okunur ve
-- Bundan sonraki amaç Redolog ve datafilelar yeni yerlerine yönlendirilir.
9. Redolog fileların yeni yerine yönlendirilmesi
SQL> select member from v$logfile;
ile memberlar seçilir ve yeni yerlerine alter edilir.
alter database rename file 'member_path' to 'new_member_path';
10. Datafileların yeni yerlerine yönlendirilmesi
select name from v$datafile ;
ile datafiler seçilir ve
alter database rename file 'datafile_path' to 'new_datafile_path' ;
11. Temp file'ın drop edilmesi
select name from v$tempfile; ile seçilir
alter database tempfile 'temp_file_path' drop;
12. Database'in recover edilip açılması
recover database using backup controlfile until cancel;
-- burada bir archive log isterse orginal database'in alter database switch logfile yapılıp yönlendirilir.
alter database open resetlogs;
13. Yeni database 'e temp file eklenir
alter tablespace temp add tempfile 'new_temp_file_path' size xxxxM;
Böylece Aynı serverda Aynı homeda Bir database'in duplikesinin yaratılmış olur.
Bundan sonra istenirse database adı değiştirilebilir nid programı ile
Subscribe to:
Posts (Atom)