かきスタンプ

福岡でフリーランスの物流系のエンジニアやってます。

Windows:ネットワークに繋がっているけど、外部からpingが通らない

以下の手順で、外からpingが通るようになります。

コントロールパネル→Windowsファイアウォール→詳細設定→受信の規制
「ファイルとプリンターの共有(エコー要求・ICMPv4 受信)」にて、右クリックし、「規制の有効化」を選択。

f:id:kakisoft:20180124234726p:plain

ICMP(Internet Control Message Protocol)は、pingで使用される、ネットワーク の通信状態を確認する時に使用するプロトコルです。

Hyper-V:ゲスト端末をフルスクリーンで表示

<環境>
ホスト:Windows 10 pro
ゲスト:Windows 7 pro
 
Hyper-VでゲストOSをフルスクリーンで表示する事は、正攻法では無いっぽい。
解像度を変えると出来るけど、それだと柔軟性に欠ける。

代替策として、ゲストOSに「リモートデスクトップ接続」を使用すると、お手軽に解決できます。

<ゲスト側の設定>

  1. 「ファイル名を指定して実行」にて、『sysdm.cpl』と入力。(システムのプロパティを起動)
  2. 「リモート」タブにて、『リモート接続を許可する』を選択。

後は、ホスト側にて「リモートデスクトップ接続」を使い、ゲストOSに接続。
この場合、IPでなく、ホスト名を指定して接続した方がいいかと思います。

PHP:マルチバイト関数(mb_xx)実行時に「Uncaught Error: Call to undefined function」が発生した時の対処

「mb_」で始まるマルチバイト関数(mb_strlenなど)を実行した時に、以下のエラーが出た時の対処。

Uncaught Error: Call to undefined function ...

 
php.iniファイルに、以下の設定を追加する。

extension=php_mbstring.dll

編集後、webサーバを再起動。
 
php.ini の場所は、以下のコマンドで検索できる。

php -i | grep php.ini

 
Windowsコマンドプロンプトでは grepが使えないので、cmderなどのサードパーティ製ターミナルを使用しています。

DENSOハンディターミナル:スキャンディスクの結果、不正なファイルを発見した時の対処

DENSOハンディ―ターミナルのBHシリーズを起動時に、以下のメッセージが出た時の対処。

スキャンディスクの結果、不正なファイルを発見しました.
詳細は、"$$BRKLST.SYS"を参照してください

何らかの原因でファイルが破損した時に、時々発生する。  
 

<操作>
  1. 電源を落とす。
  2. [SF] + [1] を押しながら電源を入れ、システムメニューを起動
  3. システムメニュー起動後、[SF] + [0] を押し、DELETE FILEメニューを起動
  4. ファイル名の先頭に、「+」の記号が付いたファイルを削除。
  5. 再起動

破損したファイルが、システムの稼働に必要なコンフィグファイルだった場合、再度入れ直す。

Oracle:主キーの内容を変更

プライマリキーを編集するコマンドは無いみたいなんで、いったん削除した後に、もう1回作成する。

alter table <テーブル名> drop constraint <主キー制約名>; 
alter table <テーブル名> add constraint <主キー制約名> primary key <列名>; 

再作成時にエラーが発生した場合、以下のコマンドを先に実行する。

drop index <主キー制約名>

キーに複数カラムを指定する場合、(COLUMN1, COLUMN2) といった記述となる。

DENSOハンディターミナル:ハンディからハンディへのコピー

DENSO製のハンディターミナルにて、ソースや設定ファイルを別の機器に丸コピーする時の手順です。

1.システムメニュー起動

[SF] + [1] を押しながら電源をONにすると、システムメニューが起動します。 

2.双方の通信設定を合わせる

システムメニューより、「4:SET SYSTEM」→「5:COMMUNICATION」→「1:OPTICAL」→「1:PARAMETER」の設定を、通信させる機器同士で一致させる。
加えて、「4:SET SYSTEM」→「5:COMMUNICATION」→「1:OPTICAL」→「2:PROTOCOL」の設定も一致させる。
※合わせる値は何でもいいのですが、工場出荷時の状態がオススメです。

3.通信プロトコルを選択する

システムメニューより、「4:SET SYSTEM」→「5:COMMUNICATION」→「4:PROTOCOL TYPE」→「1:Ymodem」を選択。

4.プログラムをコピーする

<コピー元>
システムメニューより、「3:UPLOAD」→「3:HT<-->HT COPY」を選択

<コピー先>  
システムメニューより、「2:DOWNLOAD」→「2:HT<-->HT COPY」を選択

双方の準備が出来たら、赤外線の通信口を合わせる。
近すぎると上手く通信出来ない事が多いです。
※結構大きい通信音が鳴ります。注意して下さい。

その他注意点

  • PROTOCOL TYPEが「BHT-Ir Protocol」だと、バイナリファイル(PD4)がコピーされません。
  • ハンディからハンディへコピーする時、通信プロトコルと伝送速度が表示されます。うまく行かない場合、設定を見直してみて下さい。

Oracle:【ORA-00060】デッドロックの発生原因を調査

(エラーメッセージ)
ORA-00060: リソース待機の間にデッドロックが検出されました。

デッドロックの解除は、こんな感じで。

詳しく調べたい場合(デッドロックが発生しやすいSQLはどれか等)は、トレースファイルを確認する。

トレースファイルの保存先は、sql plusにて以下を実行する事で調べる事が出来る。

show parameter user_dump_dest;

ファイル名は、<SID>_ora_<process_id>.trc となっている。