2005/06/12

FROM句の記述順序

RDBMSアーキテクチャの深層(5)
↑によれば、「製品によらず最適なパフォーマンスを出すためには、FROM句ではレコードが多いテーブル順に記述する習慣をつけましょう。」との事。

そうかあ。知らなかったなあ。
普段、実行計画を見ながらアレコレやっているけど、それは気が付かなかったなあ。コストベースなら関係ないんだろうけど。これからは注意しよう。

| | コメント (0) | トラックバック (0)

2005/06/09

ORACLE 10gクライアントとBDE

1.Windows2000PRO SP4 をクリーンインストール
2.ORACLE 10gクライアント(10g_win32_client.zip)をインストール
3.TNSNAMES.ORAを編集
4.10gサーバ、8.1.6サーバともTNSPINGが通る事を確認
5.SQLPLUSで10gサーバに接続できる事を確認(ユーザはSCOTT/TIGER)
6.SQLPLUSで8.1.6サーバに「接続できない」事を確認(ORA-12514)
7.DELPHI5をインストール
8.BDE AdministratorにてSQLORA8.DLL(5.1.0.4)を選択(OCI.DLLは10.1.0.2)
9.以下のプログラムを作成

procedure TForm1.Button1Clik;
begin
  Database1.Close;
  Database1.Params.Clear;
  Database1.Params.Add('server name=' + TNSNANE);
  Database1.Params.Add('user name=scott');
  Database1.Params.Add('password=tiger');
  Database1.Open;

  Query1.Close;
  Query1.SQL.TEXT := 'select * from emp';
  Query1.Open;
end

10.このプログラムで10gサーバに接続し、emp表が表示されることを確認
11.このプログラムで8.1.6サーバに接続できないことを確認

| | コメント (0) | トラックバック (0)

2005/02/15

MIRACLE LINUX3 その2

調子に乗ってKylix3 Open Edition をインストールしてみた。

インストールが無事に終わり、startdelphiでIDEを起動する。次に、フォームにButtonをポトペタしOnClickにShowMessage('hellow world');と書きコンパイル。ここまで何ら問題ない。

でも、F9で実行するとKylixが固まる。デバッガの設定で統合開発環境を使わないようにすれば動くし、できたバイナリを単独で実行すればきちんと動く。つまりデバッグがきない。なんで?

| | コメント (0) | トラックバック (0)

2005/02/14

MIRACLE LINUX3

MIRACLE LINUX3を入れてみた。MIRACLE LINUX3 = Asianux1.0 となるようだが、インストール画面からしてちょっとかっこいい。Oracle 10gのインストールも手順通り進めていったら何ら問題なく終わった。前バージョンに比べるとめちゃくちゃ簡単。いいかも。

| | コメント (0) | トラックバック (0)

2004/10/26

Oracle 10g その4

10gクライアントから8iサーバに接続しようと試すが玉砕される。↓の対応表によればR8.1.7.4以降でないとダメらしい。うちは8.1.6なんだよね。
http://www.oracle.co.jp/products/system/10g/dbos/top.html

2005/03/31 加筆
上記URLは無くなっている。現時点では↓だと思う。
Oracle Database 10g クライアント製品のデータベース対応一覧

| | コメント (0) | トラックバック (1)

2004/06/20

Oracle 10g その3

クライアントからつながらない件は、結局、listener.oraを修正したらなおった。(赤字のところ)
まず、HOST = localhost.localdomainとなっていたのでIPに変更してみたら、クライアントからtnspingが通った。それでもまだsql*plusで接続できなかったが、SID_LIST_LISTENER にorclを追加してみたらつながった。

