2012年9月24日 星期一

Sap_install_system_check


Unix安裝之前要檢查:
1.硬體一定要是SAP認證的 http://www.saponwin.com/
2.安裝之前Sizing根據業務量大小.事務多少.用戶數量,需要多少CPU多大RAM and Disk space,是否需要High availabilityd可能會切很多Cluster

三套系統還是兩套系統?有的公司為了節省費用PRD+DEV
SAP建議要三套系統PRD.QAS.DEV,要節省硬體的話可以把QAS.DEV裝在同一台,不過要給他多一點RAM跟硬碟空間

為什麼要三套系統呢?
只有兩套系統在開發系統做修改,直接傳給生產系統,如果造成生產系統有問題,可能會當機或應用資料庫混亂
所以才會有QAS,模擬成生產系統,當開發系統發一個Change Request先傳給QAS,如果發生問題重新修改,直到QAS上沒問題在release到PRD
很多時候把QAS拿掉很難保證DEV和PRD的一致性,很多公司當上線一年以後,DEV和PRD資料全都亂掉
當DEV發Change Requsert給PRD不起作用,或者是結果完全不一樣,這時候就要想辦法讓DEV.PRD一致
從PRD Export成檔案(把生產系統裡所有Client.資料轉成檔案),把DEV重裝,在某個選項Import PRD Export的檔案,Import進來後把它改成DEV就OK,他裏頭所有的資料除了Client名稱不一樣其他都一樣
完全一樣後Client不能一樣對用戶來說有問題,從800 Client Copy成100.200,100指拷貝Customizing這個Profile,100就變成一個開發Client,200完全拷貝拿來當測試,這樣在100開發先傳到200測試
Export Import有什麼好處,比如說你要去做升級,Export重裝一台Import做測試

怎麼Export?
用R/3的安裝工具R/3 load,系統停掉資料庫也停掉,在安裝工具時有一個選項,你是不是要安裝還是Export


軟體:
OS版本
OS patches

網路:
TCP/IP 設不同網段設Routing
Hostname 不能超過8位,也不要有其他符號,就英文跟數字尤其在NT下




2012年9月14日 星期五

Sap_System_Monitoring


日常監控:
1.OS:CPU使用率,一般來說持續超過70%可能需要升級CPU或加CORE,有時候I/O很慢會造成CPU在等待,要去觀察跟什麼有關系
     FILE SYSTEM但是DB放在Netapp上比較沒有這個問題
     Windows可以用perfmon.msc來觀察,增加一個計數器,Physcial disk→Avg. Disk Queen Length
     平均值超過2代表I/O不夠,如果4顆硬碟做raid5去掉一顆剩3,3*2=6不超過六是他的平均值
2.DB:Preformance(ST04)
     Backup(DB13、DB12)
3.R/3:Apserver(SM51)點進去可看Process的狀態
      Buffer(ST02)

當出現異常系統管理員要去查原因
週期性如檢查備份和監測
突發性如當我的DBServer當機或APServer(SM50)UPDATE有問題
可以透過CCMS去監測,如果要馬上去處理問題還是直接打Tcode比較快(如:ST04、DB02)

ST03(Workload Analysis)
可已看到效能的一些訊息(Respinse time)和最常用的Tcode(專家模式要打開可以看比較多)
Wait time太長可能是Process不夠,一般Wait time大概在1ms~10ms不能再超過

RZ20(CCMS)
凡是紅色的都是超出預設值或當初設定極限值,這裡數值是可以去修改的
在這看到跟在OS SAPMMC裡OPEN ALERTS是一樣的
出現紅色可以點兩下看詳細的說明
顧問說在這看有一定的統計值,但這些數值意義不是很大

可以監控遠端系統RZ21
要先定義RFC(SM59)才能遠端連線(需要問顧問做法)

R/3 Service
看用戶的(SMLG.AL08.SM04)
SM04和AL08,SM04列出登入本機總共的用戶,AL08是系統裡總共有多少個用戶
當有很多台APServer時可以透過SMLG組成Logon Group,還要去編輯SAPMSG.INI(Message Server)

