30 Temmuz 2009 Perşembe

AİX SİSTEMLERDE DİSK BOYUTUNUN ARTTIRILMASI

Aix sistemlerde df -g komutu ile disk durumlarını görebiliyoruz. Kontrollerimizde disk alanı yetersizliği tespit edersek disklere boş alan eklenmesi ihtiyacı doğmuş demektir (%100, %99, %98 ...vb).

Disk büyütme işlemlerinde öncelikle yapılması gereken ilgili Aix sisteme Ssh ile bağlanılması gerekmektedir. Bağlantı yapıldıktan sonra df -g komutu ile disklerin durumlarını kontrol ederiz.

Görüleceği üzere bir partitionın durumu %98 lere gelmiş. İlerleyen tarihlerde dolduğunda performans ve başka sorunlarla karşılaşılabilir. Bu nedenle bu alana boş alan eklemeliyiz.

Öncelikle boş alanımızın olup olmadığına bakıyoruz. Bu işlemden önce volume groupun karakteriksel özellikleri listelemememiz gerekiyor.. Bu sayade volume groupta boş alan varmı bakacağız. Lsvg komutunu veriyoruz.

Görüleceği üzere rootvg partition unda 92416 Mb, sapvg partitionunda ise 45824 Mb lık boş yerimiz var. 2000Mb eklemeye karar veriyoruz ve disk alanı ekleme komutumuzu veriyoruz.

root@asprod:/> chfs -a size=+2000M /sapmnt/ASP

Bu komut ile 2000Mb alanı /sapmnt/ASP alanına ekliyoruz. Eğer çıkartmak istiyorsak komutta yapacağımız değişiklik size=-2000M dir. Yani artı yı eksi yapıyoruz. Daha sonra disk alanlarını df –g komutu ile incelediğimizde /sapmnt/ASP alanının 2000 Mb arttığını görebiliriz.

src:http://www.ercanpamuk.com/Makaleler/aix_disk_increase.html

AİX SİSTEMLERDE PERFORMANS KONTROLÜ

Aix sistemlerde belirli zamanlarda performans kontrolü yapılması gerekebilir. Sistemde oalbilecek yavaşlıklarda yada bir darboğaz ile karşılaşıldığında system performansının control edilmesi problemin tespit edilmesinde önemli derecede yardımcı olabilir.

Aix sistemlerde de Linux sistemlerdeki top komutunun bir benzeri olan topas komutu kullanılmatadır. Aix sisteme telnet bağlantısı yapıldıktan sonar komut satırında topas komutu çalıştırılır ve aşağıda göreceğiniz ekran karşınıza gelir.

Bu ekranda sol alt köşede çalışan processlerin PID numaraları, Cpu kullanımları ve procesi kullanan user gibi bilgiler yer almaktadır.

Ortadaki ekranda diskler hakkında bilgiler, en üst soldaki ekranda sistemin durumu, idle gibi bilgiler yer almaktadır.

Eğer sistemde bir yavaşlık varsa ve topas komutu ile system performansı test edildiğinde Cpu kullanım alanına bakılmalıdır. Cpu yu aşırı kullanan bir process varsa bunun ne olduğu üzerine araştırmalar yapılabilir.

src:http://www.ercanpamuk.com/Makaleler/aix_performance_control.html

TİVOLİ STORAGE MANAGER

Tivoli backup işlemlemlerinin yapıldığı IBM in bir uygulamasıdır. Bir sunucu üzerine kurularak backup library ile entegre çalışmaktadır.

Tivoli backup kartuşları ile arkasına yapıştırılan etiketler vasıtasıyla konuşmaktadır. Kartuş çıkartma, kartuş aldırma ...vb işlemler bu etiketlerdeki numaralar aracılığı ile yapılır.

Basit Tivoli Komutları:

q vol: Library içerisindeki kartuşları ve arşivi gösterir.

q libvol: O an library içerisindeki kullanılan kartuşları gösterir.

q pr: Library deki o an yapılan process leri gösterir.

q ses: O an çalışan sessionları gösterir.

q req: Requestleri listeler

reply : Requesti tetikler.


src:http://www.ercanpamuk.com/Makaleler/tivoli.html

