第8章

Sybase Adaptive Server Enterpriseデータベースの設定

この章では、Novell exteNd Application ServerでのSybase Adaptive Server Enterpriseデータベースの使用方法について説明します。この章には、SilverMasterデータベースあるいは展開データベースとしてAdaptive Server Enterpriseを使用する場合の情報も含まれています。この章の節は次のとおりです。

注記:   Sybase Adaptive Server Enterpriseは、以前はSybase SQL Serverとして知られていました。

For more information    サポートされているデータベースバージョンの最新情報については、Novell exteNd Application Serverのリリースノートを参照してください。

 
Top of page

Sybase Adaptive Server Enterpriseデータベースのセットアップ

この節では、Sybase Adaptive Server Enterpriseを使用してSilverMasterデータベース(および展開データベース)を作成する方法について説明します。

最初に、Novell exteNd Application Serverが存在するコンピュータに「Sybaseクライアントをインストールします。次の手順を実行します。

  1. Sybase jConnecクラスとストアドプロシージャをインストールします。

  2. Sybaseサーバを設定します。

  3. データベースデバイスとSybaseデータベースとして実際のSilverMasterデータベースを作成します。

  4. アプリケーションサーバで使用するデータベースログインを作成します。

  5. アプリケーションサーバでデータベースを使用します。

 
Top of section

手順1: Sybase jConnectをインストールする

アプリケーションサーバをインストールするシステムにjConnectドライバをインストールし、設定する必要があります。アプリケーションサーバをインストールする前に、このドライバを設定する必要があります。

注記:   jConnect 5.xを使用することをお勧めします。

Procedure Sybase jConnectをインストールする

  1. jConnectドライバ をインストールします。

    For more information    Sybase jConnectの詳細については、www.sybase.comを参照してください。

  2. アプリケーションサーバマシンのAGCLASSPATH変数に、jConnectドライバの場所が指定されていることを確認します。Windowsの場合、AGCLASSPATHはシステム環境変数です。UNIXの場合は、agprofileファイルの中にあります。NetWareの場合は、setenvコマンドを使用してAGCLASSPATHを設定する必要があります(setenv AGCLASSPATH=path1;path2;path3;...)。

    jConnect 4を使用している場合

      AGCLASSPATH=installDir\jConnect-version\classes 
    

    jConnect 5を使用している場合

      AGCLASSPATH=installDir\jConnect-version\classes\jconn2.jar 
    

    For more information    AGCLASSPATH経由のJDBCドライバファイルのリストの詳細については、『管理者用ガイド』のデータソース設定に関する章を参照してください。

    注記:   アプリケーションサーバで排他的にドライバを使用している場合は、Sybaseインストールの注意点で述べたCLASSPATHまたはJDBC_HOME変数を設定する必要はありません。

  3. jConnect「ストアドプロシージャ」をSybaseサーバにインストールします。

    For more information    詳細については、Sybaseの『jConnect for JDBC Installation Guide』またはwww.sybase.comを参照してください。

 
Top of section

手順2: Sybaseサーバを設定する

アプリケーションサーバをサポートするために、Sybaseサーバを設定する必要があります。この設定変更には、Sybase TEMPDBデータベースを適切なサイズに変更し、jConnectストアドプロシージャをサポートするためSybaseプロシージャのキャッシュの容量を適切な大きさに設定することが含まれます。

Procedure Sybaseサーバを設定する

  1. Sybase Centralから、宛先のSybaseサーバに接続し、[Databases]を選択します。

    SAまたは同等の権限を持つユーザとしてSybaseサーバに接続する必要があります。

  2. TEMPDB]データベースを右クリックして、[Properties]を選択します。

  3. [Usage]タブで、[Total Allocated value]をオンにします。

    [TEMPDB Total Allocated]の値が30MBより小さい場合は、次の操作を行います。

  4. Sybaseサーバを右クリックして、[Configure]を選択します。

  5. Total Memory]の値が表示されるまで下にスクロールします。

    総メモリの値は2Kページ単位です。したがって、表示された数字の2倍のキロバイトのメモリが現在Sybaseに割り当てられていることになります。この値をメモしておき、次に[Procedure Cache Percent]の値を見つけます。この値は、13MBのメモリに相当する率にしてください。

    この値を計算するには、13,000を総メモリ容量(キロバイト)で除算します。これによって、[Procedure Cache Percent]の値として入力する率が分かります。

    たとえば、Sybase Adaptive Server Enterprise 11.5に割り当てられているデフォルトのメモリ容量は9000ページです(18,000キロバイトに相当)。13,000を18,000で除算すると、[Procedure Cache Percent]の値は0.72または72%となります。[Procedure Cache Percent]の新しい値として72を入力します。

  6. Sybaseサーバを再起動し、変更を有効にします。

 
