Tuesday, January 26, 2016

How to enable HugePages on Linux

How to Configure HugePages on RedHat Enterprise Linux 5?



  • First check whether it is enabled:


[root@nestrac1 ~]# grep Huge /proc/meminfo
HugePages_Total:     0
HugePages_Free:      0
HugePages_Rsvd:      0
Hugepagesize:     2048 kB


HugePages is not enabled...



  • Use the following script to obtain the value for "vm.nr_hugepages" . To use this scipt, insert into a file, make it executable and run it with oracle user:


#!/bin/bash
#
# hugepages_settings.sh
#
# Linux bash script to compute values for the
# recommended HugePages/HugeTLB configuration
#
# Note: This script does calculation for all shared memory
# segments available when the script is run, no matter it
# is an Oracle RDBMS shared memory segment or not.
# Check for the kernel version
KERN=`uname -r | awk -F. '{ printf("%d.%d\n",$1,$2); }'`
# Find out the HugePage size
HPG_SZ=`grep Hugepagesize /proc/meminfo | awk {'print $2'}`
# Start from 1 pages to be on the safe side and guarantee 1 free HugePage
NUM_PG=1
# Cumulative number of pages required to handle the running shared memory segments
for SEG_BYTES in `ipcs -m | awk {'print $5'} | grep "[0-9][0-9]*"`
do
   MIN_PG=`echo "$SEG_BYTES/($HPG_SZ*1024)" | bc -q`
   if [ $MIN_PG -gt 0 ]; then
      NUM_PG=`echo "$NUM_PG+$MIN_PG+1" | bc -q`
   fi
done
# Finish with results
case $KERN in
   '2.4') HUGETLB_POOL=`echo "$NUM_PG*$HPG_SZ/1024" | bc -q`;
          echo "Recommended setting: vm.hugetlb_pool = $HUGETLB_POOL" ;;
   '2.6') echo "Recommended setting: vm.nr_hugepages = $NUM_PG" ;;
    *) echo "Unrecognized kernel version $KERN. Exiting." ;;
esac

# End



  • Script output should be like the following:


$ ./hugepages_setting.sh 

Recommended setting: vm.nr_hugepages = 14462



  • Add this result value to /etc/sysctl.conf file


vm.nr_hugepages=14462



  • Reboot server..




  • After reboot HugePages is used as follows:


[root@exafkmdbadm01 ~]# grep Huge /proc/meminfo
HugePages_Total:   14462
HugePages_Free:     3736
HugePages_Rsvd:     3736
HugePages_Surp:        0
Hugepagesize:       2048 kB




** Make sure you have memlock values at /etc/security/limits.conf. For example If you have 64G RAM you should set it to slightly lesser values.


oracle   soft   memlock    60397977

oracle   hard   memlock    60397977


** Make sure you set the database parameters memory_% to "0" and use SGA, PGA values instead.

SQL> show parameter target

NAME                                 TYPE          VALUE
----------------------              ---------      -------
memory_max_target                    big integer      0
memory_target                        big integer      0
pga_aggregate_target                 big integer      1300M
sga_target                           big integer      3000M












Friday, January 15, 2016

ERROR: sending message to MANAGER (Timeout waiting for message)

On GoldenGate  11.1 when you try to stop the manager it may get timeout message as follows:


GGSCI (prod.com) 23> stop mgr
Manager process is required by other GGS processes.
Are you sure you want to stop it (y/n)? y

Sending STOP request to MANAGER ...

ERROR: sending message to MANAGER (Timeout waiting for message).


Check it from ggsci, manager still alive:


GGSCI (prod.com) 38> info all

Program     Status      Group       Lag           Time Since Chkpt

MANAGER     RUNNING                                           
EXTRACT     STOPPED     PSSS        00:00:00      00:00:12    
EXTRACT     STOPPED     XSSS        00:05:47      00:00:11    
REPLICAT    ABENDED     RLLL        00:00:00      00:48:55    
REPLICAT    STOPPED     RTTT        00:01:13      00:00:09    


The only solution is to find the sid of linux and kill the process:


