Menu

29 Ekim 2012 Pazartesi

Oracle WebLogic Nedir

Bu makalemiz, devamini konu konu isleyecegim, weblogic server icin bir baslangictir.
Weblogic , onceden BEA firmasinin, simdi ise Oracle`in urunu olan tartismasiz dunyanin en iyi uygulama sunucusu ve uzerinde cok fazla cesitli uygulamalarin calismasina izin veren bir java uygulamasidir. Tek bir process olarak görürsünüz ama içinde birçok uygulama barındırır.
Weblogic hakkında biraz genel bilgi vermek istiyorum.. 
WebLogic, aşağıdaki ürünleri içeren J2EE ürün ailesine verilen isimdir. 
WebLogic Server 
J2EE (Kurumsal java) uygulama sunucusu
WebLogic Portal 
Kurumsal portal
WebLogic Integration 
Kurumsal Uygulama Entegrasyonu Platformu
Weblogic tuxedo
Transaction Sunucusu ve Ortakatman Platformu
Web sunucusu 
HTTP, HTTPs
Weblogic comminacation platform 
Telekomunikasyon Platformu
Ben bundan sonraki makalelerimde WebLogic Server ve Web Sunucu konulari ile ilgili yazilar yacagim.
Weblogic Server`in destekledikleri standartlar.
-          EJB 3+, JPA 2.0, WebService, JSF 2.0, JSP/Servlet, CDI, XML, Jersey, JMS, JAAS  gibi weblogic 12 ile birlikte Java EE 6 `in butun standartlarini ve cok daha fazlasini desteklemektedir.
-          Doğrudan destek sağladığı standartlar
SOAP
WSDL 
UDDI 
WS-Security
WebLogic Server
Günümüzde kurumlardaki en önemli ihtiyaçlardan biri, uygulama geliştirme sürecini 
olabildiğine hızlandırmak ve pazarın beklentilerini en hızlı şekilde karşılamaktır. BEA 
WebLogic Server, uygulama geliştirme sürecinde altyapı servislerini geliştirmeye 
zaman ayırmadan kurumların iş ihtiyaçlarına dönük uygulamalar geliştirmelerini 
sağlayacak bir altyapı sunar. WebLogic’in sunduğu bu sağlam ve kolay yönetilebilir 
altyapı sayesinde, arka taraftaki veri kaynaklarına, kullanıcıların güvenli ve hızlı bir 
şekilde erişimi sağlanır.
WebLogic 
Server, WebLogic platformunun temelini oluşturan bir ürün olarak, platform 
üzerindeki bütün ürünlerin sağlamlığını ve güvenilirliğini sağlamak için uzun süren 
test süreçlerinden geçmiştir ve güvenilirliği ve sağlamlığı bu test süreçlerinde 
onaylanmıştır. BEA JRockit java virtual machine ile birlikte kullanıldığında 
performans ve güvenilirlik sonuçları müşterilerimizin beklentisinin de ötesindedir. 
BEA WebLogic Server, uygulamaların sürekli ayakta kalmasını sağlamak için farklı 
serverların cluster yapısı içinde birlikte çalışmasını destekler. Bu özelliğiyle 
WebLogic Server uygulamaların çalışmalarının sürekliliğini sağladığı gibi, 
ölçeklendirilebilmeyi ve performansı da sağlar. Yük dağlımı, caching, server 
migration ve failover desteği de son kullanıcıların uygulamaya kesintisiz erişimini 
sağlamak amacıyla server ın içinde gelen özellikler arasındadır. Ayrıca uygulamanın 
yeni versiyonu ile eski versiyonunun aynı anda server da bulunabilmesi de 
uygulamanın yeni versiyonunun deploymentında kesinti yaşanmamasını sağlar. Bu 
özellikleri ile WebLogic Server uygulamalarınızı sıfır kesinti ile çalıştırabileceğiniz 
tek uygulama sunucusudur.  Giris niteligi icin bu makalemi burada bitiyorum ve, bundan sonraki makalelerimde daha teknik makalelerle devam edecem.

5 Ekim 2012 Cuma

CV(Oz Gecmis)

Ertuğrul ASLAN
 mail: ertugrula83@gmail.com
Doğum Tarihi:     13/10/1983
Uyruğu:                T.C.
Medeni Hali:        Evli
Cinsiyet :              Bay
Oğrenim durumu :  2004 -  2009    Baku Devlet Universitesi (Uygulamalı Matematik)

Oracle Veri Tabanı, Kurumsal Java, SOA, BPM ve Oracle Fusion Middleware Ürünlerini (GoldenGate, OSB, OAG, Weblogic Suite 11g/12c, Coherence, Webcenter Content, ADF...) kullanarak 8 yılı aşkın süredir danışmanlık, uygulama geliştirme ve eğitim hizmetleri vermektedir. Özellikle Veri Tabanı ve Weblogic  konusunda yurtdışı da dahil olmak üzere bir çok kurum/organizyonlara danışmalık, performans iyileştirme ve eğitim hizmetleri vermiş olup kurum/organizasyonların cluster ortamlarının en ideal şekilde oluşturulmasında bizzat görev almıştır. Java SE, Java EE, Oracle SQL, Oracle DBA I-II, Oracle RAC, Oracle DataGuard, Oracle Backup and Recovery, Weblogic-SOA konularında verdiği eğitimlerin süresi 6000 saat üzerindedir.

Teknik Beceriler

Oracle Veri Tabanı (Uzman)
· Oracle Database SQL Tuning, Oracle Database Performance Tuning, Oracle Data Guard (Standby) kurulum ve yönetimi, Oracle RAC (Real Application Cluster), Oracle Kurulum ve kurulum ortamının (Solaris, Linux, Windows) hazırlanması, Oracle Data Pumb (Import-Export) Verilerin taşınması, Oracle Datawarehouse, Oracle Grid ASM (Automatic Storage Management) konfigürasyon ve yönetimi, Oracle RMAN(Recovery Manager) Backup alma, backup’dan dönme ve çeşitli backup yöntemlerinin kullanılması, Oracle Golden Gate, Oracle SQL – PL/SQL
Orta Katman Çözümleri
· Oracle SOA Suite(Uzman), Oracle BPM Suite(Uzman), Oracle Service Bus(Uzman),  Oracle Api Gateway(Uzman), Oracle Enterprise Gateway(Uzman),  Oracle Policy Automation(Uzman),  Coherence(Deneyimli), Oracle Business Activity Monitoring(Deneyimli) ,Oracle Internet Directory(Deneyimli)
· Enterprise Architectures (Deneyimli), SOA Design Patterns (Deneyimli)
Programlama Dilleri
· JPA 2.0 (Hibernate, Eclipse Link)(Uzman),EJB 3+ and Java Web Service (Uzman),JSF (Uzman),Prime Faces (Uzman), Rich Faces(Uzman), JSP (Uzman),JMS (Uzman),Vaadin (Deneyimli),JAXB (Uzman),Apache Open source products(Deneyimli),Lucene - Nutch - Solr (Deneyimli)
Platformlar
· Eclipse(Uzman), JDeveloper(Uzman), NetBeans(Deneyimli), MyEclipse(Deneyimli), Rational Application Developer(Deneyimli), Web Sphere Application(Deneyimli)
İşletim Sistemleri
· Linux/Unix Family(Deneyimli), Windows Family(Deneyimli)
Diğer Veritabanı ve Uygulama Sunucuları
· MongoDB(Deneyimli), MySQL(Uzman), PostgreSQL(Deneyimli)
· Oracle Weblogic Server 10/11/12c (Uzman), Glassfish(Uzman), JBoss(Deneyimli)
Diğer
· Web Service(JAX-WS, REST) (Uzman), Spring(Uzman), EJB(Uzman), Java Persistence API(Uzman), Hibernate(Uzman), Eclipselink(Uzman), UML(Deneyimli), Design Patterns(Deneyimli), Struts 1(Deneyimli), Struts 2(Deneyimli), Ajax(Deneyimli), Vaadin(Deneyimli), JUnit(Deneyimli), JBPM(Deneyimli), NHibernate(Deneyimli), Entity Framework(Deneyimli), Log4j(Deneyimli), Lucene(Deneyimli), Solr(Deneyimli),  Cvs, Svn, StarTeam, Jibx, Jaxb, Jira

Tecrübe

CIO, Co-Founder
Temmuz 2014-...
SOAGEN Technology, Ankara, TÜRKİYE

• Küçük, orta ve büyük ölçekli kurumlar için danışmanlık, uygulama geliştirme ve eğitim hizmetleri veren SOAGEN Teknoloji firmasını ortağıyla beraber kurdu.
• SOAGEN Teknoloji, şu kavramlar üzerinde hizmet vermektedir: SOA (Service Oriented Architecture), BPM (Business Process Management) BPEL ( Business Process Execution Language), Enterprise Architectures, Enterprise Java, Big Data, NoSQL, Hadoop, Governance, Strategy, Best Practices, Patterns, Project Management.
• Oracle Fusion Middleware Ürünleri, Enterprise Architectures ve Enterprise Java konusunda özel tecrübe ve birikime sahip olan SOAGEN Teknoloji ayrıca diğer Firmaların ürün ailesinde de benzer çalışmaları yapacak kabiliyet ve donanıma sahiptir. SOAGEN Teknoloji tarafından sıklıkla kullanılmış ürünlerden bazıları şu şekildedir: Oracle SOA Suite, Oracle Business Process Management Suite, Oracle Service Bus, Oracle BPEL Process Manager, Oracle Enterprise Repository, Oracle Business Rules, Oracle Policy Automation, Oracle Business Activity Monitoring, Oracle SOA Management Pack Enterprise Edition, Oracle API Gateway, Oracle SOA Governance, Oracle Weblogic Suite, Oracle Coherence (In-Memory Data Grid), Oracle WebCenter Content, Oracle Database, Oracle NoSQL Database, MongoDB, Jasper, Pentaho.
Eğitim ve Danışmanlıklar.
InfoPark bünyesinde verilen eğitimler.
-      Oracle Database 12c New features
-      Weblogic 12c Admin I
-      Weblogic 12c Admin II
-      Oracle Real Application Cluster
-      Golden Gate 12c
-      Datawarehouse Administraiton
-      SOA Suite 12c
-      Oracle 11g Performance Tuning
-      Oracle 11g SQL Tuning
-      Oracle 12c Admin I
-      Linux Administration
-      Backup and Recovery
-      Dataguard
Oracle bünyesinde bir çok kuruma, Oracle Database(Admin I, Admin II, Performance Tuning, RAC, backup and recovery, Dataguard, SQL-PL/SQL) ve Oracle Weblogic, Java, SOA Suite BPM, OSB eğitimleri verilmiştir.
Danışmanlıklar
BAŞARI TEKNOLOJİ – JavaEE  Uygulama geliştirme
BAŞARI MOBILE – JavaE, SOA & Middleware Danışmanlığı
ROKETSAN A.Ş. – BPM Danışmanlık, eğitim ve geliştirme
TODEM Ltd. Şti –Weblogic 12c Danışmanlık
ANKARA SU KANALİZASYON İDARESİ (ASKİ) – Oracle API Gateway  Eğitim
ADEO A.Ş. – Oracle Fusion Middleware ve  Database eğitimleri
HAZİNE MÜSTEŞARLIĞI– Weblogic 12c Eğitim / Danışmanlık, Oracle SOA Suite & BPEL
SEKOM : Oracle RAC ve Dataguard danışmanlığı (Devam ediyor)
WIPRO (EMI) : Oracle GIS Veritabanları danışmanlığı(Devam ediyor)
BOTAŞ : Oracle 10g veritabanından 11g Rac veritabanına kurulum, geçiş, performans çalışmaları(Devam ediyor)
BOTAŞ : Weblogic uygulamasından çalışan uygulamaların Weblogic 12c cluster ortamlarına taşınması ve performans çalışması (Devam ediyor)
BOREN: Jboss sunucusunda çalışan uygulamaları Weblogic ortamına taşıma, veritabanı upgrade işlemlerinin yapılması. (Devam ediyor)
ORACLE – Oracle Fusion Middleware Products, Database and JavaEE Training and Consultancy (Devam ediyor)
YEDAŞ : Oracle Database ve Weblogic eğitim ve danışmanlıkları
AKEDAŞ : Golden Gate ile veritabanı replikasyonu
Oracle and  Java Trainer and Consultant
Devinim, Ankara, TÜRKİYE
Ocak 2013-Haziran 2014
Sağlık Bakanlığı SağlıkNet,ÇKYS, TDMS sistemi Exalogic ve Exalogic üzerinde çalışan Orta-katman ürünlerinin yönetiminde ve performans iyileştirmeleri (1 yıl).
ISDEMIR Golden Gate ile Zero Down time geçiş. (10g’den 11g RAC veritabanına)
THY Oracle Veritabanı danışmanlığı
Emniyet(TADOC) Oracle DB I ve II eğitimi
LinkPlus Oracle Performans tuning eğitimi
Muğla Üni. Oracle 11g RAC kurulumu
Roketsan Oracle 11g RAC kurulumu
Roketsan Enterprise Weblogic Cluster, SOA, Webcenter ürünleri kurulumu ve danışmanlığı
Afyon Üni. Oracle Eğitimi
GATE elektronik Oracle sanallaştırma kurulumu, Oracle ürünlerini optimize etmek ve Oracle orta katman ürünlerini kurulum yönetim ve test ortamları için hazırlanması, entegrasyonlarının yapılması
ATO Webcenter Cluster kurulum ve yönetimi,
ATO Weblogic ve Oracle ODA yönetimi ve danışmanlığı
TOKI genel müdürlüğü Oracle DB ve Weblogic, Webtier ürünlerinin danışmanlığı, OCFS2 cluster kurulum ve konfigurasyonları
Nijerya 3Consulting Weblogic eğitimi ve BPM demo çalışması
FONET yazılım takım liderlerine 12 günlük Kurum Java eğitim ve danışmanlığı
Başarı Mobile yazılım mühendislerine Kurumsal Java eğitimi
Başarı Mobile Weblogic ve SOA alt yapısının iyileştirilmesi danışmalığı


Senior Software Engineer  and Oracle DBA
Azerbaycan Merkez bankası (R.I.S.K Company, Baku, Azerbaycan)
Eylül 2007 - Temmuz 2012
ACCR (Azerbaycan Merkezi Kredi Sistemi) ve Azerbaycan Gümrük bakanlığı Visa Projesi
Kurumsal Java teknolojileri konusunda Azerbaycan Merkezi Bankası’ndaki Centralized Credit Registry sisteminin mimarisinin oluşturulması, projenin geliştirilmesi ve Oracle 11g veritabanın yönetimi gibi projenin bütün adımlarında etkin görev almış olup 4 yıla yakın bir zaman bu projede görev almıştır. Aynı zaman Azerbaycan Vize Extension projesinde, projenin Business Logic kısmı olan EJB-JPA bölümün yazılmasında önemli rol oynamıştır.Kullanılan Teknolojiler: EJB 3.1, JMS, Java WebService, JPA 2.0 (Hibernate, EclipseLink), JSF 2.0, Richfaces, Primefaces, Apache Digester, Xml Binding, JAXB, OpenDs LDAP, glassfish 3.1, Oracle Service BUS, Weblogic and glassfish application server.
Software and Database Trainer
Mayıs 2008- Temmuz 2012
Freelance, Baku, Azerbaycan
•  The State Statistical Committee of the Republic of Azerbaijan'da  Java yazılımcılarına (20 kişiye), 2 ay boyunca Kurumsal Java eğitimi.
• Millibyte ITM Eğitim Merkezinde, 3 yıl Java (standart ve enterprise) ve 2  yıl Oracle Veri Tabanı eğitmenliği

Eğİtimler ve Sertifikalar



• Oracle Performance Tuning Eğitimi
Nisan 2012

• Oracle Database 11g Administrator Certified Professional Sertifikası
Mayıs 2012

• Oracle Database 11g Administrator Certified Associate Sertifikası
Mayıs 2011

• Oracle Weblogic 12c Administrator Certified Associate Sertifikası

 2016

iletisim : (0532) 172 27 40

10 Eylül 2012 Pazartesi

Linux Vncserver baglanti sorunu

Linuxta vncserver kurduk, ama hala baglanti kuramiyorsak, firewalllari kapatmamiz lazim.
service iptables stop

30 Temmuz 2012 Pazartesi

Fixing the ORA-12519: TNS:no appropriate service handler found error


  1. Run SQL*Plus and login as SYSTEM. You should know what password you’ve used during the installation of Oracle DB XE.
  2. Run the command alter system set processes=150 scope=spfile;” in the SQL*Plus
  3. VERY IMPORTANT: Restart the database.

30 Nisan 2012 Pazartesi

Step By Step

  1. Oracle 11g r2 OEL 5.5 uzerine Kurulum 
  2. Oracle 11g r2 Dataguard(Standby) Kurulumu
  3. Linux Üzerine Oracle Weblogic 12.1.1 Kurulumu

Oracle 11g r2 Dataguard(Standby) Kurulumu

Kullanılan sistem bilgileri

Primary veritabanı DB_UNIQUE_NAME: ORCL
Standby veritabanı DB_UNIQUE_NAME:ORCLST

ORACLE_SID: ORCL

Primary hostname: linux1 (OEL Linux 5.5)
Standby hostname: linux2 (OEL Linux 5.5)

##### Primary tarafda ########

SQL>STARTUP MOUNT;

SQL>ALTER DATABASE ARCHIVELOG;

SQL> ALTER DATABASE OPEN;

SQL>ALTER DATABASE FORCE LOGGING;

[oracle@linux1 ~]$ scp $ORACLE_HOME/dbs/orapwORCL  oracle@linux2:$ORACLE_HOME/dbs

SQL>ALTER SYSTEM SET LOG_ARCHIVE_CONFIG='DG_CONFIG=(ORCL,ORCLST)';

SQL>ALTER SYSTEM SET LOG_ARCHIVE_DEST_2='SERVICE=ORCLST SYNC VALID_FOR=(ONLINE_LOGFILES,PRIMARY_ROLE) DB_UNIQUE_NAME=ORCLST';
SQL>ALTER SYSTEM SET LOG_ARCHIVE_DEST_STATE_2=ENABLE;

SQL>ALTER SYSTEM SET LOG_ARCHIVE_FORMAT='%t_%s_%r.arc' SCOPE=SPFILE;
SQL>ALTER SYSTEM SET LOG_ARCHIVE_MAX_PROCESSES=30;
SQL>ALTER SYSTEM SET REMOTE_LOGIN_PASSWORDFILE=EXCLUSIVE SCOPE=SPFILE;

SQL>ALTER SYSTEM SET FAL_SERVER=ORCLST;
// Eger farkli directoryler olacaksa
--SQL>ALTER SYSTEM SET DB_FILE_NAME_CONVERT='DB11G_STBY','DB11G' SCOPE=SPFILE;
--SQL>ALTER SYSTEM SET LOG_FILE_NAME_CONVERT='DB11G_STBY','DB11G'  SCOPE=SPFILE;
SQL>ALTER SYSTEM SET STANDBY_FILE_MANAGEMENT=AUTO;


-- primary tarafda

SQL>ALTER DATABASE CREATE STANDBY CONTROLFILE AS '/u01/app/oracle/oradata/ORCL/orcl_stby.ctl';


-- Network (Her iki tarafda)

tnsnames.ora
ORCL =
  (DESCRIPTION =
    (ADDRESS_LIST =
      (ADDRESS = (PROTOCOL = TCP)(HOST = linux1)(PORT = 1521))
    )
    (CONNECT_DATA =
      (SERVICE_NAME = ORCL)
    )
  )

ORCLST =
  (DESCRIPTION =
    (ADDRESS_LIST =
      (ADDRESS = (PROTOCOL = TCP)(HOST = linux2)(PORT = 1521))
    )
    (CONNECT_DATA =
      (SERVICE_NAME = ORCLST)
    )
  )

--listener standby tarafda

LISTENER =
  (DESCRIPTION_LIST =
    (DESCRIPTION =
      (ADDRESS = (PROTOCOL = TCP)(HOST = linux2)(PORT = 1521))
    )
  )

SID_LIST_LISTENER =
  (SID_LIST =
        (SID_DESC =
        (GLOBAL_DBNAME = ORCLST)
        (ORACLE_HOME = /u01/app/oracle/product/11.2.0/db_1)
        (SID_NAME = ORCL)
        )
)


[oracle@linux1 ~]$ mkdir -p /u01/app/oracle/oradata/ORCL
[oracle@linux1 ~]$ mkdir -p /u01/app/oracle/flash_recovery_area/ORCL
[oracle@linux1 ~]$ mkdir -p /u01/app/oracle/admin/ORCL/adump

####### primary tarafda #######

[oracle@linux1 ~]$ # Standby controlfile to all locations.
[oracle@linux1 ~]$ scp /u01/app/oracle/oradata/ORCL/orcl_stby.ctl oracle@linux2:/u01/app/oracle/oradata/ORCL/control01.ctl
[oracle@linux1 ~]$ scp /u01/app/oracle/oradata/ORCL/orcl_stby.ctl oracle@linux2:/u01/app/oracle/flash_recovery_area/ORCL/control02.ctl

####### standby tarafda #######

[oracle@linux1 ~]$ vi /home/oracle/pfile.ora
    DB_NAME=ORCL

SQL> STARTUP NOMOUNT PFILE='/home/oracle/pfile.ora';

####### primary tarafda #######

[oracle@linux1 ~]$ rman target sys/oracle@ORCL AUXILIARY sys/oracle@ORCLST;

rman> DUPLICATE TARGET DATABASE
             FOR STANDBY
             FROM ACTIVE DATABASE
             DORECOVER
             SPFILE
             SET db_unique_name='ORCLST' COMMENT 'Is standby'
             SET FAL_SERVER='ORCL' COMMENT 'Is primary'
             SET FAL_CLIENT='ORCLST'
            NOFILENAMECHECK;

####### Her iki tarafdada #######

SQL>ALTER DATABASE ADD STANDBY LOGFILE ('/u01/app/oracle/oradata/ORCL/standby_redo01.log') SIZE 50M;
SQL>ALTER DATABASE ADD STANDBY LOGFILE ('/u01/app/oracle/oradata/ORCL/standby_redo02.log') SIZE 50M;
SQL>ALTER DATABASE ADD STANDBY LOGFILE ('/u01/app/oracle/oradata/ORCL/standby_redo03.log') SIZE 50M;
SQL>ALTER DATABASE ADD STANDBY LOGFILE ('/u01/app/oracle/oradata/ORCL/standby_redo04.log') SIZE 50M;

#### Standby`de apply islemini baslatmak icin #######