看Process(SM50.SM51.SM66)
SM51可以通一來看R/3有幾個Instance,Instance Names.有哪些WP.Kernal license&path.
SM50/SM66都是看WP,SM50不管有沒有用戶在使用都會顯示,SM66只有在當下有在Run的才會出現
如何判斷我的Process夠不夠用,在SM50按CPU,如果有使用時間很短代表是多餘的,時間是開機以來的使用時間

看Enqueue(SM12)
可以看那些table被誰lock

看Update(SM13)
當事務提交上來後,並不是等著他把資料更新後才繼續,而是直接提交給SAP,他就任為提交完畢,他可以繼續做下去,然後由Update去把資料更新到資料庫
在SM13裡頭可以看到那些更新了,那些錯誤,這些錯誤需要去找相關的業務人員,是由於什麼原因造成的,以及他的資料是否成功
Table space 不夠或Archive空間滿了會造成無法更新

看Gateway(SMGW)不懂這是在做什麼的

ST22(ABAP Dumps)
Time_OUT一般不用管他
馬上要處理的是DBIF開頭的,是資料庫的Interface,它出現的問題我們要馬上去處理,它可能跟資料庫相關

AL11(SAP-Directoris)
可以用來看作業系統的文件,最常看的就是DIR_TRANS裡頭的LOG

ST11(Error Log Files)
在這看到等同於D:\usr\sap\<SID>\DVEBMGS00\work
R/3如果起得來可以在這看,如果起不來只能到作業系統裡看
例:dev_w開頭是work process

ST01(System Trace)
這裡只能一個人做,這一打開所有用戶在系統上做得任何有關於授權檢查都會紀錄在這
假如我的PRD有問題,我要先把所有人鎖住,然後來操作這個

ST02(Tune Summary)
看R/3 Buffer大小,是否產生Swap,我們是不是要去增加

資料庫監測
DB02
space可以看資料庫的大小
space→History→Database Size History→Per month可以看每月增加的資料量
space→Largest Tables可以用篩選一大到小排序,若太大是否需要Archive?
ST04資料庫性能指標
DB13看備份
DB12看備份LOG

作業系統監測
ST06=OS06

ABAP Program for Checks and Cleanup
這些程式能幫我們做一些工作,有些已經是放在後台作業每天在執行
RSBTCDEL Delete backgroup logs
RSPO1041 Delete old spool resquests  後台作業
RSPO1043 Check consistency of spool DB
RSBDCREO Reorganize BI folders and logs
RSSNAPDL Delete ABAP short dumps  後台作業
RSSTAT60 Reorganize table MONI
RSORA811 Delete old brbackup/brarchive(not all database)
RSORASNP Reorganize logs SNAP and STAT$
RSCOLL00 Performance monitor collector run



2012年9月10日 星期一

SAP Users&Authorizations


Users in the R/3 Environment

R/3 User用SAP GUI登入的帳號
Apserver:OS User;Admin User
Dbserver:OS User;DB User
這些帳戶密碼作為Basis一定要掌握好,不要搞丟了,也不要設太簡單會被人猜中


PFCG建立一個Role
在ROLE裡頭加入 transaction code(Menu)
可以從SAP表準的menu中選取或按transaction直接加入transaction code
這裡做完這就是我們的用戶他的role需要那些transaction code

Authorizations
但這個Role到底有那些東西要到Authorizations裏頭修改(Change Authorization Data)
剛新建時Profile空白,Profile是通過ROLE自動生成
Profile是真正啟授權的作用,用戶有沒有權限不是role裏頭有,而是Profile裡有
按Change Authorization Data後要維護組織結構資料,*代表所有,維護完存檔,這些是顧問要告訴我們要去維護什麼
要變綠色profile才會生成,有些沒有維護可能會缺這個缺那個
Utilities→Technical names on
在Cross-application Authorization Objects→Transaction Code Check at Transaction Start→Transaction Code→t-code眼鏡,這裡頭都是剛剛加的tcode列表
可以在這裡把tcode刪掉,雖然在目錄裡看的到,他會檢查在這裡沒有她就不會有權限
這裡的設定是有Tcode的權限但Tcode到底有哪些權限要到SU24(授權對象)