$ ps -ef|grep ocfsmnt

 oraprod     3931     1  0 17:09 ?        00:00:00 ./mgr PARAMFILE /ocfsmnt/gg/dirprm/mgr.prm REPORTFILE /ocfsmnt/gg/dirrpt/MGR.rpt PROCESSID MGR PORT 7809


$ kill -9 3931    

Let's check the status:


GGSCI (prod.com) 42> info all

Program     Status      Group       Lag           Time Since Chkpt

MANAGER     STOPPED                                           
EXTRACT     STOPPED     PSSS        00:00:00      00:00:12    
EXTRACT     STOPPED     XSSS        00:05:47      00:00:11    
REPLICAT    ABENDED     RLLL        00:00:00      00:48:55    
REPLICAT    STOPPED     RTTT        00:01:13      00:00:09 


Thursday, January 14, 2016

OGG-00918 Oracle GoldenGate Delivery for Oracle, XXX.prm: Key column COLUMN_NAME is missing from map

On Goldengate 11.1,  Replicat PROCESS ABENDING and gives following error on ggserr.log when you try to start it: 

OGG-00918  Oracle GoldenGate Delivery for Oracle, XXX.prm:  Key column COLUMN_NAME is missing from map

When you look at the ggsci with info all:

GGSCI (prod1.com) 2> info all

Program     Status      Group       Lag           Time Since Chkpt

MANAGER     RUNNING                                           
EXTRACT     RUNNING     XPPP        00:00:02      00:00:09    
REPLICAT    ABENDED     RTTT        00:00:00      00:57:46    
REPLICAT    RUNNING     RSSS        00:00:00      00:00:02    


This error occured because Replicat abends when trying to replicate a table with NLS (e.g. Turkish) characters like "Ş" in a column name.

GoldenGate 11.1 does not support non-ASCII characters in the column name. 

You have to either upgrade to OGG version 11.2.1 or change the column name  to a valid name with NLS characters. 

You can find details on 
Doc ID 1325109.1

However, changing the column_name on extract does not help to start abending replicat. Because non-ASCII column_name is still exist on target. You can put a line on parameter file to skip this problematic table as follows.


MAPEXCLUDE SHEMA_NAME.PROBLEM_TABLE; 


Other solution may probably changing the column name to a ASCII character on target side.
I did not tried that solution yet, but it should help.

Wednesday, January 13, 2016

How to add second forms node as Forms metric client on 11i (11.5.10.2)

Since we have 32 bit Application servers on PROD EBS 11i, we have bottleneck on memory. There were two options on the table, shared appl_top and second forms node as metric server-client.
We choose latter because shared appl_top needs shared file system which brings more complexity.

In order to user forms metric server-client option, you should first "add a new node" to your EBS environment.

We used cloning method to add a new node. (Doc ID 230672.1 Section 4.4)


  • Run preclone on application node (the single node  to be cloned)
  • Clone this server with Acronis or VM clone if it is on a virtual server or install a new OS with required packages and copy all EBS files)
  • Change IP, hostname on the new cloned node. (If it is cloned with VM or Image)
  • Run on second node (new clone):

[appPROD@erpapp1f bin]$ perl adcfgclone.pl appsTier
Enter the APPS password [APPS]:
apps

First Creating a new context file for the cloned system.
The program is going to ask you for information about the new system:


Provide the values required for creation of the new APPL_TOP Context file.

Do you want to use a virtual hostname for the target node (y/n) [n] ?:

Target system database SID [PROD]:

Target system database server node [exafkmdb01-vip]:

Target system database domain name [xxx.com.tr]:

Does the target system have more than one application tier server node (y/n) [y] ?:

Does the target system application tier utilize multiple domain names (y/n) [n] ?:

Target system concurrent processing node [erpapp1]:

Target system administration node [erpapp1]:

Target system forms server node [erpapp1]:

Target system web server node [erpapp1]:

Is the target system APPL_TOP divided into multiple mount points (y/n) [n] ?:

Target system APPL_TOP mount point [/u02/PROD/PRODappl]:

Target system COMMON_TOP directory [/u02/PROD/PRODcomn]:

Target system 8.0.6 ORACLE_HOME directory [/u02/PROD/PRODora/8.0.6]:

