joomla templates Data Warehouse Türkiye

Thu09082011

Last update07:32:32 PM GMT

Back Kategoriler Oracle Tarihe göre etiket öğelerini görüntüle: linux
Tarihe göre etiket öğelerini görüntüle: linux

Özellikle Rman ile bir database’ in backupını başka bir ortama kurduğumuzda database’ in dbid ve db_name değerleri asıl ortamda ne ise burda da aynı olur. Dolayısıyla bu şekilde yeni bir database create ettikden sonra elimizdeki bu yeni ortamın bu değerlerini değiştirmek isteyebiliriz. (özelliklede rman catalog database’ i kullanarak database’ lerimizin backupını alıyorsak, dbid bizim için son derece önemli olacaktır)


Şimdi değişikliğe başlamadan önce dbid ve db_name’ in şu anki değerlerine bakalım (bu değerleri sonradan işlem yapılırken de görebiliriz) ;

SQL> select dbid, name from v$database;
DBID                NAME
----------         ----------
4271840000     KTEST

Öncelikle aşağıdaki dizinde init ve spfile dosyasının olduğundan emin olun. İlgili dizin ;

Linux ortam üzerinde çalışıyorsanız ;

cd $ORACLE_HOME/dbs

Windows üzerinde çalışıyorsanız;

cd $ORACLE_HOME/database

Sonra database’ imizi immediate ile kapatıyoruz.

C:\Documents and Settings\oracle>sqlplus "/as sysdba"
SQL*Plus: Release 11.2.0.1.0 Production on Wed Feb 2 22:39:01 2011
Copyright (c) 1982, 2010, Oracle. All rights reserved.
Connected to:
Oracle Database 11g Enterprise Edition Release 11.2.0.1.0 - Production
With the Partitioning, Oracle Label Security, OLAP, Data Mining and Oracle Database Vault options
SQL> shutdown immediate
Database closed.
Database dismounted.
ORACLE instance shut down.

SQL> startup mount
ORACLE instance started.
Total System Global Area 627732480 bytes
Fixed Size 1376408 bytes
Variable Size 184553320 bytes
Database Buffers 436207616 bytes
Redo Buffers 5595136 bytes
Database mounted.
SQL>

Mount ile database’i start ettikden sonra, komut satırından aşağıdaki komutu çalıştırıyoruz. Bu konuttaki “nid” bizim dbid ve db_name’ i değiştirmemizi sağlayacak olan komutumuz, target kısmı database’ in şu anki sys userı ve onun şifresi @ kısmı ise database’ imizin db_name’ini, dbname = parametresi ise database’ in yeni name’ mini ifade etmektedir.

nid

C:\Documents and Settings\oracle>nid DBNAME=KAMIL
DBNEWID: Release 11.2.0.1.0 - Production on Wed Feb 2 22:40:29 2011
Copyright (c) 1982, 2009, Oracle and/or its affiliates. All rights reserved.
Connected to database KTEST (DBID=4271840000)
Connected to server version 11.2.0
Control Files in database:
C:\ORACLE11GR2\ORADATA\KTEST\CONTROL01.CTL
C:\ORACLE11GR2\FLASH_RECOVERY_AREA\KTEST\CONTROL02.CTL
Change database ID and database name KTEST to KAMIL? (Y/[N]) => Y
Proceeding with operation
Changing database ID from 4271840000 to 3000141920
Changing database name from KTEST to KAMIL
Control File C:\ORACLE11GR2\ORADATA\KTEST\CONTROL01.CTL - modified
Control File C:\ORACLE11GR2\FLASH_RECOVERY_AREA\KTEST\CONTROL02.CTL - modified
Datafile C:\ORACLE11GR2\ORADATA\KTEST\SYSTEM01.DB - dbid changed, wrote newname
Datafile C:\ORACLE11GR2\ORADATA\KTEST\SYSAUX01.DB - dbid changed, wrote newname
Datafile C:\ORACLE11GR2\ORADATA\KTEST\UNDOTBS01.DB - dbid changed, wrote new name
Datafile C:\ORACLE11GR2\ORADATA\KTEST\USERS01.DB - dbid changed, wrote new name
Datafile C:\ORACLE11GR2\ORADATA\KTEST\TEMP01.DB - dbid changed, wrote new name
Control File C:\ORACLE11GR2\ORADATA\KTEST\CONTROL01.CTL - dbid changed, wrote new me
Control File C:\ORACLE11GR2\FLASH_RECOVERY_AREA\KTEST\CONTROL02.CTL - dbid changed, wrote new name
Instance shut down
Database name changed to KAMIL.
Modify parameter file and generate a new password file before restarting.
Database ID for database KAMIL changed to 3000141920.
All previous backups and archived redo logs for this database are unusable.
Database is not aware of previous backups and archived logs in Recovery Area.
Database has been shutdown, open database with RESETLOGS option.
Succesfully changed database name and ID.
DBNEWID - Completed succesfully.