SQL>ALTER DATABASE RECOVER MANAGED STANDBY DATABASE DISCONNECT FROM SESSION;


#######iptal etmek icin#######

SQL>ALTER DATABASE RECOVER MANAGED STANDBY DATABASE CANCEL;

#### Test Log Transport ####
On the primary server, check the latest archived redo log and force a log switch.
     
SQL>ALTER SYSTEM SET nls_date_format='DD-MON-YYYY HH24:MI:SS';
    SQL>SELECT sequence#, first_time, next_time, applied FROM v$archived_log  ORDER BY sequence#;

    SQL>ALTER SYSTEM SWITCH LOGFILE;


## standby
Check the new archived redo log has arrived at the standby server and been applied.

    SQL>ALTER SYSTEM SET nls_date_format='DD-MON-YYYY HH24:MI:SS';

    SQL>SELECT sequence#, first_time, next_time, applied FROM v$archived_log ORDER BY sequence#;


Read-Only Standby and Active Data Guard

Once a standby database is configured, it can be opened in read-only mode to allow query access. This is often used to offload reporting to the standby server, thereby freeing up resources on the primary server. When open in read-only mode, archive log shipping continues, but managed recovery is stopped, so the standby database becomes increasingly out of date until managed recovery is resumed.

###### Standby tarafda #######
To switch the standby database into read-only mode, do the following.

    SQL>SHUTDOWN IMMEDIATE;
    SQL>STARTUP MOUNT;
    SQL>ALTER DATABASE OPEN READ ONLY;