LISTENER =
  (DESCRIPTION_LIST =
    (DESCRIPTION =
      (ADDRESS_LIST =
        (ADDRESS = (PROTOCOL = IPC)(KEY = EXTPROC))
      )
      (ADDRESS_LIST =
        (ADDRESS = (PROTOCOL = TCP)(HOST = 192.168.0.1(PORT = 1521))
      )
    )
  )
SID_LIST_LISTENER =
  (SID_LIST =
    (SID_DESC =
      (SID_NAME = PLSExtProc)
      (ORACLE_HOME = /opt/app/oracle/product/10.1.0/db_1)
      (PROGRAM = extproc)
    )
    (SID_DESC =
      (SID_NAME = orcl)
      (ORACLE_HOME = /opt/app/oracle/product/10.1.0/db_1)
    )
  )

| | コメント (0) | トラックバック (0)

2004/06/18

Oracle 10g その2

litener.oraを直接編集するのもよいが折角なのでNetwork Configuration Assistantなるものを使ってみた。が、これが元で、クライアントからの接続ができずに悩む事に。

netcaコマンドで起動し、ほとんどデフォルトのままLISTENERを追加。そしてlsnrctlで起動した後、クライアントからtnspingを試すが通らない。そういえば、Miracleのインストール時にファイアーウォールを中くらいに設定したような気がした。この時点での直感は「うわぁiptablesなんて使ったことないよぉ」だったのだが、調べてみるとipchainsを使っていたのでまずは一安心。

ipchainsのstatusを見てみると、やはり1521ポートの記述がない。そこで1521へのinputと1521からのoutputを開けてみるが、やはりtnspingが通らない。もう一度statusをよーく見るとinput,forward,outputともデフォルトがACCEPTになっている。この時点では「うーむ原因は違うのか」となるが、とりあえず全てオッケーにしてみる。が、それでも変わらず。

# ipchains -F
# ipchains -P input ACCEPT
# ipchains -P forward ACCEPT
# ipchains -P output ACCEPT
# /etc/init.d/ipchains save
# /etc/init.d/ipchains restart

続く。

| | コメント (0) | トラックバック (0)

2004/06/15

Oracle 10g

ようやくOUIが起動しOracle 10gのインストールまでたどりつく。が、ここでも問題が。ふぅ。

インストールの途中、データベース作成の大体40%くらいまでプログレスバーが進んだところで、「end-of-communication channel」のエラーが出てしまった。インストール自体は終了したので、その後、dbcaを起動しデータベースの作成を試みるもやはり同じエラーが出る。再起動してみても同じ。

dbcaでcreate databaseのスクリプトを作っておいてそいつを流そうとするがsvrmgrが無い。svrmgrの代わりってsqlplusなのかと思い起動してみたがinternalでの接続ができない。こういう場合どうやってスクリプト流すの?だれか教えて。(いま気付いたが、もしかしてsqlplus / as sysdba で良かったのか?)

結局、dbcaでオプションを指定する際、「Enterprise Managerを使用してデータベース構成」のチェックを外したらあっさり出来た。なんで?

| | コメント (0) | トラックバック (0)

2004/06/14

Miracle Linux 2.1 その3

Oracle 10gをインストールしたいのだがoranaviが動作しない。道のりは遠く険しい。サルがインストールできるはずがない。いやまて、自分がサル以下なのか?

実行した手順をメモしておく。

  1. まずoranaviを更新する。
    http://www.miraclelinux.co.jp/support/update/data/oranavi.html
     
  2. MIRACLE LINUX Oracle9i Release 2 対応キットをインストールする。
    http://www.miraclelinux.co.jp/support/update/data/mlkit-se21R2.html
     
  3. openmotifをインストールする。
    これは上記2のキットに含まれている(openmotif-2.1.30-11)
     
  4. 最新のカーネルに更新する。
    http://www.miraclelinux.co.jp/faq/data/00024.html
     
ここまでやってようやくOracle 10gのOUIが起動した。そうしないとoranaviは起動するものの、OUIが起動せず何もなかったかのように終ってしまう。絶対にサルにはできないはずだ。

2,3,4は↓を参考にした。
http://www.miraclelinux.co.jp/faq/data/00065.html

| | コメント (0) | トラックバック (0)