Rastgele Yazılar : SQL Server Reporting Service Parametre Kullanımı
Rastgele Yazılar : 11.2.0.1'den 11.2.0.3'e Upgrade
Rastgele Yazılar : Oracle Hatalarını Output'a yazdırmak ve Loglamak
Rastgele Yazılar : Real Application Clusters Yazılımı Mimarisi
Rastgele Yazılar : Open Catolog Extension Dosyası Oluşturmak
Rastgele Yazılar : (ORA-00313) Redolog grublarından biri (veya birkaçı) Ka...
Rastgele Yazılar : Datapump ile Unix üzerinden yedekleme (crontab)
Rastgele Yazılar : DB Link Kullanmak
Rastgele Yazılar : VERI KALITESI ve 7 MAJOR HATALI ALGI
Rastgele Yazılar : USER TANIMLAMA(USER PRIVILEGES)
Çok nadir olsa da bazen veritabanımızın adını değiştirmemiz gerekebilir. Bu yazımda Oracle veritabanı adının nasıl değiştirileceğini adım adım numaralandırarak sizlere anlatacağım. Varolan veritabanımızın adı “MYDB” değiştirmek istediğimiz veritabanı adımız “TALIPDB” olsun.
1- İşletim sistemi üzerinde mevcut control file ların yedeği alınır.
$ mv talip_ctl_1.ora talip_ctl_1.ora.old
$ mv talip_ctl_2.ora talip_ctl_2.ora.old
$ mv talip_ctl_3.ora talip_ctl_3.ora.old
2- Sqlplus a “sys” kullanıcısıyla bağlanılır ve controlfile ın trace i alınır
SQL> Alter database backup controlfile to trace;
3- “udump” altında oluşturulan trace script file olarak kaydedilir.
$ mv mydb_ora_24273.trc controlfile_script.sql
4- Oluşturulan script “vi” ile açılarak aşağıdaki gibi editlenir.
A- Aşağıdaki satıra kadar olan bütün satırlar silinir.
STARTUP NOMOUNT
CREATE CONTROLFILE REUSE DATABASE “MYDB” RESETLOGS NOARCHIVELOG
B- Yukarıdaki satırda REUSE ifadesi yerine aşağıdaki gibi SET ifadesi yazılır ve DB nin yeni adı yazılır.
CREATE CONTROLFILE SET DATABASE “TALIPDB” RESETLOGS NOARCHIVELOG
C- Scriptin en alt kısmında bulunan aşağıdaki ifade silinir ve kaydedilir.
RECOVER DATABASE USING BACKUP CONTROLFILE;
Scriptin son hali aşağıdaki script gibi olacaktır.
STARTUP NOMOUNT CREATE CONTROLFILE SET DATABASE "TALIPDB" RESETLOGS NOARCHIVELOG MAXLOGFILES 16 MAXLOGMEMBERS 3 MAXDATAFILES 100 MAXINSTANCES 8 MAXLOGHISTORY 292 LOGFILE GROUP 1 '/oracle/ora11g/oradata/redo01.log' SIZE 50M BLOCKSIZE 512, GROUP 2 '/oracle/ora11g/ oradata/redo02.log' SIZE 50M BLOCKSIZE 512, GROUP 3 '/oracle/ora11g/ oradata/redo03.log' SIZE 50M BLOCKSIZE 512, DATAFILE '/oracle/ora11g/oradata/system01.dbf', '/oracle/ora11g/oradata/sysaux01.dbf', '/oracle/ora11g/oradata/undotbs01.dbf', '/oracle/ora11g/oradata/users01.dbf', '/oracle/ora11g/oradata/example01.dbf', '/oracle/ora11g/oradata/myts01.dbf' CHARACTER SET WE8ISO8859P9 ; ALTER DATABASE OPEN RESETLOGS; ALTER TABLESPACE TEMP ADD TEMPFILE '/oracle/ora11g/oradata/temp01.dbf' SIZE 441450496 REUSE AUTOEXTEND ON NEXT 655360 MAXSIZE 32767M;
5- Veritabanı kapatılır.
SQL> shutdown immediate;
6- $ORACLE_HOME/dbs dizini altında bulunan init.ora dosyası yedeklenir ve vi ile açılıp db_name, instance_name parametreleri yeni db adıyla değiştirilip kaydedilir.
7- Sqlplus da daha önce oluşturduğumuz ve düzenlediğimiz control file script çalıştırılır.
SQL> @/oracle/controlfile_script.sql
8- Veritabanımız açıldığında yeni adıyla hizmet verecektir. Emin olmak için aşağıdaki select ile yeni adımızı öğrenebiliriz.
SQL> SELECT NAME FROM V$DATABASE;
Talip Hakan ÖZTÜRK