In 11g, Oracle introduced the Active Data Guard feature.
SQL>SHUTDOWN IMMEDIATE;
    SQL>STARTUP MOUNT;
    SQL>ALTER DATABASE OPEN READ ONLY;
    SQL>ALTER DATABASE RECOVER MANAGED STANDBY DATABASE DISCONNECT FROM SESSION;

    SQL>SELECT protection_mode FROM v$database;

    PROTECTION_MODE
    --------------------
    MAXIMUM PERFORMANCE

    -- Maximum Availability.
    SQL>ALTER SYSTEM SET LOG_ARCHIVE_DEST_2='SERVICE=db11g_stby AFFIRM SYNC VALID_FOR=(ONLINE_LOGFILES,PRIMARY_ROLE) DB_UNIQUE_NAME=DB11G_STBY';
    SQL>ALTER DATABASE SET STANDBY DATABASE TO MAXIMIZE AVAILABILITY;

    -- Maximum Performance.
    SQL>ALTER SYSTEM SET LOG_ARCHIVE_DEST_2='SERVICE=db11g_stby NOAFFIRM ASYNC VALID_FOR=(ONLINE_LOGFILES,PRIMARY_ROLE) DB_UNIQUE_NAME=DB11G_STBY';
    SQL>ALTER DATABASE SET STANDBY DATABASE TO MAXIMIZE PERFORMANCE;

    -- Maximum Protection.
    SQL>ALTER SYSTEM SET LOG_ARCHIVE_DEST_2='SERVICE=db11g_stby AFFIRM SYNC VALID_FOR=(ONLINE_LOGFILES,PRIMARY_ROLE) DB_UNIQUE_NAME=DB11G_STBY';
    SQL>SHUTDOWN IMMEDIATE;
    SQL>STARTUP MOUNT;
    SQL>;ALTER DATABASE SET STANDBY DATABASE TO MAXIMIZE PROTECTION;
    SQL>ALTER DATABASE OPEN;

