2009年10月13日火曜日

Oracle:Oracle9iとOracle10g expの共存について(メモ)

1.前提条件

・このメモに記載した情報はWindows上で確認したものである。
・Oracle9iがインストールされているサーバに、Oracle10gを追加でインストールする。
・Oracle9iとOracle10gのインストールディレクトリは違うものとする。

2.共存の方法

Oracle10gをインストールし再起動後、imp、exp、sqlplusなどを実行すると、バージョン10のものが起動し、9iのDBに接続したいが、エラーとなる現象が発生する。
これは環境変数pathにインストール時に追加した、10gのパスが優先となるためである。
これを回避する方法としては、DBへ接続するときに使用する環境変数をスイッチする方法をとる。

(1)10gインストール時、使用するTCPポート番号を、9iと違うものにする

(2)環境変数の設定を追加
 以下のような環境変数を追加する。
 ※値は例である。

 変数名:ora10gbin
 値:C:\oracle\app\product\bin
 
 変数名:ora9bin
 値:d:\oracle\9.2.0\product\bin

(3)10gのDBにSQLPLUSで接続したいときのコマンド
  %ora10gbin%\sqlplus username/password

(4)9iのDBにSQLPLUSで接続したいときのコマンド
  %ora9ibin%\sqlplus username/password

imp、expコマンドのときも同様。

2009年9月10日木曜日

歩いてかえる。その1。

新橋から自宅まで歩いて帰るとしたら、どれぐらいの距離で、移動時間はどれぐらいなんだろうかと疑問に思ったので、mapionのキョリ測で確かめてみた。
帰宅ルートのウェイポイントを大雑把に説明すると、以下のようになる。

西新橋→東京タワーのあたり→目黒駅→丸子橋→菊名駅→自宅

移動距離は26km。
歩行速度を3.2km/hとしたとき、8時間程度で帰宅となる。
これは単純に止まらずに歩き続けたときの時間なので、3km毎に15分間の休憩を入れたとすると、10時間程度掛かることが判った。
※目黒でなく、五反田駅を経由した場合は若干近くなり、25kmだった。
撮影機材を担いで10km歩いたときでも辛いな~と思っていたのに倍以上かよ。
帰宅が困難なことは、わかっちゃいたけど...

2009年6月17日水曜日

Linux:LIVE CDをUSB起動としたい。

0.一応、以下のディストリビューションでの起動を確認している。

  KNOPPIX
  ubuntu

1.メリット・デメリット

(1)メリット
   ・起動時間がCD/DVDと比較して、早い。
   ・難易度が高くない。

(2)デメリット
   LIVE CDを単純にUSB化しているだけなのでUSBメモリなのにROでマウントしてしまうので、
   Linux上で編集した結果をUSBメモリ内に残せない。

   ※但し、解決可能な問題。


2.用意するもの

  ・USBメモリ(OS分として800MB程度の空き容量が有ればよいだろう)

  ・LIVE CDのISOイメージ(LIVE CDそのものでもよい)

  ・DaemonTools
   http://www.vector.co.jp/soft/winnt/util/se460083.html

   CDそのものがあれば要りません。

  ・syslinux
   http://syslinux.zytor.com/wiki/index.php/The_Syslinux_Project

  ・USBメモリで起動可能なPC
   古いPCはUSBのFDドライブしか対応していない場合がある。
   その場合はここに書かれている方法は諦めて欲しい。
   


