“Oracle SQL, Analitik SQL ve PL/SQL” kitabımız çıktı!

Özgür Umut Vurgun ve Fahrettin Ateş ile birlikte hazırladığımız Türkiye’nin ilk “Oracle SQL, Analitik SQL ve PL/SQL” kitabını tüm kitap mağazalarından alabilirsiniz. Kitabımızın tüm Oracle Dba ve Plsql Developer arkadaşların yararlanabileceği bir başucu kaynağı olması dileğimizle.

bookhttp://www.abakuskitap.com/tr/m/programlama-dilleri/oracle-sql-analitik-sql-ve-pl-sql.html

TROUG Days 2016

2016 yılında Türk Oracle Kullanıcıları Derneği (TROUG) olarak, yeni hedeflerle yola çıkıyoruz. Uzun zamandır düzenleyemediğimiz yıllık etkinliğimizi tekrar canlandırmak, hatta öncekilerden daha büyük bir etkinlik düzenlemek adına, 29 Nisan – 1 Mayıs 2016 arasında iki günlük bir etkinlik düzenlemeyi planladık. Etkinlikte 3 paralel oturumda toplam 36 sunum yapılacak. Türkiye’den bir çok konuşmacının yanında, yurtdışından gelecek çok ünlü uzmanlar sunum yapacak. Etkinlik organizasyonunu düzenleyebileceğimiz alt yapıya sahip oteller ile görüştük ve iki alternatif belirledik. Hangisi olacağına sizin oylarınız ile karar vermek istiyoruz. Eğer Oracle teknolojileri ile uğraşıyor ve bu tür bir etkinliğe katılmaya sıcak bakıyorsanız, TROUG sitesini ziyaret edebilir, etkinlik hakkında daha detaylı bilgi alabilir ve anketimize katılabilirsiniz.

Ankete katılabilmek için (daha önce üyeliğiniz yoksa) ücretsiz olarak TROUG’a üye olmanız gerekmektedir.
Daha önce kayıt olduysanız, kullanıcı adı olarak email adresinizi girmelisiniz. Şifrenizi hatırlamıyorsanız password hatırlatma ile emailinizi girerek şifresini resetleyebilirsiniz: http://www.troug.org/sifre-resetleme/

JDE Edwards BI Publisher Template Import To ODA X4-2

“OTech Magazine – Winter 2015” yayınlandı. Makalemizi aşağıdaki linkten okuyabilirsiniz:

http://www.otechmag.com/magazine/2015/winter/ozgur-umut-vurgun—orhan-eripek.html

Oracle Cloud Day 2015 İstanbul

19 Kasım’da gerçekleştirilen Oracle Cloud Day bu yıl da dolu dolu geçti, özellikle TROUG sunumları ağırlıklı olarak teknik içerikli olduğundan her yıl olduğu gibi bu yıl da yoğun katılımcının olduğu oturumlar oldu. Detaylı anlatım için aşağıdaki linki inceleyebilirsiniz.

http://www.troug.org/haberler/oracle-cloud-day-2015-istanbul/

“Oracle Enterprise Manager Cloud Control 12c” konulu sunumumuza aşağıdaki linkten erişebilirsiniz.

http://www.slideshare.net/Orhan_Eripek/oracle-enterprise-manager-cloud-control-12c-55309385

Uploading Certificate with Oracle Wallet Manager and Orapki Utilities

“OTech Magazine Fall 2015” yayınlandı. Makalemizi aşağıdaki linkten okuyabilirsiniz:

http://www.otechmag.com/magazine/2015/fall/ozgur-umut-vurgun—orhan-eripek.html

Oracle VirtualBox’ta Disk Size’ını Artırma

 

Sanal makinamızın 3 diskinden 15 gb olanının boyutunu 20 gb’a artırmak istiyoruz.

Sanal makinamız: Oracle Enterpise Linux 6.4

Öncelikle cmd ve VirtualBox uygulamanızı Admin olarak açmalısınız.

  1. clonehd  komutu ile .vmdk formatındaki diskimizi .vdi formatında clone’unu alıyoruz
  2. showhdinfo komutu ile .vdi clone diskimizin mevcut bilgilerini görebiliriz
  3. modifyhd  komutu ile .vdi clone diskimizi (diskimizin yeni hali olacak) istediğimiz boyuta çıkarıyoruz
  4. showhdinfo komutu ile .vdi clone diskimizin boyutunun artırılmış son bilgilerini görebiliriz
  5. clonehd komutu ile de son olarak .vdi clone diskimizin formatını olması gereken .vmdk formatına çeviriyoruz

Adımları aşağıdaki gibi adım adım görebilirsiniz;

cmd ile:

Microsoft Windows [Sürüm 6.1.7601]
Telif Hakkı (c) 2009 Microsoft Corporation. Tüm hakları saklıdır.

C:\Windows\system32>cd ..

C:\Windows>cd ..

C:\>cd program

C:\>cd “Program Files”

C:\Program Files>cd Oracle

C:\Program Files\Oracle>cd VirtualBox
C:\Program Files\Oracle\VirtualBox>VBoxManage.exe clonehd “C:\Users\orhan\Virtua
lBox VMs\DB_on_OEL6.4\DB_on_OEL-disk3.vmdk” “clone.vdi” –format vdi
0%…10%…20%…30%…40%…50%…60%…70%…80%…90%…100%
Clone hard disk created in format ‘vdi’. UUID: a94f1a26-4165-4ce8-b88f-be4153af2
5a8

 
C:\Program Files\Oracle\VirtualBox>VBoxManage.exe showhdinfo “clone.vdi”
UUID:           14374f36-572b-4ff6-b52b-dbef701008b4
Parent UUID:    base
State:          created
Type:           normal (base)
Location:       C:\Program Files\Oracle\VirtualBox\clone.vdi
Storage format: vdi
Format variant: dynamic default
Capacity:       15360 MBytes
Size on disk:   2809 MBytes

 
C:\Program Files\Oracle\VirtualBox>VBoxManage.exe modifyhd “clone.vdi” –resize
20480
0%…10%…20%…30%…40%…50%…60%…70%…80%…90%…100%

 
C:\Program Files\Oracle\VirtualBox>VBoxManage.exe showhdinfo “clone.vdi”
UUID:           14374f36-572b-4ff6-b52b-dbef701008b4
Parent UUID:    base
State:          created
Type:           normal (base)
Location:       C:\Program Files\Oracle\VirtualBox\clone.vdi
Storage format: vdi
Format variant: dynamic default
Capacity:       20480 MBytes
Size on disk:   2809 MBytes

 
C:\Program Files\Oracle\VirtualBox>VBoxManage.exe clonehd “clone.vdi” “C:\Users
\orhan\VirtualBox VMs\DB_on_OEL6.4\DB_on_OEL-disk3.vmdk” –format vmdk
0%…10%…20%…30%…40%…50%…60%…70%…80%…90%…100%
Clone hard disk created in format ‘vmdk’. UUID: 97a504a5-27a9-496f-9d27-3b8d7612
79f8

 

.vdi formatlı diskimizin “C:\Program Files\Oracle\VirtualBox” dizinimizde oluştuğunu görebiliriz

1

 

 

 

 

 

 

