かきスタンプ

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

Oracle:ロックセッションKILL(削除)

デッドロック発生時の対策。

ロックセッションサーチ

select
    SID
   ,SERIAL# 
from 
    V$SESSION
where SID in (
               select SID from V$LOCK where TYPE in ('TM','TX')
             )

SID、SERIAL# をメモし、以下のコマンドを実行。

ロックセッションKILL

※要管理者権限

alter system kill session 'sid, serial#'

(実行例)

alter system kill session '15, 22738'

AWS:Redmine での MySQL Workbench起動

AWS Marketplace(EC2)の Redmineは DBがMySQLで動いているんで、MySQL Workbenchを動かしてみた。

【手順】

  1. sshログイン
  2. sudo apt-get update
  3. sudo apt-get install ubuntu-desktop
  4. sudo apt-get install mysql-workbench
  5. sudo dpkg-reconfigure x11-common 実行後、「Anybody」を選択
  6. インスタンス再起動
  7. sshログイン(オプションに、 -Y -C を追加)
  8. mysql-workbench 

起動および動作は結構重い。こんな乱暴な使い方する事を前提にしてないだろうから、当然っちゃあ当然だけど。

Bash on Windows 10:sudo 実行時「名前解決できません」の対処

Windows 10のbashにて、sudoを実行すると「(コンピュータ名)の名前解決ができません」というメッセージと共にパスワード入力を要求されるようになった。
あれ?今まで要求されてたっけ?と思いつつ、正しいパスワードを入力してもエラー。

調べると、
/etc/hosts を編集する事で解決できるとの事だが、編集にはsudoが必要。

えええ!ここでもsudo要求されたら解決できねーじゃん!
という現象が起こったんで、以下の方法で強引に解決してみた。

  1. Windows側にて、%userprofile%\AppData\Local\lxss\rootfs\etc\hosts を開く
  2. localhostという記述の後ろに、「,127.0.1.1 (コンピュータ名)」を追加

(注意点)
hostsファイル編集後はUTF-8で保存。SJISで保存なんかしちゃうと、エラーが起こってbashが起動しなくなる。使うのはメモ帳でいいです。
WindowsLinuxでは改行コードが異なるので、変に改行を入れない方がいい

ちなみに、%userprofile% は、コマンドプロンプトにて「cd %userprofile%」でも移動できるし、エクスプローラにて入力してもOKです。


何にせよ、rootパスワードがわからないままだと具合が悪いので、再インストールする事にした。以下、コマンドプロンプトにて実行。

 

アンインストール

lxrun /uninstall

インストール

lxrun /install

 

再インストール後も「(コンピュータ名)の名前解決ができません」というメッセージは出るものの、パスワードは要求されず。むぅ。何が原因で上記のようになったんだろう。

PowerShell:基本操作メモ

以下、version 5.0 で実行しています。

Windows 7 のプレインストールのバージョン(2.0)では curl(正確には Invoke-WebRequest)が使えないので、古いバージョンを使っている場合はアップデートした方がいいかと思います。

 

バージョン情報表示

$PSVersionTable

 

使用可能なコマンド一覧を表示

gcm

(「Get-Command」でも可)

 

コマンドレットのみを表示

gcm -com cmd

(「Get-Command -CommandType Cmdlet」でも可)

 

アプリケーション一覧を参照

gcm -com app

(「Get-Command -CommandType Application」でも可)

 

参照結果から特定のフィールドを抽出

gcm | select commandtype, name

(「Get-Command | Select-Object CommandType,Name」でも可)

SQLを叩くようなノリですね。

 

参照結果から検索

gcm -com cmd | select-string get

上記例では「get」という文字列を検索しています。大文字・小文字は区別されないみたいです。(オプション次第ではできそう)

 

マニュアル参照

gcm | help

(「Get-Command | Get-Help」でも可)

テキストファイルに落としたいときは「gcm | help > gcm_help.txt」とでも。

 

画面クリア

cls

(「Clear-Host」でも可)

コンソール画面で範囲指定選択した内容は、右クリックでクリップボードにコピーできます。その後、右クリックにてペースト可能です。

nginx:インストールと基本操作メモ

【 環境:Ubuntu 14.04 】

apt-getにて、新しいバージョンがインストールされるように設定

sudo apt-get update

nginxインストール

sudo apt-get install nginx

インストールしたパッケージは
/var/cache/apt/archives
に保存されている。

ブラウザからの動作確認

以下のURLを叩く。

127.0.0.1

「Welcome to nginx!」と出たらOK。
ブラウザ操作が面倒くさい、もしくはCUIで試したいならcurl 等で確認。

curl 127.0.0.1

設定ファイル一覧の表示

nginx -V

全ての内容が1に集約されて見づらいんで、テキストファイルに落として整形

sed -e 's/ --/ \n--/g' hoge.txt

(以下、表示結果例。「(スペース)--」を「(改行)--」と変換しています。)

本当は、「nginx -V | sed -e 's/ --/ \n--/g'」と書きたかったが、この方法だとうまく行かず。

webコンテンツのルートディレクト

/usr/share/nginx/html

以下のファイルにて、ルートディレクトリ変更可

/etc/nginx/sites-available/default 

その他、個別の設定は以下のディレクトリに記述する。(ファイルを新規作成する)

/etc/nginx/conf.d/

 

開始

sudo service nginx start

再起動

sudo nginx -s reload

停止

sudo nginx -s stop

 

アンインストール

sudo nginx -s stop
sudo apt-get --purge remove nginx
sudo apt-get --purge autoremove nginx

2番目の操作で警告が出なかったら、3番目は不要かも。

/etc や /var/lib の nginxフォルダも同時に消えてくれます。

AWS:bitnami RedmineのphpMyAdminアクセス方法

AWS Marketplaceの Redmineにて、phpMyAdminにアクセスする方法。

通常のRedmineのURLの末尾に「/phpmyadmin/」を付けてブラウザを叩くと、phpMyAdminが起動します。

しかし、デフォルトだと「For security reasons, this URL is only accessible using localhost (127.0.0.1) as the hostname.」とエラーメッセージが表示されるので、設定を変更する必要があります。

手順

  1. sshログイン
  2. /opt/bitnami/apps/phpmyadmin/conf/httpd-app.conf の以下の項目を編集
     ・Allow from 127.0.0.1 → Allow from all
     ・Require local → Require all granted
  3. apacheを再起動
     コマンド:sudo /opt/bitnami/ctlscript.sh restart apache

で、phpMyAdminを表示可能です。