3.作り方

  (1)USBメモリをFAT32でフォーマット
     説明は割愛する。


  (2)ISOイメージのマウント
     CDを用意した人はCDをドライブに入れて、(2)は読み飛ばしてください。

     DeemonToolsをインストールし、ISOイメージをマウントする。


  (3)syslinuxの解凍
     デスクトップなど、適当な場所にZIPファイルを解凍する。


  (4)必要なファイルのコピー
     CDもしくはマウントイメージのトップにあるファイルのうち、
     ディレクトリに格納されたファイルをディレクトリごとUSBメモリにコピーする。


  (5)USBをブート可能にする
     a.コマンドプロンプトから以下のようなコマンドを実行する。
       引数末尾のe:はUSBメモリのドライブレターを示している。
       適当な値に変更すること。
  
       \syslinux\win32\syslinux.exe -ma e:

     b.(4)にてコピーしたファイルのうち、以下のファイルをリネーム
     
       isolinuxディレクトリ -> syslinux

       isolinux.cfg -> syslinux.cfg

     c.syslinux.cfgの編集

       syslinux.cfgをnotepadで開き、isolinux.cfgと記述されている部分をsyslinux.cfg
       と置換する。


  (6)USBをPCに挿して電源ON
     電源ON直後に、BootデバイスについてUSBを選択する。
     (ThinkPad X40ではそうだった)
     少し待つと、boot: というプロンプトが出るのでまずはenterキーを押して欲しい。
     たぶん、GNOME、KDEなり、ログインプロンプトなり、RUNレベルに応じた、なにかが表示
     されるはず。

2009年6月12日金曜日

Windows:インストール済みのパッチを確認する方法

Windows2000、XP、Windows2003については、以下の方法で確認できる。
VISTAはよくわかりません。(なんとなくは見えたけど...)

■レジストリから確認する

(1)レジストリエディタを起動し、以下のキーをたどって確認する。

    \HKLM\Software\Microsoft\update\ソフトウェア名\SPナンバ\

階層下に、

KBxxxxxx というキーが並んでいるはず(パッチをインストールしていればね)


■MBSA2.0で確認する。

 MBSAをインストールし、対象マシンをスキャンした後、評価結果を確認すると
 パッチの適用/未適用状況が表示される。
 ※方法については、別に記事を起こす。

2009年6月11日木曜日

Oracle:キャラクタセットの確認方法

■SQLPLUSで確認する場合

SQL> desc nls_database_parameters

----------------------------------------- -------- ----------------------------
PARAMETER NOT NULL VARCHAR2(30)
VALUE VARCHAR2(80)

SQL> select VALUE from nls_database_parameters where PARAMETER='NLS_CHARACTERSET';

VALUE
--------------------------------------------------------------------------------
JA16SJISTILDE


■インスタンスを作成したときのスクリプトから

CreateDB.sqlを開き、"CHARACTER SET"を検索

CHARACTER SET JA16SJISTILDE

2009年6月1日月曜日

ESPカードー[円]



ESPカード。
極めれば。生卵かゆで卵か温泉卵かどうかを明確に認識できるかもしれない。
ただ、俺はそのいづれでも構わないので明確な認識に至らなくても困らない。

2009年5月27日水曜日

Oracle:sqplusでCSV出力したい。

テーブル名:カタログ

項目:物品コード,型式,品名,単価

のような表をCSV出力したい場合


1.まず、下記のような環境変数を設定。

SET LINESIZE 10000

→行のバイト数。決まりは無いが1行となるサイズを指定。

SET PAGESIZE 0

→ページの行数。

|
|カラム名
|------------
|値

|で示した単位で1ページになるので、0を指定した場合は「値」だけ出力される。

SET TRIMSPOOL ON

→ファイルへの行末のスペースをなくす。

SET FEEDBACK OFF

→件数などの結果を出さなくする。(xx row selectedとか)

SET TERMOUT OFF

→画面バッファに結果を送らない。

SPOOL test.csv

→抽出結果をtest.csvに吐く。

2.select文
select 物品コード||','||型式||','||品名||','||単価 from カタログ;

||でカラムとシングルクォーテーションでくくったコロンを連結する。

カラム間のコロンを入れる方法としては

set colsep ,

もあるが、ここではselect文の中に書くこととする。

3.スプールの終了とexit

SPOOL OFF
EXIT


4.まとめるとこう。

SET LINESIZE 10000
SET PAGESIZE 0
SET TRIMSPOOL ON
SET FEEDBACK OFF
SET TERMOUT OFF
SPOOL test.csv

select 物品コード||','||型式||','||品名||','||単価 from カタログ;

SPOOL OFF
EXIT

フォロワー