yeni .vmdk diskimizin de diğer VM disklerimizin olduğu “C:\Users\orhan\VirtualBox VMs\DB_on_OEL6.4” dizininde oluştuğunu görebiliriz.

2

 

 

 

 

 

 

 

Önceki boyutu 15 gb. Bu eski diskimizi çıkarıyoruz.

3

 

 

 

 

 

 

Yeni diskimizi ekleyelim

4

 

 

 

 

 

 

5

 

 

 

 

 

 

 

Diskimizin yeni halini seçiyoruz

6

 

 

 

 

 

 

 

 

Son durumda boyutun 20 gb olduğunu görebiliriz.

7

 

Oracle Database ve Teknolojileri Semineri – THKU

09.05.2015 Cumartesi günü Ankara’da Türk Hava Kurumu Üniversitesinde “Oracle Database ve Teknolojileri” seminerimizde görüşmek üzere🙂

oracleetkinlikafis

 

 

 

 

 

 

 

 

 

 

https://www.eventbrite.com/e/oracle-technologies-and-db-tickets-16903996308
https://www.facebook.com/thkubilgisayartoplulugu?ref=hl
https://twitter.com/utaacompclub
http://ceng.thk.edu.tr/

Uzmanlık Alanı Seçimi

Sosyal ağlardan bazı arkadaşlarımızın “Hangi uzmanlık alanını seçmeliyim?” şeklinde soruları oluyor ve tek tek cevaplıyordum, o yüzden bu makalede detaylı olarak açıklayarak paylaşmak istedim;

Uzmanlık seçimi yapmak için öncelikle hangi uzmanlık pozisyonlarının olduğunu ve nasıl bir iş akışı içerdiğini tanımak gerekiyor, veritabanı, yazılım, network, sistem uzmanlığı, analist veya proje yöneticisi,.. önemli olan bu uzmanlıkların hangisinin sizin karakter ve yaşam tarzınıza daha yakın olduğu..örneğin gecenin bir saatinde veritabanındaki problemi çözmek için uyanamam derseniz size göre olamaz veritabanı uzmanlığı veya kodlarla uğraşmayı seviyorum dersiniz yazılımı tercih edersiniz..veya da analistliği de düşünebilirsiniz -bayanlardan iyi analist çıkıyor, hatta proje yöneticiliği de bayanlara göre…şu varki herkesten öneri tavsiye alabilirsiniz ancak hiç kimse size “senin gözünden anladım sen network/veritabanı/sistem.. uzmanı olmalısın, tam sana göre” diyemez…iyi seçim yapın çünkü uzun yıllar bu işi yapacaksınız, en nihayetinde kararı yine siz verin.
Özetle öncelikle araştırma yaparak-hangi uzmanlık bana göre acaba deyip bol bol inceleyip okuyun, o alanda yapılan çalışmaların neler olduğunu..vs. uzmanların görüşlerini almaya devam edin, daha sonra da uzmanlığı ilgili uzmanına sorun memnun musunuz bu işinizden, önerir misiniz, kime göre neye göre önerirsiniz..vs. Seçim yaptıktan sonra kursuna gidebilirsiniz, başlangıç için çok faydası olur.

Üniversitedeki eğitimler eksik-yetersiz olduğundan genellikle işi işte öğreniyorsunuz, ekibinizde verilen projenin bir bölümü üzerinde kafa yordukça çalışıyorsunuz, eksiklerinizin farkına vardıkça daha çok yükleniyorsunuz, hem zaten sizi özel sektör yoracaktır işin belli bir sürede bitmesi için, o aşamalarda ekibinizdeki eski yıllanmış tecrübelilerden de birçok şey öğreneceksiniz, bir de bakmışsınız 3-4 sene sonra uzmanlaşmışsınız, burada bilmeniz gereken ilk 2-3 yıl zorluk çekmeniz olacak, hemen hepimiz mezun olduktan sonraki ilk toy yıllarımızda maalesef/mecburen sürünüyoruz, bunu atlattıktan sonrası daha kolay çünkü artık iş piyasasında da işinizde de tecrübeli, deneyimli oluyorsunuz.