1 Nisan 2012 Pazar

Faydali SQL`ler

Eğer sisteminiz archivelog’da çalışmıyorsa daha tutarsız ve anlık değişimlerden daha çok etkilenen şu sorguyu kullanabilirsiniz:
SELECT round(AVG(20 /
                   ((to_date(sonraki, 'HH24:MI') - to_date(logswicthzamani, 'HH24:MI')) * 24 * 60) * bytes
                     / (1024 * 1024)), 2) || ' MB' AS "Onerilen Redo"
FROM (SELECT bytes,
to_char(first_time, 'HH24:MI') AS logswicthzamani,
lead(to_char(first_time, 'HH24:MI'), 1) over(ORDER BY first_time) AS sonraki
FROM v$log) WHERE sonraki IS NOT NULL;

- Kullanilmayan indexler

select owner, index_name from dba_indexes where status='UNUSABLE';

15 Mart 2012 Perşembe

Mysql Export/Import

Bir tabloyu export ve import etmek icin.

export

[root@localhost ertugrula]# mysqldump logdb logs -u logger -p > log.txt


import

[root@localhost ertugrula]# mysql -u logger -p  logdb < log.txt

22 Şubat 2012 Çarşamba

Enterprise Manager Console ERROR: NMO not setuid-root (Unix-only)

we making below steps

[oracle@linux1 ~]$ su
Password:
[root@linux1 oracle]# cd $ORACLE_HOME
[root@linux1 db_1]# chmod 6750 bin/nm?
[root@linux1 db_1]# chmod 700 bin/emdctl
[root@linux1 db_1]# chmod 700 bin/emagent
[root@linux1 db_1]# chown root bin/nm?

[root@linux1 db_1]# exit

[oracle@linux1 ~]$ emctl stop dbconsole
[oracle@linux1 ~]$ emctl start dbconsole 


9 Aralık 2011 Cuma

#HY000Host 'XXX' is not allowed to connect to this MySQL server


mysql> grant all privileges on *.* to logger@192.168.10.14 identified by 'logger';

6 Aralık 2011 Salı

Glassfish Performans Iyilestirme (Tuning)

      Bu makalemizde Glassfish`in performans iyilestirmelerini inceleyecegiz. Neden buna ihtiyac duyuyoruz, cunku benimde basima geldigi gibi, proje gelistirim asamasinda hersey normal olarak gorunuyor ama, bir production sisteme yuklemeye, yani gercek calisma ortamina gecmeye basladigimizda iste o zaman  sorunlarla karsilasmaya basliyoruz.

    Peki neden bu sekilde oluyor derseniz, cok basit olarak sunu dusunebiliriz, Mesala siz bilgisayariniz uzerinde uygulama gelistiriyorsunuz ve yaptiklarinizi test etmek icin, belkide gunde en az 4-5 defa yeniden deploy ediyorsunuz, ve iste bu sekilde yaptiginiz icin, her yeni redeploy yapiliminda server yeniden restart oluyor diyebiliriz, restart oluyordan kastim, butun degerler sifirlanip yeniden basliyor, buna JVM yani RAM deki objelerin silinmesi vs. gibi diger butun degerler ilk haline donuyor. Ama gercek bir uygulama sunucusa attigimizda, belkide burada aylarca hic restart ve redeploy olmadan sistemin calismasi gerekiyor ve bizde performans problemlerini burada yasiyoruz.

   Sizinde tahmin edebileceginiz gibi, Application Server icindeki butun parametreler default olarak ayarlanmis gelmektedir. Ve bizimde makalemizin konusu bu, buradaki parametreleri optimum hale getirmeye calisacagiz.