Authorizations Concept1  授權對象第一部分
當我們在授權的時候,其實最主要的是要SAP的業務顧問給我們一個表,那些用戶有什麼權限可以去做什麼事
Profile→Transaction permitted?(先檢查有沒有事務碼權限)→Authorizations assigned?(授權對象到底能夠新增修改或看)
→objects needing protection?(vender.material.plant.company code)
當使用者在敲完TCODE要執行時,但不一定能用,他會去檢查在SU24這些權限是不是維護了,若沒有權限一樣不能用

Authorizations Concept2
user master record(用戶)→profile(可以有很多profile)→authorizations(授權對象)→file values
每個profile都有相應的授權對象
即便是有Profile沒有授權對象許可就做不了
每個profile可以可以賦予一個組合可以給一個人或多個人

authorizations object(授權對象) SU24
一個事務碼有很多授權對象,但是那些被繳活或再起作用必須是在Check/maintain狀態下他才會讓你去設置這些狀態
SU21會把所有在SAP的DDIC數據字典裏頭定義的授權對象全部列出,可以自己寫程式使用這裡的Object
當登入時你的授權對象就是PROFILE全部拿出來,在執行一個事務碼時這個事務碼就要跟PROFILE裡授權對象去對應,對應上了就可以用
當執行一個程式時,程式裡有加授權對象,如果沒有授權對象也就沒有權限
SAP的權限主要是以授權對象為基準來看,到底哪些可以用哪些不能用

Central User Administration
在一台系統裡維護的User(用戶)可以分發到其他系統上,所以只要維護一套User Master
(SALE)先定義Define Logical System(沒說明詳細再請教顧問)

Controlling User Logon控制用戶權限PROFILE參數
1.Set the minium password length login/min_password_lng 最小密碼長度 預設3 可以改3-8
2.Require change of password login/password_expiration_time 更改密碼時間 預設0 可設到999
3.Lock users after incorrent logons login/fails_to_user_lock 當登入失敗幾次鎖定用戶 預設12 可設1-99
4.Prevent automatic unlocking at midnight login/fails_to_session_end  預設1 可設0
5.Number of failed logon attempts permitted login/fails_to_session_end 預設3 可設1-99
6.Preventing multiple dialog user logons login/disable_multi_gui_login 預設0 可設1

System trace(ST01)
檢查授權對象,從這裡可以知道執行事務碼時,哪些授權對象被檢查,那些kernal or DB被訪問

2012年9月9日 星期日

netapp ndmpcopy


一般clone容量會雙倍,flex clone 只會多出MB容量

netapp clone DBname不一樣 owner會一樣

lum ndmpcopy /vol/SQLData/stal   /vol/test/stal

2012年9月5日 星期三

SAP Background processing


Dialog 主要是和前端使用者交互的操作
Background 是給你一個很長的時間,比如說你要大量去讀寫,或長期的作業,可以在某個時間或週期性去跑的一個設定

What's a Backgroud Job?

ABAP program

external command(外部命令)
SAP R/3調用sapxpg程式然後執行外部的程式或命令
D:\usr\sap\<SID>\SYS\exe\uc\NTAMD64\sapxpg
功能在於從外部擷取數據或導入數據

extrenal program(外部程式)

有ABC三類優先權設定,執行順序A→B→C,其中ABC中又有指定server跟不指定,指定Server的優先權較高
出發條件有兩種依
一.時間(每周.月.日.小時)也可以一次性
二.依事件就是都做完什麼事件後接著會觸發後台作業

Time based:
1.立刻執行
2.哪個時間點執行
3.一次性還是週期性(每天.月)

Event based:
1.After event
2.After job
3.Operation mode切換時去觸法一些後台作業


SM37後台作業管理(可以看是否在執行還是跑完,還是被取消掉,裡面有LOG會說明原因,有些後台作業執行完會產生Spool request我們可以去看裡面的內容)

Job status:
1.Scheduled:作業以定義好,但沒定義開始條件
2.Released:開始條件已有,等到某個時間點去執行
3.Reay:時間到要去執行,但如果Background process都滿了,就要等待
4.Active:現在正在做,(SM50)也可以看
5.Finished:做完了
6.Cancled:可能是出發條件或系統或資料庫出問題了,導致未完成,每天要去看那些後台作業被CANCLE
被Cancled的話很多時候是用戶名被鎖定,或著事資料庫有問題,用戶被刪掉或鎖定都會沒辦法執行


SM36定義後台作業


SAP System & Kernal