TİVOLİ STORAGE MANAGER

Tivoli backup işlemlemlerinin yapıldığı IBM in bir uygulamasıdır. Bir sunucu üzerine kurularak backup library ile entegre çalışmaktadır.

Tivoli backup kartuşları ile arkasına yapıştırılan etiketler vasıtasıyla konuşmaktadır. Kartuş çıkartma, kartuş aldırma ...vb işlemler bu etiketlerdeki numaralar aracılığı ile yapılır.

Basit Tivoli Komutları:

q vol: Library içerisindeki kartuşları ve arşivi gösterir.

q libvol: O an library içerisindeki kullanılan kartuşları gösterir.

q pr: Library deki o an yapılan process leri gösterir.

q ses: O an çalışan sessionları gösterir.

q req: Requestleri listeler

reply : Requesti tetikler.


src:http://www.ercanpamuk.com/Makaleler/tivoli.html

29 Temmuz 2009 Çarşamba

Split Mirror Backup

http://help.sap.com/saphelp_nw70/helpdata/en/68/b72d86db13c642bb6e17b83b75f598/frameset.htm

27 Temmuz 2009 Pazartesi

Z_SAP_BC_PRINT

obj- S_SPO_ACT
field name - SPOACTION
delete -print

S_SPO_ACT
SPOAUTH
*

--------------
S_SPO_DEV
SPODEVICE
%LOC - LP01 - ZLOCAL -
----------------
????
S_SPO_DEV
S_SPO_DEV
*
----------------
S_SPO_PAGE
SPODEVICE
LP01 - ZLOCAL -

SPOPAGES
*
------------
http://help.sap.com/saphelp_nw70/helpdata/EN/c7/58c902e5bf11d18e2b0000e83dd9fc/content.htm

http://help.sap.com/saphelp_nw70/helpdata/EN/d9/4a8eb751ea11d189570000e829fbbd/frameset.htm

SAP_BC_PRN_DISPLAY

23 Temmuz 2009 Perşembe

Run OS Commands from SAP GUI

What a interesting piece of information now you can run os commands from SAP GUI.

Just run report RSBDCOS0 in SA38 and enjoy .

You can change working directory and all.Now no need to ask sysadmin to give password also . :)

src:http://sappandit.blogspot.com/2009/04/run-os-commands-from-sap-gui.html

lsvg -volume group listeler
lspv -command output to check your allocated and free physical volumes

http://publib.boulder.ibm.com/infocenter/pseries/v5r3/index.jsp?topic=/com.ibm.aix.baseadmn/doc/baseadmndita/cmd_display_lastlines.htm

17 Temmuz 2009 Cuma

SAP Sistem sapsys kullanıcısı Lock administrator No. 032 process inde “Lock table overflow” hatası.

SAP Sistem sapsys kullanıcısı Lock administrator No. 032 process inde “Lock table overflow” hatası.

Çözüm;
Lock table enqueue sunucu üzerinde bellekte bulunmaktadır. Enque/table_size büyüklüğü il bu değer KB cinsinden değiştirilebilir.

Raporlu olanlar dikkat

506 sayılı Kanunun 37 inci maddesi hükmü gereğince istirahatlı bırakılan sigortalılarımıza istirahatın başladığı üçüncü günden itibaren geçici iş göremezlik ödeneği ödenmekte olup,506 sayılı Sosyal Sigortalar Kanununda geçici iş göremezlik ödeneği ödenmeyen 2 gün için işverence ödeme yapılıp yapılmayacağına ilişkin bir hüküm bulunmamaktadır.

SAP lock table overflow

lock table overflow hatası çok almaya başladıysanız ilk yapacağınız iş
sm12->extrac->statistics
Lock Owner Table, Size alanın dolu mu?
eğer doluysa rz10 ile gidip enque ile ilgili parametreleri kontrol etmeniz gerekir.
ilk olarak enque/table_size alanını değiştirmelisiniz
max değeri 102400 eğer max değerini yazdığınızda hata alıyorsanız;
enque/process_location = REMOTESA parametresini değiştirmelisiniz.
bu değişiklikleri yapmadan önce uygulamacı arkdaşlar ile konuşup uygulamada problem olup olmadığını çek ederseniz uygun olur.