Top of section

手順3: SybaseにSilverMasterデータベースを作成する

アプリケーションサーバをインストールする前に、実際のSybaseデータベースとその基礎となるデータベースデバイスを作成する必要があります。これらのオブジェクトは、ISQLまたはSybase Centralなどのグラフィカルツールを使用して作成できます。この節では、Sybase Centralを使用してオブジェクトを作成する方法について説明します。

Procedure SilverMasterデータベースを作成する

  1. SAまたはSAと同等の権限を持つアカウントを使用してSybaseに接続します。

  2. Sybase Centralから、宛先のSybaseサーバに接続し、[Databases Devices]を選択します。

  3. SilverMasterDataという名前で30MBの新しいデータベースデバイスを作成します。

  4. このプロセスが終了したら、SilverMasterLogという名前で30MBのデバイスをもう一つ作成します。

  5. Sybase CentralのDatabaseフォルダから、silvermaster(大文字と小文字が区別されます)という名前の新しいデータベースを作成します。

  6. データ用とログ用の各デバイスの30MB全体を使い、作成した2つのデバイスを使用するデータベースを作成します。

  7. データベースが作成されたら、データベースを右クリックして、[Properties]を選択します。

  8. [Options]タブから、[Truncate Log on Checkpoint]を選択します。

 
Top of section

手順4:アプリケーションサーバ用Sybaseログインを作成する

jConnectドライバをインストールしてSilverMasterデータベースを作成したら、アプリケーションサーバで使用するSybaseログインを作成する必要があります。

Procedure Sybaseログインを作成する

  1. Sybase Centralから、SAまたはSAと同等の権限を持つアカウントを使用してSybaseに接続します。

  2. ログインフォルダで、新規のログインを追加します(たとえば、smuserという名前を付けることができます)。このアカウントには、6文字以上のパスワードを割り当てる必要があります。

  3. silvermasterに対してこのログイン用のデフォルトデータベースを設定して、ログイン作成プロセスを終了します。

  4. Databasesフォルダからsilvermasterデータベースを右クリックして、[Properties]を選択します。

  5. Change]ボタンをクリックして、データベースの所有者をSAからsmuserログインに変更します。

使用する各展開データベースごとにログインを定義する必要があります。展開データベースにアプリケーションサーバのシステムテーブルを保存したい場合は、CREATE TABLE権限を指定する必要があります(これはサーバに追加する展開データベースのデフォルトの動作です)。

 
Top of section

手順5:アプリケーションサーバでデータベースを使用する

これでアプリケーションサーバーからSybase Adaptive Server Enterpriseデータベースにアクセスする準備が整いました。これで、次の作業を実行できるようになります。

For more information    詳細については、『管理者用ガイド』のデータソース設定に関する章を参照してください。

 
Top of page

トラブルシューティング

 
Top of section

Adaptive Server Enterpriseトラブルシューティング

この節では、Novell exteNd Application Serverとともに使用するSybase Adaptive Server Enterpriseデータベースの一般的な問題とその解決方法について説明します。

JZ0C0エラー

jConnectからエラーコードJZ0C0のエラーメッセージ「接続は既にクローズされています。」を受け取る場合があります。このエラーを受け取った場合は、実行中のSybaseサーバのバージョンが11.0.3.2であることを確認してください。Sybaseのバージョンが11.0.3.2でない場合は、Sybaseテクニカルサポートから最新バージョンを入手してください。

Sybaseサーババージョンを更新できない場合は、問題を回避するためSybaseデータベースとアプリケーションサーバのシステムテーブルを切り離してください。

ログイン、ユーザ、および許可

ログイン、ユーザ、および許可についての潜在的な問題を回避する最も簡単な方法は、SAを使用することです。データベースを追加しているときに問題が発生した場合、Novell exteNd テクニカルサポートでは、問題の原因がログイン、ユーザ、および許可のいずれにあるのかを判別するため、SAとしてデータベースの追加を試みるよう指示を出させていただく場合があります。

ただし、多くの環境では、SAのパスワードを取得することは現実的ではありません。アプリケーションサーバに対して適切な許可を持つログインとユーザの作成方法は、次のSQLの例のとおりです。