Sozu cok fazla uzatmadan ise koyulalim..
  • Using the glassfish performance tuner
  • Deployment Settings
  • Logger Settings
  • Web Container Settings
  • EJB Container Settings
  • Java Message Service Settings
  • Transaction Service Settings
  • HTTP Service Settings
  • Network Listener Settings
  • Transport Settings
  • Thread Pool Settings
  • ORB Settings
  • Resource Settings
  • Load Balancer Settings
Makalemizde yukaridakileri adim adim inceleyecegiz.
Oncelikle sunu belirteyim, performance tuner glassfish`in sitesinde indirdigimiz surumde mevcut degil, oracle kendi sitesinde indirmemiz gerekecek, simdi diyeceksiniz glassfish oracle`in degilmi diye, bunu detayli bir sekilde ben bilmiyorum ama en yakin zamanda ogrenip, paylasacam.

Download icin..
http://www.oracle.com/technetwork/middleware/glassfish/downloads/ogs-3-1-1-downloads-439803.html
(ogs-3.1.1-unix-ml.sh linux icin)
(ogs-3.1.1-windows-ml.exe windows icin)
Using the glassfish performance tuner
    Performance tuner glassfish`in bize server deployment icin gerekli tavsiyelerde bulunur ve optimum ayarlari yapmamizda yardimci olur.
Ben kendi bilgisayarim icin asagidaki ayarlamalari yaptim.

Yukaridaki 1.adim da yapilacaklar, ikinci adimda ayarlanmis degerler goreceksiniz ve gelen JVM ile ilgili onlarinda detaylarini JVM tuning makalemizde gorecegiz.

Deployment Settings

Deployment Settings performance icin onemli ayarlari icermektedir.
1- Disable auto-deployment
Burada bahsedilen otomatik deploy, yani .war file`ini yada .ear file`nizi glassfish`in (glassfish-3.0.1/glassfish/domains/domain1/autodeploy/) directorisine attiginiz zaman glassfish onu otomatik olarak deploy edecektir. ve edebilmesi icin auto-deployment parametresinin enable olmasi gerekiyor.

