Archive for Mart, 2011

Oracle Veritabanı Adının Değiştirilmesi


Çok nadir olmasına rağmen, bazen veritabanımızın adını değiştirmemiz gerekebilir. Bu makalede, Oracle veritabanı adını nasıl değiştireceğinizi adım adım anlatacağım. Mevcut veritabanımızı “MYDB un” olarak adlandırın ve veritabanı adını “TALIPDB” olarak değiştirin.

bir- İşletim sistemindeki mevcut kontrol dosyaları yedeklenir.

$ mv talip_ctl_1.ora Instagram Hesabındaki Resim ve Videoları talip_ctl_1.ora.old

$ mv talip_ctl_2.ora Instagram Hesabındaki Resim ve Videoları talip_ctl_2.ora.old

$ mv talip_ctl_3.ora Instagram Hesabındaki Resim ve Videoları talip_ctl_3.ora.old

2nd- Sqlplus bir sys kullanıcısına bağlanır ve kontrol dosyası izini alır




SQL> Veritabanı yedekleme kontrol dosyasını değiştirmek için Alter; 

3- Uudump altında oluşturulan izleme komut dosyası bir dosya olarak kaydedilir.

$ mv mydb_ora_24273.trc controlfile_script.sql

4- Oluşturulan komut dosyası “vi ir ile açılır ve aşağıdaki gibi düzenlenir.

A- Tüm satırlar Silindi.

BAŞLANGIÇ NOMOUNT

KONTROL DÜZENLEME KULLANIM VERİ TABANI D MYDB ”RESETLOGS NOARCHIVELOG

B- Yukarıdaki satırdaki REUSE ifadesi yerine SET yazılır ve DB'nin yeni adı yazılır.

KONTROL DOSYASI OLUŞTUR SET VERİTABANI “TALIPDBRESETLOGS NOARCHIVELOG

C- Komutun altındaki aşağıdaki ifade silindi ve kaydedildi.

YEDEKLEME KONTROLÜ KULLANIMI GERİ KAZANIM VERİ TABANI;

Son komut dosyası aşağıdaki komut dosyası gibi olacaktır.




BAŞLANGIÇ NOMOUNT

KONTROL DÜZENLEME SETİ VERİTABANI "TALIPDB" RESETLOGS NOARCHIVELOG

MAKSOGRAFLAR 16

MAXLOGMEMBERS 3

MAKSİMUM BİLGİLER 100

MAKİNE 8

MAKSOGRAFİ 292

LOG DOSYASI

GROUP 1 & / 39; /oracle/ora11g/oradata/redo01.log' BOYUTU 50M BLOCKSIZE 512,

GRUP 2 & # 39; / oracle / ora11g / oradata / redo02.log & # 39; BOYUTU 50M BLOCKSIZE 512,

GROUP 3 & # 39; / oracle / ora11g / oradata / redo03.log & # 39; BOYUTU 50M BLOCKSIZE 512,

VERİ SAYFASI

& # 39; /Oracle/ora11g/oradata/system01.dbf'

& # 39; /Oracle/ora11g/oradata/sysaux01.dbf'

& # 39; /Oracle/ora11g/oradata/undotbs01.dbf'

& # 39; /Oracle/ora11g/oradata/users01.dbf'

& # 39; /Oracle/ora11g/oradata/example01.dbf'

& # 39; /Oracle/ora11g/oradata/myts01.dbf'

KARAKTER SET WE8ISO8859P9

;

ALTER VERİTABANI AÇIK RESETLOGLAR;

ALTER TABLESPACE TEMP TEMPFILE EKLE & # 39; /oracle/ora11g/oradata/temp01.dbf'

BOYUTU 441450496 NEXT 655360 MAXSIZE 32767M; 

5- Veri tabanı kapalı.




SQL> hemen kapatma; 

6- $ ORACLE_HOME / dbs altında bulunan init.Ora dosyası vi ile yedeklenir ve açılır, db_name ve example_name parametreleri değiştirilir ve yeni db adıyla kaydedilir.

7- Sqlplus'ta, daha önce yarattığımız ve düzenlediğimiz kontrol dosyası komut dosyası çalıştırılır.




SQL> @ / oracle / controlfile_script.sql 

8- Veritabanı açıldığında, yeni adla hizmet verecek. Emin olmak için aşağıdan seçtiğimiz yeni adımızı öğrenebiliriz.




