Ana içeriğe atla

Veritabanı dosyalarını(datafile) başka bir dizine taşıma



Bu işlem veritabanı kapalıyken veya açıkken yapılabilir.

1 ) Veritabanı Kapalıyken:
* Database kapatılır.
SQL > shutdown imeediate

* Datafile yeni dizine kopyalanır veya move edilir.
$ cp /old_location/dbfilename01.dbf /new_location/
Taşımayıp kopyaladıysanız eski lokasyondaki datafile'ı kullanmasını önlemek adına ek önlem için rename edebiliriz.
$ mv /old_location/dbfilename01.dbf /old_location/dbfilename01.dbf_OLD

* Database mount mode'da açılarak datafile rename edilir.
SQL > startup mount
SQL > alter database rename file '/old_location/dbfilename01.dbf' to '/new_location/dbfilename01.dbf';

* Database open mode'a alınır.
SQL > alter database open;


2 ) Veritabanı Açıkken:
Bunu yapabilmek için database'in archive log mode'da olması gerekiyor. Bunu aşağıdaki komutla kontrol edebilirsiniz.
SQL> select log_mode from sys.v_$database;

LOG_MODE
------------
ARCHIVELOG

* Datafile offline'a alınır.
SQL> alter database datafile '/old_location/dbfilename01.dbf' offline;

* Datafile yeni dizine kopyalanır veya move edilir.
$ cp /old_location/dbfilename01.dbf /new_location/
Taşımayıp kopyaladıysanız eski lokasyondaki datafile'ı kullanmasını önlemek adına ek önlem için rename edebiliriz.
$ mv /old_location/dbfilename01.dbf /old_location/dbfilename01.dbf_OLD

* Veritabanın taşınan datafile'ı yeni lokasyonda olduğunu göstermek için rename ederiz:
SQL> alter database rename file '/old_location/dbfilename01.dbf' to '/new_location/dbfilename01.dbf';

* Datafile'ı tutarlı hale getirmek için recover edilir.
SQL> alter database recover datafile '/new_location/dbfilename01.dbf';

* Tekrar kullanıma açmak için online mode'a alınır.
SQL> alter database datafile '/new_location/dbfilename01.dbf' online;

şeklinde taşıma işlemini tamamlamış oluruz. 

Yorumlar

Bu blogdaki popüler yayınlar

Materialized View kullanımı ve Fast Refresh için basit bir örnek

Materialized view’lar(MV) genel olarak Data warehouse sistemlerinde kullanılır. Normal view’lar sadece sorguları saklayıp istenildiğinde dataları ilgili tablolardan belirtilen kriterlere göre getirirken, materialized view’larda sorguların yanı sıra bu sorguların sonucunda dönen datalar da tutulur. Yani bir nevi tablo görevi görür. Bunun kullanılma amacı ise; devasa datalara sahip tabloların sadece belirtilen kriterlere uyan datalarını önceden hazırlayıp hızlı bir şekilde sunmak. Materialized view’ların sorguladığı tablolardaki datalar değiştiğinde değişikliklerin bu view’lara yansıması için bu materialized view’ların refresh edilmesi gerekiyor. Birkaç refresh metodu bulunmaktadır ve mv create işleminde belirtilir. COMPLETE ve FAST. Refresh işlemi için DBMS_MVIEW.REFRESH prosedürü kullanılır. Refresh Complete: MV refresh complete yapıldığında mv’ı oluşturan sorgu tekrar çalıştırılır ve gelen dataların tamamı mv’daki dataların yerine geçer. Refresh etmek için DBMS_MVIEW.REFRES...

RMAN:DUPLICATE DATABASE İLE YENİ BİR VERİTABANI YARATMA

Veritabanımızın son alınan mevcut backup'ından yeni bir test ortamı oluştururken hazırladığım aksiyon planını aşağıdaki gibi paylaşmak istedim. Eklemek istediğiniz veya yanlış olduğunu düşündüğünüz hertürlü konuyu paylaşırsanız sevinirim. Tanımlar: prd: kopyası oluşturalacak production sistemi prdserver: production veritabanı server ı test: oluşturulacak test sistemi. testserver: test veritabanı server ı catalogdb: rman katalog bilgilerinin bulunduğu veritabanı catdbserver: katalog veritabanı server ı Test ortamında listener düzenlemesi: * oluşturulacak test ortamının mevcut listener.ora dosyasına aşağıdaki satırlar eklenir. (SID_DESC = (GLOBAL_DBNAME = prd) (ORACLE_HOME = /app/oracle/product/11.1.0/db_1) (SID_NAME = prd) ) TNS tanımlarınını yapılması: * test ortamının tnsnames.ora dosyasına catalog ve prod veriabanlarının tns tanımları eklenir. catalogdb = (DESCRIPTION = (ADDRES...

ORACLE12C YENİ ÖZELLİK: Clone Pluggable Database

Oracle 12c ile gelen bu yeni özlelik ile uygulamanıza yapılacak bir deployment öncesi pre-prod yapmak istenildiğinde veya performans problemleri incelerken veritabanının bir kopyasına ihtiyaç duyduğumuzda bu yöntemle veritabanımızın bir kopyasını oluşturabiliriz. Bu örnekte Container Database(CDB)'deki bir pluggable database(PDB)'den clone alınarak yine aynı CDB'de başka bir PDB veritabanı oluşturduk. Çalışmaya başlamadan önce yeterli disk alanı olduğunu kontrol edilmeli. DB isimleri: CDB: test12c PDB: pdb1 Oluşturulacak PDB: pdb2 -- Clone alınacak database'in read-only modda olması gerekiyor. İlk önce pdb'lerin durumlarına bakarız. SQL> select name,open_mode from v$pdbs; NAME                           OPEN_MODE ------------------------------ ---------- PDB$SEED                       READ ONLY PDB1               ...