Yukarıdaki mesajları başarıyla almış olmamız gerekiyor.
Bundan sonraki kısımda ;

Database’ i nomunt modda açıyoruz.

SQL> startup mount
ORACLE instance started.
Total System Global Area 627732480 bytes
Fixed Size 1376408 bytes
Variable Size 184553320 bytes
Database Buffers 436207616 bytes
Redo Buffers 5595136 bytes

Yapılan bu değişikliği aşağıdaki Alter ile de system üzerinden spfile’ e yazdırıyoruz.

SQL> ALTER SYSTEM SET DB_NAME=KAMIL SCOPE=SPFILE;
System altered.

Şimdi immediate ile tekrar kapatıyoruz ;

SQL> shutdown immediate
ORA-01507: database not mounted
ORACLE instance shut down.

Aslında bundan sonraki kısım klasik database operayonları gibi düşünebiliriz. Database’in name’ I değiştiğinden dolayı ona uygun bir password file create etmemiz gerekiyor. Ek olarak spfile dosyamızın adını da yeni SID’ imizi içerek şekilde rename edeceğiz.

orapwd file=C:\oracle11gR2\product\pwdKAMIL.ora password=oracle entries=5

Ben bu çalışmamı windows bir sunucu üzerinde yaptığımdan dolayı ..\database\ dizinindeki spfileKTEST.ora dosyasının adını spfileKAMIL.ora olacak şekilde rename ediyorum.

Yine windowslar için unutulmaması gereken bir nokta database ilk create ederken windows servisleride create ettiğinden dolayı (oracle servisleri SID bazında create edilmekte) bu servisleri de değiştirmemiz gerekiyor. Yani eski SID’ li servis tanımı silinip yerine yeni SID’ li servis tanımını eklememiz gerekiyor.

Eski tanımı silmek için ;

C:\Documents and Settings\oracle>oradim -delete -sid KTEST
Instance deleted.

Yenisini eklemek içinse;

C:\Documents and Settings\oracle>oradim -new -sid KAMIL -intpwd oracle –startmode a -pfile C:\oracle11gR2\product\spfileKAMIL.ora
Instance created.

Yapılan bu değişiklikden listener’ ında etkilenmesi için stop / start yapıyoruz.

C:\Documents and Settings\oracle>lsnrctl stop
LSNRCTL for 32-bit Windows: Version 11.2.0.1.0 - Production on 02-FEB-2011 23:29:07
Copyright (c) 1991, 2010, Oracle. All rights reserved.
Connecting to (DESCRIPTION=(ADDRESS=(PROTOCOL=TCP)(HOST=dataguart)(PORT=1521)))
The command completed successfully

C:\Documents and Settings\oracle>lsnrctl start
LSNRCTL for 32-bit Windows: Version 11.2.0.1.0 - Production on 02-FEB-2011 23:29:12
Copyright (c) 1991, 2010, Oracle. All rights reserved.
Starting tnslsnr: please wait...
TNSLSNR for 32-bit Windows: Version 11.2.0.1.0 - Production
System parameter file is c:\oracle11gR2\product\network\admin\listener.ora
Log messages written to c:\oracle11gr2\diag\tnslsnr\dataguart\listener\alert\log.xml
Listening on: (DESCRIPTION=(ADDRESS=(PROTOCOL=tcp)(HOST=dataguart)(PORT=1521)))
Connecting to (DESCRIPTION=(ADDRESS=(PROTOCOL=TCP)(HOST=dataguart)(PORT=1521)))
STATUS of the LISTENER
------------------------
Alias LISTENER
Version TNSLSNR for 32-bit Windows: Version 11.2.0.1.0 - Produ
ction
Start Date 02-FEB-2011 23:29:16
Uptime 0 days 0 hr. 0 min. 5 sec
Trace Level off
Security ON: Local OS Authentication
SNMP OFF
Listener Parameter File c:\oracle11gR2\product\network\admin\listener.ora
Listener Log File c:\oracle11gr2\diag\tnslsnr\dataguart\listener\alert\log.xml
Listening Endpoints Summary...
(DESCRIPTION=(ADDRESS=(PROTOCOL=tcp)(HOST=dataguart)(PORT=1521)))
Services Summary...
Service "CLRExtProc" has 1 instance(s).
Instance "CLRExtProc", status UNKNOWN, has 1 handler(s) for this service...
The command completed successfully
C:\Documents and Settings\oracle>