SQL> V $ DATABASE'DEN ADI SEÇ;

Talip Hakan Özer


Oracle WRAP Utility


Oracle WRAP UTility

Merhaba Arkadaşlar,

Bu yazımda sizelere “WRAP” aracının ne olduğunu? PL/SQL kodlarımızı bu araç ile nasıl gizleyebileceğimizi anlatacağım. Oracle, yazdığı paketlerin (internal packages olarak bilinir) içeriğini wrap ile gizlemektedir. Mesela DBMS ile başlayan DBMS_JOB, DBMS_SCHEDULE, v.s paketlerin body kısmını görmek istediğimizde aşağıdaki gibi gizlenmiş olarak görmekteyiz.

CREATE OR REPLACE PACKAGE BODY SYS.dbms_job wrapped
a000000
1
abcd
abcd
abcd
abcd
abcd
abcd
21a3 b16
lo1iuGKabyEptQ7AYEgtdK75BmEwg5Wr3l4FYKAPamS0YVj3PRYchH0hld1fVjvwrMuAW69P
IRpr66AU9anSde7G/s0SEqGnRq1lMtPIv5oS+LkLjWMsdviZ/8mTU+AsGapF4qqdz3JR4PZt
fzqcP2JOVo84jcefz+RAsEnvMxsTLRYBAxaBTlykY2wPpW6+XqZvj/lmCFhU18E/3TEWpRQb
5qZckusO2rpG787GwuV+s2zCeeXxFg4vs4uaQo05AYljfhxjOKSSbLg3TUk/VlckCE6PhXK/
...
/

Bizde Oracle kurulumu ile gelen “WRAP” aracını kullanarak yazdığımız procedure, function veya paketleri gizleyebiliriz. Oracle 10g R2 ile birlikte DBMS_DDL paketi yardımı ile de dinamik kod gizleme işlemi yapabiliriz. WRAP komutu işletim sistemi üzerinde çalışan bir araçtır. Kullanım prototipi aşağıdaki gibidir.

wrap iname=input_file  oname=output_file

Burada iname, bizim içeriğini gizleyeceğimiz PL/SQL kod bloğudur. Oname ise gizlenmiş kod bloğunun kaydedileceği dosya adıdır. Oname belirtmeyebiliriz. Bu durumda source kodun bulunduğu dosya adı(input_file) “.plb” uzantısıyla kaydedilir. Aşağıdaki gibi bir prosedürümüz olsun. Ve “WRAP” aracını kullanarak içeriğini gizleyelim.

CREATE OR REPLACE PROCEDURE talip_test AS
BEGIN
  DBMS_OUTPUT.PUT_LINE('Test proseduru');
END;
/

Yukarıdaki prosedürü talip_test.sql adıyla işletim sistemi üzerine kayıt edelim. “WRAP” ile içeriğini aşağıdaki gibi gizleyelim.

$ wrap iname= talip_test.sql
PL/SQL Wrapper: Release 11.2.0.1.0- Production on Thu Mar 10 13:50:13 2011
Copyright (c) 1993, 2009, Oracle.  All rights reserved.
Processing talip_test.sql to talip_test.plb

talip_test.plb isimli gizlenmiş kod bloğumuz oluştu. Bir editör ile baktığımızda içeriği aşağıdaki gibidir.

CREATE OR REPLACE PROCEDURE talip_test wrapped
a000000
1
abcd
abcd
abcd
abcd
abcd
abcd
abcd
abcd
abcd
abcd
abcd
abcd
abcd
abcd
abcd
7
4d 89
BnIWMXkTu2kwu8RXi1DM+jgMrZUwg5nnm7+fMr2ywFwWoUf6VuOWoWLRzLh0i8DAMv7Shglp
uFKbskr+KLK957KzHQYwLK4k6rKBL8jlrFHkBneJJVEJMi720eokH/Y5pqcyH4I=
/

Gizlenmiş yukarıdaki kodu veritabanına direk deploy edebiliriz. Deploy ettikten sonrada problemsiz kodumuzu aşağıdaki gibi çalıştırabiliriz.

SQL>exec talip_test;

Talip Hakan ÖZTÜRK


  • Copyright © 1996-2010 Bilgisayar Mühendisinin Notları. All rights reserved.
    iDream theme by Templates Next | Powered by WordPress