Sıfır noktadan başlangıç seviyesine/bir işte çalışabilecek seviyeye gelmek için; hangi yazılım ise (.net, c#, c, c++, java,..vs) önce kendiniz çabalayınız, pdf’lerini, kitaplarını okuyunuz, uzmanlarını sosyal ağlardan takip ediniz, programı kurup çalışmalar pratikler yapınız, biraz aşina olunuz ki iş görüşmesinde IK’nın ve/veya teknik yöneticinin soracağı teknik konuları az çok cevaplayabilesiniz, ilk işe alınmanın yarısı az biraz görüşülen işe merakınız, isteğiniz, pratik çalışmalarınız yarısı da karakteriniz, ikisine de önemle bakılıyor.

Eğer seçiminiz Oracle Veritabanı üzerine bir uzmanlık alanı ise tavsiyelerimi madde madde belirteyim:

  • Oracle dokümantasyonunu, pdf’lerini, GUIDE’larını bol bol okuyun
  • OTN makalelerini – http://www.oracle.com/technetwork/articles/index.html, Linkedin’deki Oracle makalelerini, Oracle Magazine – http://www.oracle.com/technetwork/oramag/magazine/home/index.html  dergilerini bol bol okuyun
  • http://www.oracle.com ve yerli/yabancı Oracle blog’larını takip edin
  • youtube ve diğer bazı kanallarda yer alan Oracle videolarını izleyin
  • Oracle uzmanlarını sosyal hesaplarından takip edin, sorularınızı sormaktan çekinmeyin
  • Her yıl Kasım ayında gerçekleştirilen “Oracle Day” etkinliğine katılın
  • Üniversite ve/veya çeşitli kurumlarda gerçekleştirilen Oracle içerikli seminerlere katılın
  • Türk Oracle Kullanıcıları Grubu’nun tüm etkinliklerini duyurduğu http://www.troug.org/ platformunu takip edin, websitesine üye olun, fırsatları değerlendirin
  • Mümkünse/imkan bulabilirseniz stajınızı Oracle sistemlerinin kullanıldığı IT departmanlarında yapın
  • İmkanınız varsa Oracle eğitimlerini alın, çalışan iseniz şirketinizin sizi eğitime göndermesini talep edin
  • Bilgi birikiminizin ardından bilginizi resmi olarak kanıtlayabilmek, bilgi seviyenizi ispatlayabilmek için Oracle sertifikalarınızı da alın
  • Oracle Plsql Developer, Oracle DBA, Oracle Apps DBA, Oracle BI/DWH Developer, Oracle Weblogic Admin, Oracle EBS Admin,..vs. alanlardan hangisine yöneleceğinize Oracle veritabanı üzerine bilgi sahibi olduktan sonra karar verin
  • Deneyim sahibi olabilmek için uzun yıllar pratikler yapmalı, veritabanı sistemleri üzerinde projelerde bulunmalısınız
  • Her zaman söylediğim gibi “Paylaşmak Öğrenmektir”, bu yüzden öğrendiklerinizi blog ve sunumlarınızda paylaşın
  • http://dergi.bimo.org.tr/sayi02/#/46  – “Oracle Veritabanı Kariyer’ine Nasıl Başlamalı?” makalemi de okuyabilirsiniz

Uzmanlık alanı seçiminizde ve kariyerinizde başarılar dilerim.

A Day of Real World Performance 2015

taslak4B_800

 

 

 

 

 

 

 

 

 

 

Sanal performans grafiklerini bir kenara bırakın ve gerçek dünyadaki veritabanı performansına şahit olun. İstanbul’u ilk ziyaretleri 2012 yılında, yine TROUG ev sahipliğinde olan üç büyük ustanın bu özel sunumunu kaçırmayın.Türkiye’de Ask Tom’un da yazarı olarak da tanınan Tom Kyte, Real World Performans ekibinin liderlerinden Andrew Holdsworth ve bu üçlünün ayrılmaz parçası, usta mimar Graham Wood ile benzersiz bir günün tadını çıkarın. Oracle Rock Star’larından, sahnede 12c’nin incelikleri, ileri düzey sorgulama ipuçları ve performans optimizasyonu tekniklerini örnek uygulamalar ile canlı izleyin! Üç yıl aradan sonra ikinci ziyaretlerinde TROUG olarak yine bu ekibe ev sahipiliği yapmaktan gurur duyuyoruz.

Bu üst düzey etkinlikte Oracle veritabanı performansı hakkında bilmediklerinizi en iyilerden öğrenecek, sorularınızı yöneltebilecek ve tüm etkinliklerimizde olduğu gibi yine iletişim ağınızı genişletme imkanı bulacaksınız.

Etkinlikte Anlatılacak Konular:

  • Performance Problemlerini Araştırmak
  • Veri Ambarları ve Mitler
  • Indeksler ve Mitler
  • Veri Ambarı Genel Kavramlar
  • Veri Yüklemedeki Zorluklar
  • İstatistik Toplama
  • SQL Sorgularını İzlemek
  • Kaynak Yönetimi
  • OLTP Sistemler ve Performans Stratejileri
  • Eş zamanlı Sorgu İşleme
  • Otutumlar, Kursör ve SQL
  • Oracle Exadata’da Performans

Etkinlik Tarihi ve Lokasyonu:

27 Mart 2015 Cuma Saat: 09:00-16:00 – Elite World İstanbul
Ücretsiz etkinliğe kayıt ve detaylar için:

http://www.troug.org/haberler/a-day-of-real-world-performance-2015/

 

Step by Step Installing Oracle 12c on Oracle Solaris 11.2 for Sparc T5-2

Sparc T5-2 sunucu üzerine Oracle 12c database kurulumunu adım adım yapalım. Sunucu üzerine kuracağımız Solaris işletim sistemini, IP tanımlamasını ve network yapılanmasını ILOM (Integrated Lights Out Manager) konsolu üzerinden yapıyoruz. Bu şekilde rahatça uzaktan installation ve monitoring yapabiliyoruz. Konsol’a sunucu IP’si ile tarayıcıdan erişebilirsiniz. Default olarak root/changeme ile login olabilirsiniz.

Sunucu özellikleri:

Sun Sparc T5-2

  • 2 * Sparc T5 CPU
  • 256 GB RAM
  • 2 * 300GB SAS2 Disk

Sunucu hakkında detay bilgiler için: http://www.oracle.com/us/products/servers-storage/servers/sparc/oracle-sparc/t5-2/overview/index.html

Sunucu üzerinde yapılacak kurulum ve konfigurasyon ayarları için: http://docs.oracle.com/cd/E28853_01/html/E28854/docinfo.html#scrolltoc

Sunucu üzerine kuracağımız Solaris işletim sistemini – Oracle SPARC Solaris 11.2 Text Installer (sol-11_2-text-sparc.iso) bu linkten indirebilirsiniz:  http://www.oracle.com/technetwork/server-storage/solaris11/downloads/install-2245079.html

Oracle Database 12c  Release 1 (12.1.0.2.0) for Oracle Solaris on SPARC (64-bit) versiyonunu bu linkten indirebilirsiniz: http://www.oracle.com/technetwork/database/enterprise-edition/downloads/download12c-sparc64-download-2240594.html

Solaris 11.2’yi .iso file’ından kurduktan sonra sunucunun internete çıkışını sağlıyoruz ve telnet, ping başarılı ise netten Solaris için gerekli key ve paketlerini online yükleyebiliriz:

root@t5:/etc# telnet pkg.oracle.com 443
Trying 137.254.56.21…
Connected..

root@t5:/sun# pkg set-publisher -k /var/pkg/ssl/pkg.oracle.com.key.pem -c /var/pkg/ssl/pkg.oracle.com.certificate.pem -G “*” -g https://pkg.oracle.com/solaris/support/   solaris
root@akt5:/sun# pkg install solaris-desktop
root@t5:/sun# pkg install -r compatibility/packages/SUNWxwplr

root@t5:/sun# pkg install motif

root@t5:~# pkg update –accept
WARNING: The boot environment being modified is not the active one.  Changes
made in the active BE will not be reflected on the next boot.

Packages to remove:   1
Packages to install:   1
Packages to update: 196
Create boot environment: Yes
Create backup boot environment:  No
DOWNLOAD                                PKGS         FILES    XFER (MB)   SPEED
Completed                            198/198   10754/10754  416.8/416.8  303k/s

PHASE                                          ITEMS
Removing old actions                       3430/3430
Installing new actions                     4345/4345
Updating modified actions                  8796/8796
Updating package state database                 Done
Updating package cache                       197/197
Updating image state                            Done
Creating fast lookup database                   Done
Updating package cache                           1/1

….

  • Oracle kurulumu öncesi grup/user ve yetkileri tanımlıyoruz:

root@t5:~# groupadd oinstall
root@t5:~# groupadd dba
root@t5:~# groupadd dbgroup
root@t5:~# mkdir –p /export/home/oracle
root@t5:~# useradd -g oinstall -G dba -d /export/home/oracle oracle
root@t5:~# passwd -r files oracle
root@t5:~# chown –R oracle:oinstall /export/home/oracle
root@t5:~# mkdir -p /u01
root@t5:~# mkdir -p /oradata
root@t5:~# chown -R oracle:oinstall /u01
root@t5:~# chown -R oracle:oinstall /oradata

  • Oracle Database için Oracle user profile’ına vi editörü ile gerekli path’leri tanımlıyoruz:

root@t5:~# su – oracle
Oracle Corporation      SunOS 5.11      11.2    June 2014

oracle@t5:~$ vi /export/home/oracle/.profile

export ORACLE_BASE=/u01/app/oracle
export ORACLE_HOME=/u01/app/oracle/product/12.1.0/dbhome_1
export ORACLE_SID=orcl
export ORACLE_UNQNAME=orcl
export PATH=$ORACLE_HOME/bin:$PATH

ulimit -n 65536

ulimit -s 32768

  • /etc/inittab  file’ına vi editörü ile aşağıdaki parametre ve değerlerini ekliyoruz:

tm::sysinit:/usr/sbin/ndd -set /dev/tcp tcp_smallest_anon_port 9000 > /dev/console
tm::sysinit:/usr/sbin/ndd -set /dev/tcp tcp_largest_anon_port 65500 > /dev/console
tm::sysinit:/usr/sbin/ndd -set /dev/udp udp_smallest_anon_port 9000 > /dev/console
tm::sysinit:/usr/sbin/ndd -set /dev/udp udp_largest_anon_port 65500 > /dev/console

  • OS memory kaynaklarını Oracle user’ının verimli kullanabilmesi için aşağıdaki parametrelere optimum değerleri atıyoruz, OS memory’imiz 256 gb olduğundan project.max-shm-memory değerini yüksek tutabiliriz

root@t5:~#projadd -c “oracle” ‘user.oracle’

root@t5:~#projmod -sK “project.max-shm-memory=(privileged,248G,deny)” user.oracle
root@t5:~#projmod -sK “process.max-sem-nsems=(priv,4096,deny)” user.oracle
root@t5:~#projmod -sK “project.max-shm-ids=(priv,1024,deny)” user.oracle
root@t5:~#projmod -sK “project.max-sem-ids=(priv,1024,deny)” user.oracle

root@t5:~# projects -l  -> projeleri listeleyebiliriz

oracle@t5:~$ id -p  -> Oracle user id’sini görebiliriz
oracle@t5:~$ export DISPLAY=10.10.10.10:0.0

oracle@t5:~$ xhost +

 

root@t5:~#unzip solaris.sparc64_12102_database_1of2.zip

root@t5:~#unzip solaris.sparc64_12102_database_2of2.zip  

0

 

 

 

 

oracle@t5:~$ cd /export/home/database

oracle@t5:/export/home/database$ ./runInstaller

1 2 3 4 5 6 7 8

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

  • !!! swap alanı yetersiz olması durumunda extend edebilirsiniz;

mkfile 1024m /export/home/oracle/new_swap
swap -a /export/home/oracle/new_swap
swap -a /dev/zvol/dsk/rpool/new_swap

Passed..

9 10 11 12 13

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

  • !!!!  “ora-27125 unable to create shared memory segment” hatasını project.max-shm-memory değerinden dolayı aldık çünkü aşağıdaki çıktıdan da görüleceği gibi oracle user’ı için 2 ayrı project set edilmiş ve 100 olan oracle id’si proje değerlerimizi görmüyordu, 101 olan kaldırıldığında proje değerlerimizi gördü ve hata giderildi, set ederken buna dikkat etmeliyiz:

oracle@t5:~$ projects -l
system
projid : 0
comment: “”
users  : (none)
groups : (none)
attribs:
user.root
projid : 1
comment: “”
users  : (none)
groups : (none)
attribs:
noproject
projid : 2
comment: “”
users  : (none)
groups : (none)
attribs:
default
projid : 3
comment: “”
users  : (none)
groups : (none)
attribs:
group.staff
projid : 10
comment: “”
users  : (none)
groups : (none)
attribs:
user.oracle
        projid : 100
comment: “oracle”
users  : (none)
groups : (none)
attribs: process.max-file-descriptor=(priv,65536,deny)
process.max-sem-nsems=(priv,4096,deny)
project.max-sem-ids=(priv,1024,deny)
project.max-shm-ids=(priv,1024,deny)
project.max-shm-memory=(privileged,266287972352,deny)
oracle
        projid : 101
comment: “”
users  : (none)
groups : (none)
attribs:
oracle@t5:~$

oracle@t5:~$ id -p
uid=1101(oracle) gid=1000(oinstall) projid=100(user.oracle)

oracle@t5:~$ prctl $$

oracle@akt5:~$ projects -l
system
projid : 0
comment: “”
users  : (none)
groups : (none)
attribs:
user.root
projid : 1
comment: “”
users  : (none)
groups : (none)
attribs:
noproject
projid : 2
comment: “”
users  : (none)
groups : (none)
attribs:
default
projid : 3
comment: “”
users  : (none)
groups : (none)
attribs:
group.staff
projid : 10
comment: “”
users  : (none)
groups : (none)
attribs:
user.oracle
        projid : 100
        comment: “oracle”
        users  : (none)
        groups : (none)
        attribs: process.max-file-descriptor=(priv,65536,deny)
                 process.max-sem-nsems=(priv,4096,deny)
                 project.max-sem-ids=(priv,1024,deny)
                 project.max-shm-ids=(priv,1024,deny)
                 project.max-shm-memory=(privileged,266287972352,deny)

oracle@akt5:~$

 

Passed…

 

14
15

 

 

 

 

 

 

 

 

 

Audit Vault Collector Status Check & Send Automatic E-mail

Audit Vault 10.3 sürümünü kullanırken collector’lerin farklı zamanlarda farklı sebeplerden dolayı kapandığına şahit oldum, tabi bu collector’lerin sürekli up durumunda olmaları gerekir ki audit kayıtlarını loglayabilsinler, bu yüzden zamanında aşağıdaki gibi bir otomatik alert mekanizması kurmuştum;

CREATE TABLE av_collector_status
(
   log_date       DATE DEFAULT SYSDATE,
   collector_id   NUMBER,
   collector      VARCHAR2 (50),
   agent          VARCHAR2 (20),
   source         VARCHAR2 (20),
   bps            VARCHAR2 (20),
   rps            VARCHAR2 (20),
   ia             VARCHAR2 (10)
);
CREATE TABLE av_collector_status_history
(
   log_date       DATE DEFAULT SYSDATE,
   collector_id   NUMBER,
   collector      VARCHAR2 (50),
   agent          VARCHAR2 (20),
   source         VARCHAR2 (20),
   bps            VARCHAR2 (20),
   rps            VARCHAR2 (20),
   ia             VARCHAR2 (10)
);

CREATE OR REPLACE PROCEDURE AV_COLLECTOR_STATUS_CHECK
IS
   -- Orhan Eripek 16.12.2013
   v_dyntask   VARCHAR2 (2000);
BEGIN
   EXECUTE IMMEDIATE 'TRUNCATE TABLE av_collector_status';
   COMMIT;
   v_dyntask :=
      'insert all
      into av_collector_status_history ( collector_id, collector,agent, source, bps,rps,ia)
      into av_collector_status ( collector_id, collector,agent, source, bps,rps,ia)
select collector_id, collector,agent, source, bps,rps,ia from
(SELECT collector.collector_id,
         collector.collector_name collector,
         agent.agent_name agent,
         source.source_name source,
         bps_metric.metric_value bps,
         rps_metric.metric_value rps,
         ia_metric.metric_value ia
    FROM avsys.av$source source,
         avsys.av$collector collector,
         avsys.av$agent agent,
         (SELECT id, metric_value
            FROM AVSYS.av$valid_metrics metrics
           WHERE     metric_name = ''BYTES_PER_SEC''
                 AND metrics.CATEGORY = ''COLLECTOR'') bps_metric,
         (SELECT id, metric_value
            FROM AVSYS.av$valid_metrics metrics
           WHERE metric_name = ''IS_ALIVE'' AND metrics.CATEGORY = ''COLLECTOR'') ia_metric,
         (SELECT id, metric_value
            FROM AVSYS.av$valid_metrics metrics
           WHERE     metric_name = ''RECORDS_PER_SEC''
                 AND metrics.CATEGORY = ''COLLECTOR'') rps_metric
   WHERE     collector.source_id = source.source_id
         AND collector.agent_id = agent.agent_id
         AND source.status != 0
         AND collector.status != 0
         AND collector.collector_id = bps_metric.id
         AND collector.collector_id = ia_metric.id
         AND collector.collector_id = rps_metric.id
ORDER BY collector.collector_name)';
   EXECUTE IMMEDIATE v_dyntask;
   COMMIT;
END; 
/

CREATE OR REPLACE PROCEDURE AV_COLLECTOR_STATUS_EMAIL
IS
-- Orhan Eripek 16.12.2013
v_text long;
v_col varchar2(200);
BEGIN
  EXECUTE IMMEDIATE 'ALTER SESSION SET smtp_out_server = ''10.10.10.10''';
    
for text in (select to_char(log_date,'dd.mm.yyyy hh24:mi') as log_date, collector_id,
 collector,agent, source, bps,rps,ia from avsys.av_collector_status
where collector_id in ('21','22','23'))
loop
       
    if text.ia='false' then  
    
    v_text:=v_text||'"Log_date"         '||'"Collector" '||'       "Agent"  '||' 
        "Audit_Source" '||'     "Bytes_Per_Second"  '||'     "Records_Per_Second"'||'
   "Status" '||chr(10);
    v_text:=v_text||'________'||'   ________'||'     ________'||'      ________'||'
     _____________  '||'         ______________'||'       ______'||chr(10);                                                                                                                                                                                                                                                                                                                                                       ||chr(10);
 
  v_text:=v_text||text.log_date||'   '||text.collector||'    '||text.agent||' 
  '||text.source||'   '||text.bps||'   '||text.rps||'   '||text.ia||'   ' ||chr(10);
    v_col:= text.collector;
  UTL_MAIL.send(sender => '...@...com.tr',
           recipients =>  '....@...com.tr', 
           subject => 'Otomatik Alert Mail: Prod Audit Vault''un  "'||v_col||'" Collector''ü kapanmıştır!!!',
           message => v_text,
           mime_type => 'text; charset=us-ascii'); 
             
v_text:='';                      
END IF;
end loop;        
END;
/

Bu procedure’leri istediğiniz zaman periyodunda job ile çalıştırabilirsiniz, yarım saatte bir kontrol etsin gibi.

Resim4 Resim5

 

Automatic Alert Mail

Tablespace doluluk oranı belli bir eşik değeri (örneğin %90 limitini) aştığında otomatik alert mailini alabiliriz, eski sonuçlarla karşılaştırma yapmak istiyorsak tablomuzun history’sini de oluşturabiliriz;

CREATE TABLE TABLESPACE_SIZE_DAILY
(
  LOG_AS_DATE      DATE,
  TABLESPACE_NAME  VARCHAR2(20 BYTE),
  GBYTE_USED       NUMBER,
  GBYTE_FREE       NUMBER,
  GBYTE_SUM_AREA   NUMBER,
  PERCENT_USED     NUMBER
);
CREATE TABLE TABLESPACE_SIZE_DAILY_HIST
(
  LOG_AS_DATE      DATE,
  TABLESPACE_NAME  VARCHAR2(20 BYTE),
  GBYTE_USED       NUMBER,
  GBYTE_FREE       NUMBER,
  GBYTE_SUM_AREA   NUMBER,
  PERCENT_USED     NUMBER
);


CREATE OR REPLACE PROCEDURE TABLESPACE_SIZE_CHECK
IS
   -- tablespace alanlarının kullanım durumları,dolu ve boş alanlar,yüzdeleri
   -- Orhan Eripek 16.12.2013
   v_dyntask   VARCHAR2 (2000);
BEGIN
   EXECUTE IMMEDIATE 'TRUNCATE TABLE tablespace_size_daily';
   COMMIT;
   v_dyntask :=
      'INSERT     /*+ APPEND NOLOGGING */ALL
      INTO tablespace_size_daily
           (log_as_date, tablespace_name, GBYTE_used, GBYTE_free, GBYTE_sum_area,percent_used)
      INTO tablespace_size_daily_hist
           (log_as_date, tablespace_name,GBYTE_used, GBYTE_free, GBYTE_sum_area,percent_used)
SELECT systarih, tablespace_name, TRUNC(GBYTE_used,1) as GBYTE_used, TRUNC(GBYTE_free,1) as
GBYTE_free, TRUNC(GBYTE_sum_area,1) as GBYTE_sum_area, TRUNC(percent_used,1) as percent_used
FROM                   
(SELECT SYSDATE AS systarih, a.tablespace_name,
                            a.BYTES/1024/1024/1024 AS GBYTE_used, b.BYTES/1024/1024/1024 AS GBYTE_free,
                            ((a.BYTES/1024/1024/1024)+(b.BYTES/1024/1024/1024)) AS GBYTE_sum_area,
                            ROUND (((a.BYTES - b.BYTES) / a.BYTES) * 100, 2 ) as percent_used
                       FROM (SELECT   tablespace_name, SUM (BYTES) BYTES
                                 FROM SYS.dba_data_files
                             GROUP BY tablespace_name) a,
                            (SELECT   tablespace_name, SUM (BYTES) BYTES,
                                      MAX (BYTES) max_free_area
                                 FROM SYS.dba_free_space
                             GROUP BY tablespace_name) b
                      WHERE a.tablespace_name = b.tablespace_name
                   ORDER BY ((a.BYTES - b.BYTES) / a.BYTES) DESC)';
   EXECUTE IMMEDIATE v_dyntask;
   COMMIT;
END;
/

CREATE OR REPLACE PROCEDURE TABLESPACE_SIZE_EMAIL
IS
-- Orhan Eripek 16.12.2013
v_text long;
BEGIN
  EXECUTE IMMEDIATE 'ALTER SESSION SET smtp_out_server = ''10.10.10.10''';
  
 v_text:=v_text||'log_date    '||'    tablespace_name '||'    GBYTE_used   '||'   GBYTE_free '||'
    GBYTE_sum_area    '||'   percent_used '||chr(10);
 
 v_text:=v_text||'________'||'      ___________'||'       ________'||'      _________'||' 
 _____________  '||'     _________'||chr(10);
                                                                                                                                                                      
for text in (select to_char(log_as_date,'DD.MM.YYYY HH24:MI:SS') as tarih,tablespace_name,
GBYTE_used,GBYTE_free, GBYTE_sum_area, percent_used from tablespace_size_daily
where percent_used>'90')

loop
v_text:=v_text||text.tarih||’       ‘||text.tablespace_name||’                  ‘||text.GBYTE_used||’                               ‘||text.GBYTE_free||’                              ‘||text.GBYTE_sum_area||’                           ‘||text.percent_used||chr(10);
end loop;

UTL_MAIL.send(sender => ‘no-reply@……com.tr’,
recipients => ‘orhan.eripek@…..com.tr’,
subject => ‘Otomatik Alert Mail: Prod Tablespace kullanim orani %90 ı gecmistir!!!’,
message => v_text,
mime_type => ‘text; charset=us-ascii’);
END;
/

Bu procedure’leri istediğiniz zaman periyodunda job ile çalıştırabilirsiniz,
bu manuel yöntem dışında Enterprise Manager konsoldan da otomatik mail mekanizmaları oluşturulabilir

DECLARE
X NUMBER;
BEGIN
DBMS_JOB.SUBMIT
( job       => X
,what      => ‘TABLESPACE_SIZE_CHECK;’
,next_date => to_date(‘24.02.2015 06:00:00′,’dd/mm/yyyy hh24:mi:ss’)
,interval  => ‘TRUNC(SYSDATE+1)+6/24’
,no_parse  => FALSE
);
SYS.DBMS_OUTPUT.PUT_LINE(‘Job Number is: ‘ || to_char(x));
COMMIT;
END;
/

FGA (Fine Grained) Audit –Detaylı Denetim

Tabloların tüm kolonlarını seçerek veya istediğimiz kolonlar için filtreleme koyarak denetim sağlayabiliriz, denetim kayıtları sys.fga_log$ view’inde tutulur.

Örneğin orhan user’ının orhan_deneme ismindeki tablosunu FGA denetimine alalım ve raporunu Audit Vault konsolundan çekelim;

create table orhan_deneme (id number, adi varchar2(20), per_no number);
BEGIN
DBMS_FGA.ADD_POLICY 
 (object_schema    => '"ORHAN"',
                        object_name         => '«ORHAN_DENEME"',
                        policy_name         => '«ORHAN_DENEME_IUD"',
                        statement_types   => 'DELETE,INSERT,UPDATE',
                        audit_trail              => DBMS_FGA.DB,
                        audit_column_opts   => DBMS_FGA.any_columns);
END;
select POLICY_NAME from dba_audit_policies where OBJECT_NAME=‘ORHAN_DENEME';

drop etmek için;


BEGIN
   DBMS_FGA.DROP_POLICY (object_schema   => '"ORHAN"',
                         object_name     => '"ORHAN_DENEME"',
                         policy_name     => '"ORHAN_DENEME_IUD"');
END;
/
select * from orhan_deneme;
insert into orhan_deneme (id, adi, per_no) values (12,'ahmet', 76);
insert into orhan_deneme (id, adi, per_no) values (:t1,:t2, :t3);
update orhan_deneme set per_no=38 where id=22;
delete orhan_deneme where id=12;
commit;
Declare
c number;
begin
for rec in 1..100 loop 
c:=rec;
insert into orhan_deneme values(c,'orhan'||c,rec+10);
end loop;
commit;
end;


Audit Vault konsoldan tablomuzun audit loglarının raporunu çekebiliriz; Resim2
















Resim3
















aşağıdaki gibi bir sorgu ile de konsolun verdiği raporu çekebiliriz;

select B.HOST_NAME, C.USER_NAME, e.TARGET_NAME, D.EVENT_NAME, A.EVENT_TIME,
A.SQL_TEXT_str, a.SQL_BIND_STR
from
  AVSYS.AUDIT_EVENT_FACT A,
  AVSYS.CLIENT_HOST_DIM B ,
  AVSYS.USER_DIM C,
  AVSYS.EVENT_DIM d,
  AVSYS.TARGET_DIM E
where B.DIMENSION_KEY = A.CLIENT_HOST_DIM AND C.DIMENSION_KEY = A.USER_DIM 
AND D.DIMENSION_KEY = A.EVENT_DIM AND E.DIMENSION_KEY = A.TARGET_DIM AND
D.EVENT_NAME IN ('UPDATE','INSERT','DELETE') AND E.TARGET_NAME = 'ORHAN_DENEME'  
--and A.EVENT_TIME between to_timestamp( '02.11.2013','dd.mm.yyyy') and
to_timestamp( '03.11.2013','dd.mm.yyyy') 
order by event_time, c.user_name;

Auditing with triger

Triger ile denetleme örneği yapalım; çok önemli gördüğümüz tablolar için trigger yapısıyla ‘old value’ , ‘new value’ değerlerini loglayabiliriz, ‘ORHAN_TRIGGER_DENEME’ isminde oluşturduğum triger’ın nasıl logladığını inceleyelim;

-- ÖRNEK TABLO YARATILIR
CREATE TABLE ORHAN_DENEME
(
  OWNER           VARCHAR2(30 BYTE),
  OBJECT_NAME     VARCHAR2(128 BYTE),
  SUBOBJECT_NAME  VARCHAR2(30 BYTE),
  OBJECT_ID       NUMBER,
  DATA_OBJECT_ID  NUMBER,
  OBJECT_TYPE     VARCHAR2(19 BYTE),
  CREATED         DATE,
  LAST_DDL_TIME   DATE,
  TIMESTAMP       VARCHAR2(19 BYTE),
  STATUS          VARCHAR2(7 BYTE),
  TEMPORARY       VARCHAR2(1 BYTE),
  GENERATED       VARCHAR2(1 BYTE),
  SECONDARY       VARCHAR2(1 BYTE),
  NAMESPACE       NUMBER,
  EDITION_NAME    VARCHAR2(30 BYTE)
);

-- AUDIT KAYITLARINI TUTACAK BIR TABLO OLUSTURULUR
CREATE TABLE ORHAN_AUDIT_TABLE (
OWNER VARCHAR2(30),
TABLE_NAME VARCHAR2(30),
MODIFYING_USER VARCHAR2(30),
MODIFY_TIME DATE DEFAULT SYSDATE,
COLUMN_NAME varchar2(30),
BEFORE_VALUE varchar2(30),
AFTER_VALUE varchar2(30));

CREATE OR REPLACE TRIGGER ORHAN_TRIGGER_DENEME
AFTER UPDATE ON ORHAN_DENEME
FOR EACH ROW
DECLARE
v_username varchar2(10);
BEGIN
SELECT user INTO v_username FROM dual;
INSERT INTO ORHAN_AUDIT_TABLE ( OWNER, TABLE_NAME,
MODIFYING_USER, MODIFY_TIME, COLUMN_NAME, BEFORE_VALUE, AFTER_VALUE )
VALUES ( 'AV_SRV', 'ORHAN_AUDIT_TABLE', v_username, SYSDATE,
'OBJECT_NAME', :OLD.OBJECT_NAME, :NEW.OBJECT_NAME );
END;

-- ORNEK OLMASI ACISINDAN BİRKAÇ KAYIT GIRILIR
 
Insert into ORHAN_DENEME
   (OWNER, OBJECT_NAME, OBJECT_ID, DATA_OBJECT_ID, OBJECT_TYPE, 
    CREATED, LAST_DDL_TIME, TIMESTAMP, STATUS, TEMPORARY, 
    GENERATED, SECONDARY, NAMESPACE)
Values
   ('SYS', 'C_OBJ#', 2, 2, 'CLUSTER', 
    TO_DATE('10/21/2011 03:16:47', 'MM/DD/YYYY HH24:MI:SS'),
    TO_DATE('10/21/2011 03:16:47', 'MM/DD/YYYY HH24:MI:SS'),
    '2011-10-21:03:16:47', 'VALID', 'N', 
    'N', 'N', 5);

Resim1

Database Administration SIG 2015

afis

 

 

 

 

 

 

 

 

 

 

TROUG olarak “Database Administration SIG 2015‏” etkinliğimizde sizlere Oracle 12c ile gelen yenilikleri, Database In-Memory, Real Application Testing ve diğer teknoloji çözümlerini, veritabanı güvenliğini ve önemli yönetim tekniklerini sunmak istiyoruz. BMO ve IKU IEEE Ortak etkinliğimizde katılımcılara çekiliş ile süpriz hediyelerimiz de olacaktır. Etkinliğimiz ücretsiz olup, kayıt yaptıran herkes davetlidir.

Etkinlik Programı:

10:00-10:20 Açılış Konuşması, Baki Şahin
10:20-11:00 Oracle 12c Database In-Memory – Gökhan Atıl
11:10-11:50 Oracle Real Application Testing Kullanımı – Baki Şahin
11:50-13:30 Öğle arası
13:30-14:10 Oracle 12c ile Gelen Yeni Özellikler – Ercan Üret
14:20-15:00 Oracle Security – Onur Çınar
15:10-15:50 Database & DWH Best Practices – Zekeriya Beşiroğlu
16:00-16:40 Oracle Veritabanı Yönetiminde Önemli Teknikler – Orhan Eripek
16:40-17:10 Panel: Genel Söyleşi

Etkinlik Tarihi ve Lokasyonu:

21 Şubat 2015 Cumartesi – İstanbul Kültür Üniversitesi Prof. Dr. Önder Öztunalı Konferans Salonu

Kayıt:  http://www.troug.org/haberler/database-administration-sig-2015/

Oracle Veritabanı Kariyeri’ne Nasıl Başlamalı?

Bilgisayar Mühendisleri Odası (BMO) Dergisinde yayınlanan “Oracle Veritabanı Kariyeri’ne Nasıl Başlamalı?” makalemi bu linkten okuyabilirsiniz; http://dergi.bimo.org.tr/sayi02/#/46

bmo_e-dergi_aralik_Ana_Sayfa_Duyuru_v2

TROUG Day Ankara 2014

poster_ankara15_v2

 

 

 

 

 

 

 

 

 

 

Türk Oracle Kullanıcıları Grubu (TROUG) olarak 23 Aralık’ta Elektrik Mühendisleri Odası (EMO) Genel Merkezindeyiz, kayıt ve detaylar için: http://www.troug.org/haberler/troug-day-ankara-2014/

Etkinlik Programı:

09:00-09:10 Açılış Konuşması
09:10-09:50 Oracle 12c Database In-Memory – Gökhan Atıl
10:00-10:40 Oracle 12c Active Dataguard New Features – Emre Baransel
10:50-11:30 Oracle 12c Multitenant – Mahir Quluzade
11:40-12:20 Oracle 12c RAC ve Flex ASM – Özgür Umut Vurgun
12:20-13:30 Yemek arası
13:30-14:10 Oracle Ürünleri ile Pizza Yapımı – Gürcan Orhan
14:20-15:00 Git ile Oracle’da Versiyon Yonetimi – Yalım Gerger
15:10-15:50 Oracle Veritabanı Yönetimi – Orhan Eripek
16:00-16:40 Veritabanı Güvenliği ve Oracle Çözümleri – Onur Çınar

 

Adres:  Elektrik Mühendisleri Odası Genel Merkezi – Eğitim Salonu Ihlamur sokak No:10 Kızılay / Ankara

Oracle Day İstanbul 2014

11.11.2014’te İstanbul Kongre Merkezinde gerçekleşen ‘Oracle Day’ bu yıl da çok verimli geçti. Her yıl mutlaka katıldığım bu güzel organizasyonda bizzat görüşemediğim Oracle’a gönül veren değerli insanlarla yakından tanışma ve sohbet etme imkanı buldum. Bilişim sektörlerinde kendi geliştirdikleri ürünleri, çözümleri tanıtan yerli IT şirketlerini ve yöneticilerini dinledim. Bu 3th party şirketlerde eski çalışma arkadaşlarımı da gördüğümde sohbetlerimiz uzadıkça uzadı🙂 Önümüzdeki yıl ‘Oracle Day 2015’ te buluşmak üzere…

TROUG sunumlarını bu linkten inceleyebilirsiniz;

http://www.troug.org/?p=744

1 2 3

Connecting to Oracle db on Vmware virtual machine with Toad

Bu makalede, Vmware sanal Linux’umuza kurduğumuz Oracle 11g R2 db’e Windows PC’mizden Toad ile uzak bağlantı yapacağız,
Vmware sanal makimamızda Oracle Linux 6.3 ‘e Oracle 11g R2 db kurulumu için https://orhaneripek.com/2013/03/10/installing-oracle-database-11g-release-2-11-2-0-1-0-for-linux-x86-64-to-oracle-linux-6-3/ linkini inceleyebilirsiniz,
Vmware sanal Linux’umuza kurduğumuz Oracle 11g R2 db’e Windows PC’mizden Toad ile uzak bağlantı yapabilmek için öncelikle Oracle 11g R2 Client’ı ve Toad 11.6’yı Windows PC’mize kurduk,

‘Oracle Database 11g Release 2 Client (11.2.0.1.0) for Microsoft Windows (x64)’ için www.oracle.com

‘Toad 11.6’ için http://toadfororacle.com

Öncelikle Linux sistemimizin firewall ayarlarını disable edelim,

Sıfırdan Win PC’mize ilk kez db tns adresi ekleyeceğimizden Windows’ta başlat-programlar’dan Oracle Net Manager tool’unu açalım ve tns bağlantı ismi için sanal makinamızdaki Oracle db ismini girelim,
TCP/IP bağlantı protokünü seçiyoruz,
sanal Linux makinamızın IP adresini giriyoruz,
Oracle db ismini girelim,

finish’ten sonra G:\app\Orhan\product\11.2.0\client_1\network\admin path’i altında tnsnames.ora file’ını create ettiğini kontrol edebiliriz,

Toad tool’u ile ordba db’imizi seçiyoruz, sys user’ını ve şifresini girerek connect oluyoruz,

Installing Oracle Database 11g Release 2 (11.2.0.1.0) for Linux x86-64 to Oracle Linux 6.3

Bu makalemde, Oracle 11G R2 64bit db’i sanal makinamıza kurduğumuz Oracle Linux 6.3 sistemi üzerine kuracağız,
Sanal makinamıza Oracle Linux 6.3 kurulumu için https://orhaneripek.com/2013/03/09/installing-oracle-linux-release-6-update-3-for-x86_64-64-bit-to-vmware-workstation-8/ linkini inceleyebilirsiniz,

‘Oracle Database 11g Release 2 (11.2.0.1.0) for Linux x86-64’ için www.oracle.com
‘SecureCRT’ için http://www.vandyke.com/
Öncelikle önceden indirdiğimiz Oracle 11g R2 db’i Windows pc’mizde unzip yapıyoruz,
SecureCRT veya WinSCP, Putty ..vb. programlarla Linux sanal makinamıza connect olup SFTP bağlantı yöntemi ile Windows pc’mizde bulunan Oracle 11g R2 db’in bulunduğu klasörü sürükleyerek SecureCRT programı üzerine bırakıyoruz ve böylelikle eğer root user’ı ile bağlanmışsak sanal Linux’ümüzde root user’ının home’u altına kopyalamış oluruz,
2 adet zip file’ı direk linux’e de atarak oradan da unzip yapabilirsiniz,

/etc/pam.d/login dosyasına

session required pam_limits.so komutunu ekleyin
/etc/security/limits.conf dosyasında aşağıdaki komut satırlarının olup olmadığını kontrol edin, yoksa ekleyin,
oracle    soft    nproc   2047
oracle    hard    nproc   16384
oracle    soft    nofile  1024
oracle    hard    nofile  65536
Oracle kurulumu için gerekli dizinleri oluşturun ve Oracle kullanıcısına bu dizinleri kullanabilme hakları verin, kurduğumuz Linux’ta Oracle kullanıcısı tanımlı olduğundan tanımlamıyoruz,
mkdir -p /u01/home/oracle/product/11.2.0/db_1/
chown root:oinstall /u01
chown -R oracle:oinstall /u01
chmod -R 777 /u01
mkdir /u01/home/oracle/oraInventory
chmod -R 777 /u01/home/oracle/oraInventory
chown oracle:oinstall /u01/home/oracle/oraInventory
.bash_profile dosyasına Oracle Home’un path’ini tanıtıyoruz,
kurulum için Oracle user’ına login oluyoruz,

Oracle 11gR2 db’ini kopyaladığımız klasörün bulunduğu dizine terminalde erişerek ./runInstaller komutunu çalıştırarak kuruluma başlıyoruz, bu ilk sayfayı boş bırakarak geçiyoruz,

database create edeceğimizden ilk seçeneği seçiyoruz,

büyük data center’larda server db oluşturmayıp laptop’umuzda db server create edeceğimizden desktop class’ı seçiyoruz,

Oracle base ve lokasyonları bu ekranda otomatikmen geliyor, burada db instance name olarak ordba‘i belirledim ve tüm db user’ları için geçerli olacak olan ortak şifreyi belirledim,

daha önce create ettiğim oraInventory path’im burda gözüktüğü gibi aynı olmalı,

özet ekranı,
kurulum gerçekleştiriliyor,
database kuruluyor,

Enterprise Manager (em)’ın bağlantı linkini bu ekranda görebiliriz,

root user’ı için gerekli olan Oracle konfigürasyon dosyalarını terminalde root user’ı ile connect olup çalıştırmamız gerekiyor,

ve finish’imiz,

Enterprise Manager’a bağlanabilmemiz için Firefox tarayıcısına Enterprise Manager linkinin güvenli olduğunu tanıtmamız gerekiyor,

sys user’ı ile login oluyoruz,
em’e bağlandık ve db’imizin genel durumu,

sqlplus’tan da db’imize bağlantı testi yapıyoruz,

Sanal makinamızdaki Oracle veritabanına bağlantı kurmak için https://orhaneripek.com/2013/03/10/connecting-to-oracle-db-on-vmware-virtual-machine-with-toad/ makalesini inceleyebilirsiniz.

Installing Oracle Linux Release 6 Update 3 for x86_64 (64 Bit) to Vmware Workstation 8

    Bu 3 aşamalı makale dizisinde sizlere ‘Vmware Workstation 8’ uygulaması ile  Oracle Linux 6.3 sanal sistemi kurulumunu, bu sistem üzerine Oracle 11g r2  kurulumunu ve lokal Windows pc’mizde kurduğumuz Oracle 11g r2 Client ile Toad 11.6 uygulaması üzerinden sanal makinemizdeki Oracle Server’ımıza nasıl bağlanabileceğimizi anlatacağım, bunun için son sürüm uygulamaları indirdim ve kurdum, inş. sizlere faydası dokunur…

‘Vmware Workstation 8 (64bit)’  için http://www.vmware.com,

‘Oracle Linux Release 6 Update 3 for x86_64 (64 Bit)’  için https://edelivery.oracle.com,

MY Local PC info:

Win 8 Enterprise N,

Intel Core i7 2.00 Ghz

8 gb ram,

64 bit

Vmware Network Editor’den ve Vmware Network ayarlarından göröbileceğiniz gibi 3 farklı seçenekte (NAT, Bridged, Host-only) bağlantı seçebilirsiniz, eğer static IP’im olsun derseniz NAT, otomatik IP alsın derseniz diğer seçenekleri kullanabilirsiniz,

 Aşağıdaki adımları izleyerek Linux’u kurabilirsiniz,
 
 lokalinizde bulunan Linux’un .iso dosyasını seçiniz,
 
sanal makinanıza isim verin ve create edeceğiniz diski, klasörü belirleyin,
 Linux disk boyutunu 20 gb olarak belirledim,
 
özet bilgisi,
Vmware’de ayarları yaptıktan sonra Linux kurulumunda aşağıdaki ilk seçeneği seçerek yolumuza devam ediyoruz…
 
 Linux .iso içeriğini test etmesin, direk Skip ile geçiniz burayı,
 
Next,
 
 English seçiniz,
 
 sonrakinde dil desteği için Turkish seçiniz,
 
her zamanki şekilde disk ayarlarımız, partition’larımız için ilk seçeneği seçiyoruz,
sanal disk’teki tüm verilerin kaybolacağına dair uyarı veriyor, zaten diskimiz yeni ve boş, Yes deyin geçin,
Host’unuza isim veriniz,
DHCP, IP aralığınızdan birini verebilirsiniz,
Time Zone için İstanbul’u seçiniz,
Root şifresi belirleyiniz,
İstediğimiz gibi disk partition’ları için ‘Create Custom Layout’ ı seçiyoruz,
20 gb’lık diskimizi seçip Create butonu ile /boot, /swap ve / partition’larımızı belirliyoruz,
/boot alanı için 100 mb’ı yeterli gördüm,
/swap alanı için 2 gb verdim,
diğer kalan tüm disk alanını kalan / partition’ına veriyoruz, ‘Fill to maximum allowable size’ ı seçioruz,
son durum bu şekilde,

burasını varsayılan olarak bırakıp ilerliyoruz,

‘Database Server’ ı seçip ilerliyoruz,

‘Customize now’ ile Oracle için gerekli bazı paketleri seçip kuruyoruz,
Desktop, Desktop Platform, General Purpose

Desktop, X Windows System,… seçebilirsiniz,

Explorer ekleyebilirsiniz,
ASM için isterseniz aşağıdaki paketi ekleyebilirsiniz,

paketleri yüklüyor, kurulumu yapıyor,

ardından reboot ediyorsunuz,

Welcome,

License?, Yes,

Eğer geçerli bir CSI’ınız varsa bu adımda kaydetmeniz gerekir, yoksa daha sonraki bir zamanda register olacağım deyip NO ile geçiniz,
Bu alanda Oracle user’ını create etmenize gerek yok çünkü default’ta Oracle user’ı tanımlı durumda,Oracle user’ı ve gruplarında ayar yapmak için Advanced..’i tıklayabilirsiniz,

Zaman bilgisi için senkronize’yi seçin,

Kdump ayarlarını default’ta bırakıp geçiniz,

reset’ten sonra karşımıza login ekranı çıkacak,

desktop,

Vmware menüsünden ‘Install VMware Tools’ u tıklayarak Windows pc’niz ile Linux’unuz arasında çözünürlük, mause geçişleri, ekran boyutları vs.. gibi senkronizasyonları ayarlamak için masaüstüne gelen ‘Vmware Tools’ cd’sindeki paketi kuruyoruz,
Windows pc’nizden Linux’e ve Linux’den Windows pc’nize karşılıklı ping atabiliyor olmanız lazım, atamıyorsanız network ayarlarınızı gözden geçiriniz,
   Vmware sanal makimamızda Oracle Linux 6.3 ‘e Oracle 11g R2 db kurulumu için https://orhaneripek.com/2013/03/10/installing-oracle-database-11g-release-2-11-2-0-1-0-for-linux-x86-64-to-oracle-linux-6-3/ linkini inceleyebilirsiniz,
Takip Et

Her yeni yazı için posta kutunuza gönderim alın.