プライマリキーと外部キー

古いデータベース(Sybase System 10以前のバージョン)のプライマリキーおよび外部キーは、sp_primarykeyおよび sp_foreignkeyという名前のシステムストアドプロシージャを使って定義することができます。Sybaseでは、現在この方法でプライマリキーおよび外部キーを作成することを推奨していません。実際に、jConnectなどの新しいSybase製品は、この方法で作成されたキーを認識しません。データベースの作成に使用されたDDLを確認し、データベースでこれらのストアドプロシージャを使用するかどうかを決定できます。

プライマリキー

これは古いスタイルのプライマリキーを指定したDDLです。

  CREATE TABLE dbo.U_LBX_ADVICE 
  ( 
  advice_key smallint NOT NULL, 
  <PAYMENT_KEY file_key smallint NOT NULL, 
  batch_key smallint NOT NULL, 
  line_no varchar(20) NULL, 
  item_paid_id varchar(20) NULL, 
  item_paid_amount money NULL 
  ) 
  go 
  EXEC sp_primarykey \qdbo.U_LBX_ADVICE\q, 
  advice_key,payment_key,file_key,batch_key 

プライマリキーを作成する新しいSybase Adaptive Server Enterprise形式は、CREATE TABLE構文の一部です。

  create table U_LBX_ADVICE 
  ( 
  advice_key smallint not null, 
  payment_key smallint not null, 
  file_key smallint not null, 
  batch_key smallint not null, 
  line_no varchar(20) null, 
  item_paid_id varchar(20) null, 
  item_paid_amount money null, 
  constraint PK_U_LBX_ADVICE primary key 
  (advice_key, payment_key, file_key, batch_key) 
  ) 

テーブルがすでに存在しており、CREATE TABLEステートメントでテーブルを再作成できない場合は、次のようにALTER TABLEを使用します。

  ALTER TABLE dbo.U_LBX_ADVICE ADD CONSTRAINT newprimarykey PRIMARY KEY NONCLUSTERED (advice_key,payment_key,file_key,batch_key) 

外部キー

外部キーは、テーブル同士の関係を定義します。外部キーの問題は、すでに説明したプライマリキーの問題とよく似ています。SybaseのjConnectは、sp_foreignkeyを使用する古いSystem 10の形式で作成された外部キーを認識しません。これは外部キーを作成する古いスタイルのDDLです。

  exec sp_foreignkey dbo.U_LBX_ADVICE, dbo.U_LBX_BATCH, 
  file_key, 
  batch_key 

同様に定義されている外部キー追加する構文は、次のとおりです。

  ALTER TABLE dbo.U_LBX_ADVICE ADD CONSTRAINT myforeignkey FOREIGN KEY (file_key,batch_key) 
  REFERENCES sqlfinar1.dbo.U_LBX_BATCH (file_key,batch_key) 
  go 

Sybase PowerDesignerツールを使用して、データベースを作成するDDLを新しい形式に更新することができます。このツールを使用するには、データベースのバックアップを作成してから次の手順に従います。

  1. PowerDesignerのメニューから、[File]、[Reverse Engineering]の順に選択します。

  2. データベースのDDLを含むファイル、またはデータベースに直接接続するためのODBCドライバの名前のいずれかを入力します。

  3. Database]、[Generate Database]の順に選択して、正しい構文でプライマリキーと外部キーを定義する新しいDDLを作成します。

  4. 他のツールと同様、新しい構文にミスがないかどうか再度チェックしてテストします。

 
Top of section

jConnectトラブルシューティング

jConnectストアドプロシージャが正しくインストールされておらず、問題が検出されていない場合は、データベースを追加する際に問題が発生する可能性があります。

方法1

これは、jConnectが正しくインストールされていることを確認するために実行します。

方法2

jConnectが正しくインストールされているかどうかを判別する別の方法は、「サンプルのjConnectアプリケーション」を実行することです(サンプルがインストールされていること、およびclasses\sampleディレクトリが存在することを確認してください)。DOSプロンプトで次のように入力します。

これらのコマンドを実行するとアプリケーションが起動され、そのアプリケーションからさまざまなjConnectサンプルを起動できます([File]、[Open Sample]の順にクリックします)。



Copyright © 2004 Novell, Inc. All rights reserved. Copyright © 1997, 1998, 1999, 2000, 2001, 2002, 2003 SilverStream Software, LLC. All rights reserved.  more ...