Home / MAKALELER / Veri Tabanı / Oracle Veri Tabanı Adının Değiştirilmesi

Oracle Veri Tabanı Adının Değiştirilmesi

Oracle Veritabanı Adının Değiştirilmesi
Ç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

About Talip Hakan Ozturk

Oracle ACE, 10g/11g OCP, Oracle Blogger, Author, Senior Oracle DBA at Bank Asya, Internal Oracle Trainer for Bank Asya Akademi

İlginizi Çekebilir

SQL Server ile Veri Şifreleme

Bilgi teknolojilerinde verinin güvenliği çok kritik bir öneme sahiptir. Önemli verileri korumak için ekstra bir …

Bir Cevap Yazın