Buraya kadar herşey yolunda, artık yeni spfile’ imiz ile database’ imizi açabiliriz. Ancak database’ i startup ile açmayacağız. Database’ in dbid ve name’ I değiştiğinden dolayı, bu database’ den alınmış olan backuplar artık kullanılamaz duruma gelmiştir çünkü artık dbid ve name’ ler farklı, dolayısıyla database’ in hayata sıfırdan yeni bir başlangıç yapması için open RESETLOGS ile açmamız gerekiyor (başka türlü açılamaz) ;

SQL> startup mount
ORACLE instance started.
Total System Global Area 627732480 bytes
Fixed Size 1376408 bytes
Variable Size 184553320 bytes
Database Buffers 436207616 bytes
Redo Buffers 5595136 bytes
Database mounted.
SQL> alter database open resetlogs ;
Database altered.

Şimdi yeni dbid ve name değerlerimizi kontrol edelim.

SQL> select dbid, name from v$database;
DBID                NAME
----------          ---------
3000141920     KAMIL

Database’ in sadece DBID’ sini veya DB_NAME’ ini de değiştirebilirsiniz, şöyleki ;

Sadece DBID değiştirmek isterseniz ;

nid çalıştırmanız yeterli olacaktır. Bu komut sadece dbid’ yi değiştirecektir ve name aynı kalacaktır. Burada db_name’ dokunmadığımız için spfile veya pasword file üzerinde vir değişiklik yapmamıza gerek yok, sadece open RESETLOGS ile açmamız yeterli olacaktır.

Sadece DB_NAME’ i değiştirmek istersenizde

nid SETNAME=YES komutunu çalıştırmamız yeterli olacaktır. BU komutta dbid’ ye dokunmadan sadece name’ I değiştirecektir. Diğer adımlar yukarıdakiler ile aynı.

Bu işleme aslında çok sık olmasa da rman’ le create ettiğimiz yeni database’ imizi başka bir projede PROD olarak kullanmamız gerektiğinde veya kullanılan bir database farklı bir projede kullanılacaksa ona uygun bir name verilmek istendiğinde kullanılabilirsiniz.

Kategori Dba
Salı, 15 Şubat 2011 21:43

Unix Tarihi