eğer Lock Owner Table, Size dolmuyorsa table lock lı olduğundan hatayı veriyordur. bunda yapılacak bir şey yok.

OTOMATİK KİLİTLEME
Bazı veri tabanı yönetim sistemleri, tablonun değişimine sebebiyet verecek herhangi bir komut (INSERT;UPDATE;DELETE) uygulandığı zaman, o tablo üzerinde otomatik olarak EXCLUSIVE kilitleme oluşturur. Bu kilitleme herhangi bir COMMIT yada ROLLBACK komutu ile ortadan kalkacaktır.
Örnek : LOCK TABLE X IN SHARE MODE;
X tablosu SHARE MODE’da kilitleniyor. Diğer kullanıcılar sadece okuma yapabilir.
Örnek : LOCK TABLE Y IN EXCLUSIVE MODE;
Y tablosu EXCULUSIVE MODE’da kilitleniyor. Diğer kullanıcılar sadece okuma yapabilir. Ve Y tablosu üzerinde kilitleme yapılamaz
----------------------------------
Locking a Table: Example

The following statement locks the employees table in exclusive mode but does not wait if another user already has locked the table:

LOCK TABLE employees
IN EXCLUSIVE MODE
NOWAIT;


The following statement locks the remote employees table that is accessible through the database link remote:

LOCK TABLE employees@remote
IN SHARE MODE;
http://stanford.edu/dept/itss/docs/oracle/10g/server.101/b10759/statements_9015.htm
-------------------------------------

SAP Tuning

SELECT T_00.VBELN,
T_00.AUART,
T_00.KUNNR,
T_00.SPART,
T_00.VKBUR,
T_00.VKGRP,
T_00.ERDAT,
T_00.VKORG,
T_00.VTWEG,
T_01.POSNR,
T_01.MATNR,
T_01.LGORT,
T_01.WERKS,
T_01.UEPOS,
T_01.VRKME,
T_01.KBMENG,
T_01.KWMENG,
T_01.VSTEL,
T_01.MATKL,
T_04.NAME1,
T_05.MAKTX,
T_06.MTART,
T_06.ZZMAKTX,
T_01.MATKL
FROM VBAK T_00
INNER JOIN
VBAP T_01
ON T_01.MANDT = '700' AND T_01.VBELN
= T_00.VBELN
INNER JOIN
MARD T_02
ON T_02.MANDT = '700'
AND T_01.MATNR = T_02.MATNR
AND T_01.WERKS = T_02.WERKS
AND T_01.LGORT = T_02.LGORT
INNER JOIN
VBUP T_03
ON T_03.MANDT = '700'
AND T_03.VBELN = T_01.VBELN
AND T_03.POSNR = T_01.POSNR
INNER JOIN
KNA1 T_04
ON T_04.MANDT = '700'
AND T_04.KUNNR = T_00.KUNNR
AND T_04.LAND1 = 'TR'
INNER JOIN
MAKT T_05
ON T_05.MANDT = '700'
AND T_05.MATNR = T_01.MATNR
AND T_05.SPRAS = 'T'
INNER JOIN
MARA T_06
ON T_06.MANDT = '700' AND T_06.MATNR =
T_01.MATNR
WHERE T_00.MANDT = '700'
--AND T_00.KUNNR = '0012020076'
AND T_00.AUART = 'ZD01'
AND T_00.VKORG = '1000'
AND T_01.VSTEL = '1000'
AND ( T_03.BESTA = 'A'
OR T_03.BESTA = 'B'
OR T_03.BESTA = 'C')
AND T_00.LIFSK <> 'Z1'
------------------------------------------
select * from v$parameter
where name like '%user_dump%'
-------------------------------------
col name format a10

col value_string format a50


select name, datatype, value_string

from v$sql_bind_capture

where sql_id='drgya7ynf0tn6' and child_number=0

order by position;
-------------------------------------------
select lpad(' ', level ) || operation operations,

object_name, options, cardinality

from (select * from v$sql_plan

where sql_id='drgya7ynf0tn6'

and child_number=0)

connect by prior id=parent_id

start with id=0