dialog 有設定參數300秒會time out會跳出
background 可以設晚上排程跑,需要一小時才能跑出的報表
spool 當使用者列印時,會先形成spool resquest放到spool prosess,處理完才會印出
update 專門處理資料庫更新,SM13可查UPDATE資料,V較緊急如銷售訂單號碼,V2不太重要的或跟時間不是特別相關的,指資料後面可以慢慢補齊,不會影響資料一致性,把更新的輕重緩急分開
當使用者打單時按儲存,如果UPDATE不成功過10秒鐘,在螢幕上會顯示你的單子什麼東西更新失敗,要你去找系統管理員
如果時常有這個問題去查SM13,代表你的DB有些問題
DB的那些問題那些        1.看OS的的空間夠不夠
2.來源的LUN滿了,在怎麼更新就卡在那不動
3.SAP_DB有一個表有一個INSTANT的值,VALUE值是300,如過沒有給夠的話他也會這樣
很多時候都是這些問題

Enqueue 當其中一個使用者要去,更新資料庫裡的值時,會先鎖住DB的column OR table,他會先鎖住只允許一人更新,第二人也修改的話SAP會告訴你無法修改被鎖定。(SM12)
當系統說被自己鎖定,或被其他人鎖定但他已退出,但有記錄在沒有被刪除,但是誰也無法更新時,這時第一要確定沒有人在線上,在SM12把紀錄刪掉
但如果不確定的話刪掉後會有問題,所以最好把系統重啟,把一些沒有Update的表做釋放
視問題的嚴重性,可將使用者全踢出,確認沒有人登入才可以去刪這個紀錄


Dialog work process
從SAP GUI把訊息提交給Dispatcher,Dispatcher接到請求時
他會先去找一個work process(就是Dialog)
檢察系統裡的dialog有沒有空閒(sm50),當所有的dialog都在running時使用者就需要等待

work process結構
每個process都有internal memory,大小可透過參數設定
screen processor 螢幕畫面
ABAP processor 透過ABAP跟screen processor or DB提出要求要做什麼

Roll in
Roll out
當前一個用戶,做完動作後會把請求和一些訊息Roll out到硬碟上或其他地方
以便下一次接著處理時Roll in把一些訊息帶出


DB interface 會尋找Buffer acesss
AP及DB都有Buffer,在SAP裏頭(ST02)可看硬碟Buffer,當有SWAP時代表給SAP容量分配不足產生加速,速度就慢
把Program容量調大,盡量把ABAP程式放到硬碟上,而不是去資料庫找


Work Process Multiplexing
使用者不一定使同一個work process,會不停的切換,所以才會有Roll in and Roll out這個機制(ST03)

Requesting a Lock From the Enqueue WP
Dialog在不同server上都是透過Message Server來做協調,在SAP系統裡頭只有一個Message Server跟Enqueue WP
所有的協調都要夠過Message Server來去跟Enqueue WP做協調


SM13對Basis管理是很重要的,在裏頭有些有使用者執行時麼事務在什麼時間,裡面會有Update的過程,有時候會有錯誤代碼,可以去查是資料庫的問題,還是APSERVER的問題,建議每天最少檢查兩次,早上跟下午各一次
只有檢查這個才能知道資料庫有沒有問題,SM13裏頭的問題大部分跟資料庫有關,資料是否跟資料庫一致性是透過SM13決定的

Updating Log Records
所有UPDATE的LOG都是在DB裡VB*的表,當Dialog server有一個CALL FUNCTION要Update先要找vb*另外會跟Message server溝通,然後去查vb*表到底有沒有,有才會update


Background Processing
SAP有一個參數,每600秒去檢查她後台作業是否到期,如果到期他就會去做,所以有的時候後台作業定義好不是馬上去做,可能又等個20秒30秒,若都沒做可能是後台作業滿了
System→own jobs可以查自己的後台作業,只能看自己不能看別人(SMX)
(SM37)不能給一般使用者,有這權限他可以看別人的還可以去刪別人的
等級分ABC三等級,順序A→B→C
在SM50如果有多個Background Process可設定說專門For哪個等級


R/3 Printer Services
列印之後會把列印的請求寫到DB的TemSe,這裡就保留列印的訊息和結構
Dialog WP→TemSe→Spool WP