Ama biz production sistemimizde bu parametreyi disable yapmaliyiz, cunku glassfish surekli autodeploy klasorunu kullanmaya calismasin, bu parametreyi production server`imizde disable yaptigimizda performansi artiracaktir.
Ayarlamak icin (http://127.0.0.1:4848/common/index.jsf)
 domain -> Application Cofiguration altinda 
                   Auto Deploy : disable.

2-Use Pre-compiled JavaServer Pages

JSP sayfalarinin derlenmesi cok yogun kaynak ve zaman alici islemlerden biridir. JSP sayfalarinin deploydan once derlenmesi ciddi performance artisi saglayacaktir. Ve bu ozelligi kullandigimiz zaman sadece servlet file`lari deploy olacaktir.

Ayarlamak icin (http://127.0.0.1:4848/common/index.jsf)
 domain -> Application Cofiguration altinda 
                   Precompile: enable.

 3- Disable Dynamic Application Reloading

 Eger bu parametre enable ise, o zaman server ve uygulamadaki degisiklikleri periodik olarak incelecektir ve buda performance kayiplarina neden olacaktir. Production serverimizde bu parameteriyi disable yapacagiz.

Ayarlamak icin (http://127.0.0.1:4848/common/index.jsf)
 domain -> Application Cofiguration altinda 
                   Reload: disable.
Son hali goruntulu olarak

Logger Settings

 

1 Aralık 2011 Perşembe

JPQL`de SUM fonksiyonunda aritmetik islemler

Bilindigi gibi jpqlde sum fonksiyonunda aritmetiksel ismler yapmamiza izin vermiyor. Ama biz bunun gecici bir cozumunu asagidaki yontemle bulabiliriz.
Mesala ben asagidaki bir sql yazdigimda syntax error verecektir.
String sql = "SELECT SUM(p.price*l.quantity) FROM purchaseorders o JOIN orderlineitems l ON o.pono=l.pono JOIN products p ON l.prod_id=p.prod_id JOIN suppliers s ON p.sup_id=s.sup_id"
Ama biz asagidaki gibi bir class yaratip onu kullandigimizda sorunumuz cozulmus olacaktir.
    package jpqlexample.servlets;
    ...
    class LineItemSum {
           private Double price;
           private Integer quantity;
           private Double rslt;
           public LineItemSum (Double price, Integer quantity){
                 this.rslt = quantity*price;
           }
           public Double getRslt () {
                return this.rslt;
           }
           public void setRslt (Double rslt) {
                this.rslt = rslt;
           }
        }
Kullanimi :
String sql = "SELECT NEW jpqlexample.servlets.LineItemSum(p.price, l.quantity)
                       FROM PurchaseOrder o
                        JOIN o.orderLineItems l JOIN l.product p JOIN p.supplier"

28 Kasım 2011 Pazartesi

Oracle faydali sql`ler

-> scheman'in indexlerinin cikartilmasi ve toplu olarak acilmasi(schemaadi yerine sizin schema adini girmelisiniz)

select 'alter index schemaadi.'||index_name||' monitoring usage;' from dba_indexes where owner=schemaadi order by table_name;


-> monitor'Un acilmasi tek bir index icin (index.adi yerine istediginiz indexin adini giriniz)

alter index "index.adi" monitoring usage;




-> izlenmesi ((schemaadi yerine sizin schema adini girmelisiniz)

select * from v$object_usage where owner=schemaadi;




->monitor'un kapatilmasi (index.adi yerine istediginiz indexin adini giriniz) 

alter index "index.name" nomonitoring usage;

25 Kasım 2011 Cuma

sys as sysdba – insufficient privileges

sys as sysdba – insufficient privileges

Working on the Solaris server i always use ” / as sysdba” to login to the database.While creating a backup scripts, i used
sqlplus -s "sys@iddb as sysdba" 
Before testing the script, did a tnsping
bash-3.00$ tnsping iddb

TNS Ping Utility for Solaris: Version 10.2.0.3.0 - Production on 28-MAY-2010 17:00:44
Copyright (c) 1997, 2006, Oracle.  All rights reserved.
Used parameter files:
Used TNSNAMES adapter to resolve the alias
Attempting to contact (DESCRIPTION= (ADDRESS_LIST= (ADDRESS =(PROTOCOL=TCP)
(HOST=XXX.XXX.XXX.XX)(PORT=XXXX))) (CONNECT_DATA= (SERVICE_NAME=iddb)))
OK (10 msec)
A log file is generated whenever the backup script is run.While checking the log file i saw the below error
ERROR:
ORA-01031: insufficient privileges
Hmmm…time for check -
bash-3.00$ sqlplus sys as sysdba

SQL*Plus: Release 10.2.0.3.0 - Production on Fri May 28 17:29:51 2010

Copyright (c) 1982, 2006, Oracle.  All Rights Reserved.

Enter password:

Connected to:
Oracle Database 10g Enterprise Edition Release 10.2.0.3.0 - Production
With the Partitioning and Data Mining options

SQL> exit
Disconnected from Oracle Database 10g Enterprise Edition Release 10.2.0.3.0 - Production
With the Partitioning and Data Mining options
bash-3.00$
bash-3.00$ sqlplus sys@iddb as sysdba

SQL*Plus: Release 10.2.0.3.0 - Production on Fri May 28 17:30:28 2010

Copyright (c) 1982, 2006, Oracle.  All Rights Reserved.

Enter password:
ERROR:
ORA-01031: insufficient privileges
Check whether passwordfile exists or not??
bash-3.00$ cd $ORACLE_HOME/dbs
bash-3.00$ ls -lrt
total 21198
-rw-r-----   1 oracle1  dba         8385 Sep 11  1998 init.ora
-rwxr-xr-x   1 oracle1  dba         3854 Jul 24  2008 initiddb.ora
-rw-r-----   1 oracle1  other       2048 Sep 10  2009 orapwiddb.ora
-rw-r-----   1 oracle1  dba         7680 May 17 14:11 spfileiddb.ora
bash-3.00$
“orapwiddb.ora” file is present in ORACLE_HOME/dbs.Next was to check v$pwfile_users view
SQL> select * from v$pwfile_users;

no rows selected
SQL>; show parameter remote_login

NAME                                 TYPE        VALUE
------------------------------------ ----------- ------------------------------
remote_login_passwordfile            string      EXCLUSIVE

SQL>
Opppssss, “no rows selected”.Created a new password file
bash-3.00$ orapwd file=$ORACLE_HOME/dbs/orapwiddb.ora password=xyzyzx#123 entries=2
bash-3.00$ ls -lrt
total 24202
-rw-r-----   1 oracle1  dba         8385 Sep 11  1998 init.ora
-rwxr-xr-x   1 oracle1  dba         3854 Jul 24  2008 initiddb.ora
-rw-r-----   1 oracle1  other       2048 Sep 10  2009 orapwiddb.bkp
-rw-r-----   1 oracle1  dba         7680 May 17 14:11 spfileiddb.ora
-rw-r-----   1 oracle1  dba         1536 May 28 17:52 orapwiddb.ora
bash-3.00$
bash-3.00$
Granting sysdba privilege to SYS
SQL> grant sysdba to sys;
 grant sysdba to sys
*
ERROR at line 1:
ORA-01994: GRANT failed: password file missing or disabled
Something wrong!!!!! It say “password file missing or disabled”, even after creating the password file.Seems like, oracle is not able to read “orapwiddb.ora” file.Created a new password file with name “orapwiddb”
bash-3.00$ orapwd file=$ORACLE_HOME/dbs/orapwiddb password=xyzyzx#123 entries=2
bash-3.00$ ls -lrt
total 24202
-rw-r-----   1 oracle1  dba         8385 Sep 11  1998 init.ora
-rwxr-xr-x   1 oracle1  dba         3854 Jul 24  2008 initiddb.ora
-rw-r-----   1 oracle1  other       2048 Sep 10  2009 orapwiddb.bkp
-rw-r-----   1 oracle1  dba         7680 May 17 14:11 spfileiddb.ora
-rw-r-----   1 oracle1  dba         1536 May 28 17:58 orapwiddb
Lets try grant sysdba privilege to SYS now,
SQL> grant sysdba to sys;

Grant succeeded.

SQL> select * from v$pwfile_users;

USERNAME                       SYSDB SYSOP
------------------------------ ----- -----
SYS                            TRUE  TRUE
bash-3.00$ sqlplus 

SQL*Plus: Release 10.2.0.3.0 - Production on Fri May 28 18:05:01 2010

Copyright (c) 1982, 2006, Oracle.  All Rights Reserved.

Enter user-name: sys@iddb as sysdba
Enter password:

Connected to:
Oracle Database 10g Enterprise Edition Release 10.2.0.3.0 - Production
With the Partitioning and Data Mining options

SQL> exit

17 Kasım 2011 Perşembe

Oracle Hatalar

Error:
TNS-12537: TNS:connecton closed
TNS-12560: TNS:Protocol Adapter Error

Linux Error: 29 Illegal Seek ....when trying to start lisnr

Cozum:

Include in /etc/hosts file
127.0.0.1 localhost.localdomain localhost