order by id, position;
--------------------------------------------
select NAME, VALUe_STRiNG from V$SQL_BIND_CAPTURE
where SQL_ID='drgya7ynf0tn6'

14 Temmuz 2009 Salı

TemSe

TemSe is basically a data store that is used for storing temporary sequential data/objects.
Such data/objects are not required to be held permanently in the system. A few TemSe objects/data among others are stated below:

Spool Data
Job Logs
Objects from HR, Fin, etc. applications

Storage Location for TemSe:

Each TemSe object has a header entry in table TST01 and the actual object, which can be stored on the file system (OS Level-performance advantage) or table TST03 (DB Level- backup by default for being a part of DB).

Let’s look how the different objects are preferred to be stored generally.

Spool Data: By default stored in TST03, along with entries in TSP01 (for Spool Requests) and TSP02 (for Output Requests). However, we do have an option of selecting the storage of these objects that can be defined through the profile parameter: rspo/store_location (db value: stored in table TST03, G value: stored in global dictionary in OS)
Job Logs: Stored in File system on OS Level.
HR Objects, etc.: Stored in TST03

Managing TemSe Objects:

TemSe is not an archiving system.

And so we need to always make sure that the number of objects and memory allocation do not increase in the system. We need to delete objects that are no longer required. Deletion can be done as follows:

i. Deleting spool requests either by SPAD (if less in number) or else running report RSPO0041
ii. Deleting job logs through report RSBTCDEL. (Deleting job logs directly might lead to inconsistencies. Instead, it is better to delete the batch jobs responsible for the same)
iii. If we are very sure about the TemSe objects that need to be deleted, we can run the report RSTS0022. However, this can lead to inconsistencies while deleting spool objects as this report clears entries only in table TST01 and not the corresponding entries in TSP01/TSP02. Hence, after using this report, best practice is to perform consistency checks on Spooler and TemSe.

In case of spool requests, print list archiving is possible though.

Also, TemSe objects have a retention period. We need to check if any objects have unlimited retention period. This Expiry Time can be checked as below:

SP12 t-code, then from the menu bar selects Gotoà TemSe Contents.

This screen will get us to all the matching objects. Thereafter, double clicking any row i.e. particular object name gives us all the details about the object (e.g. Object Name, Creator, Creation Date, Last Changed on, Expiry Date, Where the object is stored, its record type, size, client, etc.)

TemSe cannot manage objects that require more than 2 GB storage space: This is irrespective of the storage location used i.e. DB or OS. Also, the total number of objects in TemSe varies from 30k to 40k generally.

We can check the memory allocation for TemSe through SP12 T-Code.
From the menu bar, we need to select TemSe Data StorageàMemory allocation.

This gives us an overview of Storage space available in Database and file system for each client. It has further sections, detailing the TemSe object name and the amount of space used across DB/ file.
http://sapbasisnotes.blogspot.com/2009/07/temse-overview.html

13 Temmuz 2009 Pazartesi

SAP Kullanıcının yazıcı ayarlarının değiştirilmesi

-su01 ile ilgili kullanıcı seçilir.
-değiştir butonuna basılır.
-sabit değerler alanına geçilir.
-mevcut yazıcı alanına istenen yazıcı yazılır.
-hemen yazdırmak isteniliyorsa hemen yazdır seçeneği seçilir.

10 Temmuz 2009 Cuma

AIX monitoring tools

-Online monitoring

xmperf graphical monitor
http://publib16.boulder.ibm.com/doc_link/en_US/a_doc_lib/perftool/prfusrgd/ch02bod
y.htm.

-Operating system tools

topas
vmstat
iostat
nmon
http://www.ibm.com/developerworks/aix/library/au-nmon_analyser/index.html.

-zOS and DB2 reports
The tools used for creating the reports are:
* RMF Postprocessor
* RMF Spreadsheet reporter

http://web.utanet.at/mario/exam/5129cd4.htm

SAP Transactions for technical monitoring

AL08: List of all users logged on

SM12: Lock entry list

SM66: Global work process overview
The type of a process
Dialog process: DIA
Update: UPD
enqueue: ENQ
batch: BTC
spool: SPO
V2 update: UP2

STAD: Transaction analysis
Programs with long response times