Target system iAS ORACLE_HOME directory [/u02/PROD/PRODora/iAS]:

Do you want to preserve the Display set to erpapp1:1.0 (y/n) [y] ?:

Do you want to preserve the port values from the source system on the target system (y/n) [y] ?:
RC-50220: Warning: Java Object Cache Port: 12345 is not free. Unable to preserve the port settings from source system.

Clone Context uses the same port pool mechanism as the Rapid Install
Once you choose a port pool, Clone Context will validate the port availability.

Enter the port pool number [0-99]:
0

Checking the port pool 0
done: Port Pool 0 is free

Complete port information available at /u02/PROD/PRODappl/admin/out/PROD_erpapp1f/portpool.lst

Verifying Database Connection...

Database Connection on Port 1521: Successful

UTL_FILE_DIR on database tier consists of the following directories.

1. /usr/tmp
Choose a value which will be set as APPLPTMP value on the target node [1]:

Backing up /u02/PROD/PRODappl/admin/PROD_erpapp1f.xml to /u02/PROD/PRODappl/admin/PROD_erpapp1f.xml.bak

Creating the new APPL_TOP Context file from :
  /u02/PROD/PRODappl/ad/11.5.0/admin/template/adxmlctx.tmp

The new APPL_TOP context file has been created :
  /u02/PROD/PRODappl/admin/PROD_erpapp1f.xml

Log file located at /tmp/CloneContext_0108020115.log

Running Rapid Clone with command:
        perl /u02/PROD/PRODcomn/clone/bin/adclone.pl java=/u02/PROD/PRODcomn/clone/bin/../jre mode=apply stage=/u02/PROD/PRODcomn/clone/bin/.. component=appsTier method=CUSTOM appctxtg=/u02/PROD/PRODappl/admin/PROD_erpapp1f.xml  showProgress contextValidated=true

Beginning application tier Apply - Fri Jan  8 14:03:43 2016
Log file located at /u02/PROD/PRODappl/admin/PROD_erpapp1f/log/ApplyAppsTier_01081403.log
                                          

Completed Apply...
Fri Jan  8 14:05:52 2016

Beginning APPSIAS_PROD registration to central inventory...

ORACLE_HOME NAME   : APPSIAS_PROD
ORACLE_HOME PATH   : /u02/PROD/PRODora/iAS

ERROR: Registration Failed... Please check log file.

You can rerun this registration with the following script:
        /u02/PROD/PRODcomn/admin/out/PROD_erpapp1f/regOUI_APPSIAS_PROD.sh

Starting application Services for PROD:
Running:
 /u02/PROD/PRODcomn/admin/scripts/PROD_erpapp1f/adstrtal.sh APPS/<appspwd>


  • After adcfgclone.pl completes, Source the Applications environment and run the following commands on the Target System:  
·       
   [appprod@erpapp1f bin]$ perl adaddnode.pl
Enter the APPS username: apps

Enter the APPS user password: 
        Using CONTEXT_FILE : /u02/prod/prodappl/admin/prod_erpapp1f.xml
        Using      CTXORIG : /u02/prod/prodcomn/clone/bin/../context/apps/CTXORIG.xml
APPL_TOP name of the source system (old APPL_TOP name) : erpapp1
APPL_TOP name of the target system (new APPL_TOP name) : erpapp1f

Configuring snapshot information for the original (clone source) node...
Executing command:
sqlplus /nolog @/u02/prod/prodappl/ad/11.5.0/patch/115/sql/adadmrat.sql APPS apps prod prod erpapp1f erpapp1 /u02/prod/prodcomn/temp/adadmat_sql.spool

SQL*Plus: Release 8.0.6.0.0 - Production on Fri Jan 8 14:12:12 2016

(c) Copyright 1999 Oracle Corporation.  All rights reserved.

Connected.

++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Current data
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++


APPL_TOP Names in AD_APPL_TOPS:


*PRESEEDED*
GLOBAL
ap302app
testapp5
erpapp1


++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Updating tables...
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++


PL/SQL procedure successfully completed.


++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Updated data
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++


APPL_TOP Names in AD_APPL_TOPS:


