跳到主要內容

發表文章

EBS。無法取消Request,error:Could not lock request

今天的RPM Remote Print Manager突然卡住,把Windows重開後恢復正常,但是EBS上的Request卻發生問題。

手動取消Request時出現下圖的錯誤:Could not lock request


無法取消就只能執行SQL來取消Request,因為該Request的Session已經完成,於是執行下列的SQL來修改狀態:
update  fnd_concurrent_requests set phase_code='C',status_code='X' where request_id in (186153,186133);

等了三分多鐘還沒有完成,只updtae兩筆資料不應該會等這麼久,於是再開另一個Toad並執行下列檢查Lock的SQL:
select distinct vs.sid,vs.serial#,            vs.username,vs.status,vs.osuser,vs.process,vs.machine,vs.terminal,vs.program,vs.sql_address,
vs.module, vs.logon_time,vs.blocking_session,vl.block as "Lock BLOCK",vq.sql_text
    from v$session vs,v$lock vl ,v$sql vq
    where vl.sid=vs.sid
   and vq.sql_id=vs.sql_id
    and vs.blocking_session in (select sid from v$lock where block>0)   
union
select distinct vs.sid,vs.serial#,vs.username,vs.status,vs.osuser,
vs.process,vs.machine,vs.terminal,vs.program,vs.sql_address,vs.module,
            vs.logon_time,vs.blocking_session,
           vl.block as "Lock BLOCK",
      …

設定Github Webhook來自動更新Openshift v3 程式

今天測試紅帽(Red Hat)新一代PaaS公共雲平臺OpenShift V3, 設定完Node.js的服務後,又在GitHub Fork出Node.js的測試程式碼,接著依照文件上設定Webhook來讓GitHub可以自動更新我在OpenShift上的程式碼。

在嘗試一些錯誤之後,現在記錄一下自己成功的步驟:

在Openshift上我的專案中選擇Builds,再點選「Configuration」,按下「GitHub Webhook URL」旁的ICON圖示來複製URL或直接複製URL。



接著到GitHub的repository上選擇「Settings」



進入Setting之後,在左邊選擇「Webhooks」,在「Payload URL」處把上述複製的URL貼上,並且在「Content type」處選擇「application/json」


儲存後,可以回到Setting頁,再點一下「Webhooks」,可以發現已經新建了一個Webhook,如下圖,有綠色的勾勾表示成功,之後只要在GitHub有更新程式時,就會自動更新到Openshift。



EMC DataDomain 160 將執行的結果Mail到指定的信箱

在Web的管理介面上無法Mail出一些客製的結果,可利用下列的方式:

語法:autosupport send [<email-addr>] [cmd "<cmd>"]

例如我想將replication的狀態mail到我的信箱test@test.com,可以輸入:
autosupport send test@test.com cmd "replication status"

DataDomain的CLI並不像一般的作業系統,只能限制使用特定的指定,可輸入help來查詢指令

EMC DataDomain 160 設定ssh-key並使用Putty來自動執行指令

因為需要以putty來自動登入EMC DataDomain並將取得Replication的狀態寄到mail。

DataDomain的Web管理介面上是無法設定ssh-key也無法客製排程,而DataDomain的指令也無法客製排程。

所以我個人的想法是以Putty自動登入DataDomain後,自動執行指令來完成每日的排程工作。

Putty可用下列的指令來自動登入DataDomain,當然DataDomain上的SSH Service要先開啟並設定好連線權限。
D:\> putty.exe -ssh 192.168.1.126 -l sysadmin -pw password
參數說明:
-ssh:指定使用SSH協定來連線
-l 登入的帳號
-pw 登入的密碼

首先要先產生Public Key與Private Key,我是以puttygen這個程式產生的。


以CLI登入到DataDomain,輸入指令:
語法:adminaccess add ssh-keys [user <username>]
例如卻將key值增加到帳號sysadmin:
sysadmin@dd160-1# adminaccess add ssh-keys user sysadmin
接著將Public Key的值輸入並按下Ctrl+D就可以將key值寫入;Ctrl+C可取消作業。


查詢user的ssh-key值與lineno,可用下列語法:
adminaccess show ssh-keys [user <username>]
例如查詢帳號sysadmin的key值:
sysadmin@dd160-1# adminaccess show ssh-keys user sysadmin
(下圖中最前面的「1」是linno)


欲刪除ssh-key可用下列的語法:
adminaccess del ssh-keys <lineno> [user <username>]
例如刪除帳號sysadmin的第一組key值(lineno=1):
sysadmin@dd160-1# adminaccess del ssh-keys 1 user sysadmin

儲存puttygen產生的Private Key檔案,開啟putty,在下圖中的位置選擇Private…

Win 10 工作排程無法執行bat批次檔

利用Win 10的工作排程器來設定每日自動執行的批次檔,單獨執行批次檔沒問題,但是放在排程上就是無法執行。

後來試了幾種網路上提供的方式,其注意的事項如下:

1、在「安全性選項」選擇「只有使用者登入時才執行」並取消「以最高權限執行」。


2、在「設定」中選擇「Windows 10」


3、批次檔內的執行檔需以完整的路徑執行,或設定PATH路徑。


3、批次檔中如果帶有中文的路徑,則文字編碼類型必需是ANSI碼,
      我的批次檔一開始就是UTF-8碼,但是單獨執行沒有問題,排程上就是有問題,
      最後在批次檔中加入暫停指令pause才發現的。


4、如果想選擇「不論使用者登入與否均執行」,則在「設定」必須選擇「Windows Server 2003、Windows XP或Windows 2000」,
   但是上述的選項只有在新增工作程程時才會出現,原有的工作排程是不會有此選項



Solaris Shell Script將文字轉為數字

因為需要將文字轉為數字,以便相加,可用下列兩種方式:

1、expr
root@TEST# export a=03
root@TEST# export b=2
root@TEST# expr $a + $b
5
root@TEST# export a=030
root@TEST# expr $a + $b
32

2、echo $(( ? ))
root@TEST# export a=03
root@TEST# export b=2
root@TEST# echo $(( $a + $b ))
5
使用此方式時需要注意 010 並不等於數字 10,如下:
root@TEST# export a=030
root@TEST# echo $(( $a + $b ))
26

關閉Win10的SMBv1

Win7的電腦中毒了,只好把它重灌,這次安裝Win10,雖然說安裝Win10並完成更新後應該就不會再被病毒入侵。

不過我還是依微軟提供的步驟把SMBv1關掉,步驟如下:

以系統管理員開啟Powershell並輸入下列檢查SMBv1


PS C:\Windows\system32> Get-WindowsOptionalFeature –nline –FatureName SMB1Protocol

FeatureName      : SMB1Protocol
DisplayName      : SMB 1.0/CIFS 檔案共用支援
Description      : SMB 1.0/CIFS 檔案共用通訊協定與「電腦瀏覽器」通訊協定的支援。
RestartRequired  : Possible
State            : Enabled
...

SMBv1的狀態是Enabled,接著關閉它:

PS C:\Windows\system32> Disable-WindowsOptionalFeature -Online -FeatureName SMB1Protocol

再檢查一次,這次的狀態是Disabled

PS C:\Windows\system32> Get-WindowsOptionalFeature –nline –FatureName SMB1Protocol

FeatureName      : SMB1Protocol
DisplayName      : SMB 1.0/CIFS 檔案共用支援
Description      : SMB 1.0/CIFS 檔案共用通訊協定與「電腦瀏覽器」通訊協定的支援。
RestartRequired  : Possible
State            : Disabled
...