Hergün UNIX üzerinde çalışırım ve yeni bir şeyler daha öğrenirim. Herhangi bir Eski UNIX'ci gibi söylüyorum size "Asla UNIX hakkındaki herşeyi öğrenemeyeceksiniz". UNIX İşletim Sistemi sürekli yenilenen ve yazıldığı ilk günden (1969) beri 10 kat değişen bir işletim sistemidir. Bu yazı orjinal UNIX'in nasil gelştirildiğini anlatıyor. 1969, Bell Laboratuvarları, AT&T'nin departmanlarından birinde yeni bir İşletim Sistemi geliştirildi. Bu İşletim Sistemi birden çok kullanıcıya destek verecek şekilde dizayn edilmişti. Bu İşletim Sistemi daha sonraları UNIX olarak bilindi. UNIX orjinal olarak assembly dili ile yazılmıştı, taki diğer platformlara taşınmak isteninceye kadar. 1973 de UNIX'in çoğu kodu C programlama dili ile yazıldı ve kolayca diğer platformlara taşınabildi. ABD Adalet Bakanlığı kararı ile AT&T'nin yazılım satması yasaklandı; AT&T sattığı yazılımlar ve dökümanlar ile birlikte bir çok lisans veriyordu fakat teknik destek vermiyordu. Büyük geliştiricilerden bir tanesinde bu lisanstan vardı. 1974 yılında California Üniversitesi Bilgisayar Bilimleri Bölümü ve Berkeley Üniversitesi Bilgisayar Bilimleri Bölümü UNIX kullanmaya başlamıştı. 1977 yılında bir Berkeley mezunu ilk BSD (Berkeley Software Distribution) versiyonu UNIX'i yazdı. Bir çok gelişim bu BSD versiyonu UNIX'lerle ortaya çıktı. 70'li yılların sonunda ABD Savunma Bakanlığı (DOD) merkezileştirilmiş bir bilgisayar ağı ile çalışmaya başladı. Bu ağ da kontrol yetkisi tek bir kişi de değildi, amaç sistemi çökertmeye yünelik saldırılarda kayıbı en aza indirmekti. Bu gelişim günümüz bilgisyar dünyasında LAN'ların birleştirilmesinde Microcomputer'ların kullanımına yön verdi. Bir başka not, DOD bilgisayar ağı daha sonraları günümüz İnternetinin anası olucaktı. BSD Berkeley'de gelişimini sürdürürken, AT&T kendi UNIX geliştirme departmanını Western Electric'e transfer etti. Western Electric pazarlamak için kendi UNIX versiyonunu hazırlıyordu. 1982 de Western Electric System III olarak adlandırdıkları UNIX versiyonunu duyurdu. Bu versiyonu eğer 'System I' ismiyle duyurmuş olsalardı, versiyonun pek satmayacağını düşünmüşlerdi zira bu bug'larla dolu bir ilk versiyon gibi görünecekti ve müşteriler satın almak yerine biraz bekleyip son versiyonu alabilirlerdi yada BSD UNIX i tercih edebilirlerdi. 1983'de de 'System V' duyuruldu. System IV versiyonu ise AT&T'ye kullanımı için rezerv edilmişti.UNIX 'System V Release 4' ise son sürüm idi. Bu sürüm ise Novell'e ayit olan UNIX System Laboratories (USL) tarafından pazarlanıyordu. Bir çok kişi uğraştığından ve bir önceki UNIX versiyonu bir diğer versiyon UNIX'i ile birleştirildiğinden son versiyon UNIX'ler çok yünlü ve kompleks olmuştur. Bu gün UNIX çoğu kişinin farkettiğinden daha fazla kullanılıyor.UNIX İnternetin omurgası olduğu sürece müşteri topladı. Gerçekte bir çok İnternet Servis Sağlayıcı (ISP)'sı UNIX kullanıyor. Aksi halde İnternet böyle olmazdı.

Kategori UNIX
Pazar, 31 Ekim 2010 20:12

Linux Journal'dan Pardus'a Ödül

Linux Journal dergisi, her yil GNU/Linux dünyasinin en çok sevilen, begenilen ve kullanilan ürünlerini Linux Journal Readers' Choice Awards (Linux Journal Okuyucu Seçimi Ödülleri) ile seçiyor ve ödüllendiriyor.

GNU/Linux uzmanlarinin, dergi okurlarinin ve diger tüm GNU/Linux kullanicilarin katildigi bu büyük anket, sonuçlandi ve bizler için üç güzel sürprizle sonuçlandi. Pardus, yüzlerce rakibi arasindan siyrilarak, üç dalda birden dereceye girmeyi basardi!

Çarşamba, 27 Ekim 2010 12:52

Linux'da instance'in lock edilmesi

Oracle Instance ‘ın lock edilmesi denildiğinde eminim aklınıza lock tablolar, wait eventler vs geliyordur fakat bu yazımda vermek istediğim bilgi biraz daha farklı. Linux üzerinde “tek” instance ‘a sahip Oracle database çalışmaya başladığı andan itibaren, RAC olmayan bir ortamda Oracle ‘ın nasıl ikinci instance ‘ın ayağa kalmasını engellediği veya çalışan instance ‘ın yanlışlıkla veya bilerek yeniden çalıştırılmasıyla aynı database ‘e bağlanmasının nasıl engellediği üzerine kısa bilgi vermek istiyorum.

Linux üzerinde çalışan Oracle veritabanı sunucusunda yeni bir database oluşturduğunuzda, DBS klasörü altında “pfile” parametre dosyasıyla birlikte lk*** (yıldızlı kısım Oracle instance ‘nın ismi) şeklinde bir dosya daha oluşturulur. Bu dosyanın işlevi Oracle instance çalışmaya başladığı andan itibaren kilit altına alınmasını sağlamaktır. Yani çalışan bir instance ‘ın yanlışlıkla veya bilerek yeniden başlatılmasını ve zaten çalışmakta olan database ‘e yeni bir instance ile bağlanılmasını önlemektir.

Bu dosyanın yönetimi Oracle veritabanı tarafından otomatik olarak yapılmaktadır. Eğer dosyanın içersine herhangi bir text editör ile bakacak olursanız “DO NOT DELETE THIS FILE!” şeklinde bir ibare görürsünüz. Bu noktada database ‘in crash olmaması için dosyanın silinmemesi son derece önemlidir.

kaynak

Kategori Dba