*PRESEEDED*
GLOBAL
ap302app
testapp5
erpapp1


++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Done
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++


Commit complete.

Disconnected from Oracle Database 11g Enterprise Edition Release 11.2.0.4.0 - 64bit Production
With the Partitioning, Real Application Clusters, Automatic Storage Management, OLAP,
Data Mining and Real Application Testing options
Completed snapshot configuration on source node.

Configuring snapshot information for the new (clone target) node...
Executing command:
sqlplus /nolog @/u02/prod/prodappl/ad/11.5.0/patch/115/sql/adadmdat.sql APPS apps prod prod erpapp1 erpapp1f /u02/prod/prodcomn/temp/adadmdat_sql.spool

SQL*Plus: Release 8.0.6.0.0 - Production on Fri Jan 8 14:12:12 2016

(c) Copyright 1999 Oracle Corporation.  All rights reserved.

Connected.

++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Checking configuration...
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++


PL/SQL procedure successfully completed.


PL/SQL procedure successfully completed.


AOL Schema Name         : APPLSYS
Applications System Name: prod
Source APPLTOP Name     : erpapp1
Target APPLTOP Name     : erpapp1f
ACTIVE_FLAG present?    : TRUE



++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Current data
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++


APPL_TOP Names in AD_APPL_TOPS:


*PRESEEDED*
GLOBAL
ap302app
testapp5
erpapp1


++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Updating tables...
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++


PL/SQL procedure successfully completed.


++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Updated data
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++


APPL_TOP Names in AD_APPL_TOPS:


*PRESEEDED*
GLOBAL
ap302app
testapp5
erpapp1
erpapp1f

6 rows selected.


++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Done
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++


Commit complete.

Disconnected from Oracle Database 11g Enterprise Edition Release 11.2.0.4.0 - 64bit Production
With the Partitioning, Real Application Clusters, Automatic Storage Management, OLAP,
Data Mining and Real Application Testing options
Completed snapshot configuration on target node.


  • Follow document Doc ID 217368.1 section 2.4.2

  • Change the following values on XML files of both nodes.

s_leastloadedhost=%LeastLoadedHost% 
s_methost=erpapp1


  • Change the following values on second(new node) XML file:

s_isForms=enabled
isFormsDev=enabled 
s_metcstatus=enabled
s_formsstatus=enab


  • Run autoconfig on second node.

  • Run autoconfig on first node.

  • Open first node then second node.















Misyona uygulama inceleme

Artık günümüzde hayatımıza o kadar çok sosyal medya, internet ve teknoloji girdi ki bunları kullanırken insan bazen angaryalarla uğraşmak zorunda kalabiliyor.

Neredeyse hepimiz Facebook, Twitter, Instagram, Swarm vb.. kullanıyoruz. Bunun yanında daha çok depolama için kullandığımız Google Drive, Dropbox gibi platformlar da var.

Peki sizce de bu platformları birbirine bağlayan, birindeki bir etkinliğin diğer uygulamada bir başka şeyi tetiklemesi hoş olmaz mı? Eğer siz de sosyal medyayı aktif olarak kullanan bir internet kullanıcısı iseniz, o zaman Misyona tam size göre bir uygulama. 


Peki Misyona Nedir? Misyona kullandığınız sosyal medya ve diğer uygulamaları birbirine bağlayan ve birinde yapılan etkinliğin diğer uygulama üzerinde bir işlemi tetiklemesini sağlayan oluşumdur. 

Örnek:

İstanbul'da ertesi gün yağmur yağacaksa haber ver yanımda şemsiye bulundurayım
:


Süperlig'de takımım gol atarsa bana haber ver:



İnstagramda belirlediğim etiket ile fotoğraf paylaşılırsa google drive'ıma at:



Günlük su içmem için uyarılar gönder:



Bu hafta vizyona giren filmlerden imdb puanı 7.0 üzeri olan olursa haber ver gibi...




Bu ve bunun gibi birçok misyon yerine getirilmek üzere sizi bekliyor.

Uygulama türkçe ve ücretsiz, sadece ekstra misyon hakkı satın almak ücretli, App Store ve Google Play de mevcut.


www.misyona.com