ST02: Overview of SAP buffers
In general, the hit ratio should be at least 98%. swaps 0 olmalı

ST04N: Database overview
önemli olan data buffer quality %99 larda olmalı,
db cache quality %80 üstünde olmalı

ST05: SQL trace analysis
Process;
1. Start SQL Trace using ST05
2. -n.Generate load
3. -n.Stop SQL Trace
4. .-n.Analyze the trace

OS07/ST06: System monitor
The CPU utilization (CPU Utilization user) should not constantly range above 60
to 70% per CPU.
it is recommended that not more than 20% of the physical main memory should be
swapped per hour.
Thus, in a system with 4 GB of memory, swap rates of up to 200
KB/second are acceptable. But in general you can say the smaller the swap rate, the better

The utilization of the slowest hard disk (Disk with highest response time value in the
Response time group) should range below 50%. If that is not the case, the hard disk may be
overloaded.

LAN Errors in/s and LAN Errors out/s
should be 0

LAN Collisions greater than 0

SM04: User list

SM21: System log

ST22: ABAP run time error

LC10: liveCache monitoring

AANA: Transaction for the statistical evaluation of database tables
Due to the usage of Native-SQL, transaction TAANA is to be preferred to evaluations with
transaction SE16.

ST12 - Trace analysis

SE30 - Runtime analysis
– Measurement in dialog status
– Measurement of external session
– Planning a measurement
– Selection of measurement restrictions
– Analyzing measurement results

SM37 - Job overview

SAP reports

#df -g File systems disk usage
exportfs -v Exported file systems
lsps -a Paging area definition
ifconfig -a TCP/IP configuration
lspv hdisk0 -hdisk0 characteristics
lsvg rootvg -rootvg characteristics
mount -Mounted file systems

STAD

Transaction for the current monitoring process Transaction for the retroactive analysis
AL08 - List of all users logged on SM21 - Display system log
OS07 - Operating System Monitor ST04 - Database monitor
SM04 - User List ST05 - Performance analysis
SM12 - Lock entry list ST22 - ABAP Runtime Error
SM66 - Global work process overview STAD - Display statistical records
OS07 (via OS Collector)


-Use of Transaction STAD
The analysis shows that the database time represents a large portion of the total run time.

- Use of the operating system analysis of the database server via Transaction ST06 in order
to check the hardware utilization of the database server (CPU, memory)
The analysis returns a high degree of CPU utilization of the database server.

-Database analysis
The status of the database is checked using ST04.

9 Temmuz 2009 Perşembe

SAP user ve role table

su01
------
USR21
ADR6 -> SMTP_ADDR
ADRC
USR01
AGR_USERS->role


SE43
-------
SMEN_BUFFC
SMENSAPT ->OBJECTID
SMENSAPNEW ->OBJECTID

AGR_USERS USR21
-------- -------
MANDT MANDT
AGR_NAME START_MENU
UNAME BNAME
------------------------------------------------

PRINTER TABLE

TSP01 TSP02
------- -------
RQOWNER -user PJRECEIVER, PJOWNER -user
RQ1NAME -printer PKDEST -printer
RQPOSNAME - winismi PJPOSNAME -winismi

TSP02FX USR01
-------- --------
OWNER -user BNAME
TERMINAL -terminal SPLD

select rqowner, rq1name, rqposname from tsp01
where rqowner='$user'

select distinct rqowner from tsp01

select * from tsp02fx

select bname, SPLD from usr01 where spld='LOCE'

select distinct spld from usr01

select * from tsp02fx

tsp01, tsp02, tsp02fx, usr21

--------------------------------------------------

ROLE - TCODE TABLE

AGR_USERS, AGR_TCODES, AGR_1251

SELECT
TA.AGR_NAME AS LJS, TB.AGR_NAME AS SEVK,
TA.OBJECT AS LJS_OBJ, TB.OBJECT AS SVK_OBJ,
TB.MANDT, TA.MANDT,
TA.FIELD AS LJS_FIELD,
TB.FIELD AS SVK_FIELD,
TA.LOW AS LJS_LOW,
TB.LOW AS SVK_LOW,
TA.NODE AS LJS_NODE,
TB.NODE AS SVK_NODE
FROM (select * from AGR_1251--AGR_USERS
----AGR_TCODES
where AGR_NAME='$role') TA
inner join
(select * from AGR_1251--AGR_USERS
where AGR_NAME='$role') TB
on TA.OBJECT=TB.OBJECT
AND TA.OBJECT='S_TCODE'
AND TA.MANDT='$client' AND TB.MANDT='$client'
AND TA.FIELD=TB.FIELD
AND TA.LOW=TB.LOW
-----------------------------------------------------

SAP se43 Area Menu oluşturma

-se43 ile giriyoruz.

-istersek yeni bir menu seçebilir. istersek mevcut menulerden seçebilirz.
-istediğimiz alanın altına eklemek için o alana select(f9) diyoruz.



-add entry... diyerek ekliyoruz. Sonrada sakla dedikten sonra request ekranı geliyor.

-Request olusturduktan sonra se09 - transport ekranına gelip release ediyoruz

SAP su01-su10 Kullanıcı Tanımlama

-su01 ile giriyoruz.

-oluşturulacak user id yazıyoruz. ve create diyoruz.

-en azından soyadı kısmını doldurmamız yeterli.

-parolasını veriyoruz.

-rol tabına geçip. rollerini verip

-save dememiz yeterli.

-eğer kullanıcılar da toplu parametre değişikliği yapmak istiyorsak su10 işlem kodunu seçmemiz yeterli. ör: parametre değişikliği gibi.

SAP Stms ile request taşıma

-stms işlem kodu nu yazıyoruz.

-kamyon işaretini tıklıyoruz.

-QA sistemi seciyoruz.

-release id secip import que diyoruz (2.sırada)

-yes diyoruz.

-login ekranı

-ust birimini yazıyoruz.

-kendi kullanıcımızla login oluyoruz.

-release id status yeşil oluyor.

-seçip – import request diyoruz.

-target client i yazıyoruz.

-ok diyoruz.

- canlı için de aynı işlemleri yapıyoruz fakat target client i farklı olacaktır.

SAP Oracel Parametreleri Uyarıları

-QUERY_REWRITE_ENABLED parametresi true olursa ana tablonun materialized view i varsa sorguda mv e bakıyor. false olursa sorgu yaparken mv in belirtilmesi gerekir. eğer güncel veriler istiyorsanız materialized view yerine ana tabloyu sorgulamanız daha doğru olur. mv in avantajı sorgularda performans sağlayacaktır.

-REPLICATION_DEPENDENCY_TRACKING parametresi replike çalışan sunucularınız varsa true yapmanız gerekecektir. aksi takdirde false olması daha doğru olur.

-STATISTICS_LEVEL parametresin 10 g ile birlikte default değeri typical geliyor. sadece tablo gözlemleme amaçlı düşünmeyelim. AWR, ASSM, ADDM gibi onemli raporlama alanlarının takibi ile de sorumlu. metalink 252597.1

-STAR_TRANSFORMATION_ENABLED parametresi CSO sorguya dönüştürülmesine karar veriyor. SQL kalıpların alt sorgulara bölünerek Bitmap indexlerden yararlanılmasını sağlar. perfomans için true olmalıdır.

-SHARED_POOL_SIZE parametresi default değeri “0” da bırakılmışsa bu demektedir ki sga target ile belirlediğimiz alanı içerisinden shared pool alanına MMAN arka planda karar veriyor. eğer default değerini değiştirirsek default değerinin altına inmez.

-PARALLEL_EXECUTION_MESSAGE_SIZE parametresi default değeri 2kb dir. Slave process ile coordinator arasındaki buffer miktarını belirler. Eğer mesajlar büyükse parçalanır. Bu azda olsa performans kaybına neden olur. 8kb yapılabilir.

-OPTIMIZER_FEATURES_ENABLE parametresi ile db nin hangi release sahip olduğu belirtilir.

-LOG_BUFFER parametresi Redo log alanın büyüklüğünü belirler. Büyük olması i/o maliyetini düşürür.

-CRITICAL_TABLESPACE tablespace alanlarınıda kritik seviyede bulunan varsa uyarı verir.

http://download.oracle.com/docs/cd/B19306_01/server.102/b14237/toc.htm