HiRDBでGRANTを実行し、DBAユーザーを作成する

HiRDB SQL Executerで、ユーザーを作ろうと以下のクエリを発行したところ、


GRANT DBA TO MANAGER IDENTIFIED BY MANAGER;



こんなエラーになりました。


KFPA11552-E Unable to execute "GRANT DBA" due to lack of privilege



※実行はUSER1という初期設定で作成されたユーザー



マニュアルにはroot/rootなユーザーが作られているよと書いてあったので、
認可識別子とパスワードに「root」と入力して接続しようとすると・・・

12_001.png

12_002.png



KFPA11561-E Specified authorization identifier ROOT has no connect privilege




このエラーの意味がわからなくて、初期設定で作成された
USER1以外のユーザーの作成をあきらめていたのですが、
やっとユーザーの作成方法がわかった気がします。





バッチファイルの作成



結局、バッチファイルを作成し、「pddef」というコマンドを実行することで
ユーザーの作成に成功しました。

まず、「pddef」を実行するためのバッチファイル「sample.bat」を作成します。
※名前は適当です。

内容は以下のとおり。


set PDUSER="root"/"root"
pddef < "D:\hirdb\cmd\manager.txt"
pause



環境変数「PDUSER」でコマンドを実行するユーザーを指定します。
ID/パスワードの組み合わせですが、初期状態で両方「root」のはずです。

pddefの引数は、実行するSQLを記載したテキストファイルの絶対パスです。

manager.txtの内容は以下のとおり。


GRANT DBA TO MANAGER IDENTIFIED BY MANAGER;




GRANT DBA TO MANAGER で、「MANAGER」という名前のDBAを作成。
IDENTIFIED BY MANAGERで、パスワードは「MANAGER」だよという意味になります。

これでsample.batを実行すると・・・



D:\hirdb\cmd>set PDUSER="root"/"root"

D:\hirdb\cmd>pddef 0<"D:\hirdb\cmd\manager.txt"
KFPA12000-I Processing of SQL completed

D:\hirdb\cmd>pause







HiRDB SQL Executerでの接続確認



既にHiRDB SQL Executerで接続している場合はいったん切断し、
認可識別子に「MANAGER」
パスワードにも「MANAGER」
と入力して接続すると、

12_003.png


ちゃんとMANAGERというDBAが作成されています。

12_004.png


あくまで予想ですが、rootユーザーは外部からの接続を受け付けず、
コマンド実行時のみ有効となるDBAなのかなと思っています。

作成したMANAGERユーザーで、GRANT文の実行が行えることを確認しました。

12_005.png







HiRDBの起動と終了、起動状態の確認コマンド

いつも忘れるのでメモしておきます。
コマンドは、「HiRDBコマンドプロンプト」から実行します。



HiRDBを起動する




pdstart



実行すると、こんなメッセージが表示されます。


C:\win32app\hitachi\hirdb_s\BIN>pdstart
2540 20:44:56 u001 _rdm     KFPS05210-I HiRDB system initialization process com
plete







HiRDBを停止する




pdstop



実行すると、こんなメッセージが表示されます。


C:\win32app\hitachi\hirdb_s\BIN>pdstop
2540 20:53:07 u001 _rdm     KFPS01841-I HiRDB unit u001 terminated. mode = NORM
AL
2540 20:53:07 u001 _rdm     KFPS01850-I HiRDB system terminated. mode = NORMAL






起動状態の確認




pdls




起動しているときの実行結果。


C:\win32app\hitachi\hirdb_s\BIN>pdls
HOSTNAME(205140)                 UNITID SVID     STATUS STARTTIME
WIN-9UJK3SHIFUD                 u001 ******** ACTIVE    204455
WIN-9UJK3SHIFUD                 u001 sds01    ACTIVE    204455





停止状態での実行結果。


C:\win32app\hitachi\hirdb_s\BIN>pdls
3932 23:08:18 u001         KFPS01853-W Hostname=WIN-9UJK3SHIFUD, unable to exe
cute pdls command, unit state not ONLINE













HiRDBにJavaからJDBCで接続する

HiRDBにJavaで接続してみます。

JDBCドライバは、HiRDB/Run Timeでインストールされるはず。
HiRDB/Run Time

私の環境では、TYPE4ドライバは
C:\win32app\hitachi\hirdb_s\CLIENT\UTL\pdjdbc2.jar
にインストールされました。

このjarをコピーして、ビルドパスに含めます。



クラス名と接続文字列



ロードするクラス名は

JP.co.Hitachi.soft.HiRDB.JDBC.HiRDBDriver


※JPは小文字でなく大文字であることに注意。


接続文字列は以下のとおり。

jdbc:hitachi:hirdb://DBID=[ポート番号],DBHOST=[ホスト名]








サンプルプログラム



サンプルデータベースにあるCUSTOMテーブルに接続し、データを取り出して見ます。



package com.fc2.blog68.symfoware.hirdb;

import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.ResultSet;
import java.sql.Statement;

public class Sample {

    public static void main(String arg[]) {
        
        try {
            Class.forName("JP.co.Hitachi.soft.HiRDB.JDBC.HiRDBDriver");
            Connection con = DriverManager.getConnection("jdbc:hitachi:hirdb://DBID=22200,DBHOST=localhost", "USER1", "USER1");
            Statement stmt = con.createStatement();
            
            ResultSet rs = stmt.executeQuery("SELECT * FROM CUSTOM");
            
            while(rs.next()) {
                System.out.print(rs.getString("COMPANYCD"));
                System.out.print("\t");
                System.out.print(rs.getString("COMPANYNAME"));
                System.out.print("\t");
                System.out.print(rs.getString("TELNO"));
                System.out.print("\t");
                System.out.print(rs.getString("ZIPCD"));
                System.out.print("\t");
                System.out.print(rs.getString("ADDRESS"));
                System.out.print("\n");
            }
            
            stmt.close();
            con.close();
            
        } catch (Exception e){
            e.printStackTrace();
        }
        
    }
    
}











HiRDBのODBC接続を作成する

HiRDBのODBC接続を作成したときのメモ。


ちなみに、ODBCドライバは、「HiRDB/Run Time」をインストールしたら入るようです。
Windows Server 2008 R2に「HiRDB/Run Time」をインストール



「ファイル名を指定して実行」で「odbcad32」と入力し、実行。
ODBCデータソース アドミニストレーター画面が表示される。
右側の「追加」ボタンを押す。

10_001_20101012223417.png


「HiRDB ODBC3.0 Driver」を選択して完了。

10_002_20101012223417.png


HiRDB ODBC3.0 Driver セットアップが表示される。
データソース名:適当
PDHOST:HiRDBが稼動しているホスト名
PDNAMEPORT:接続するポート番号(デフォルト22200)
HiRDBクライアント環境変数ファイル名:デフォルトC:\Windows\HiRDB.iniにあるはず。

10_003.png


こんな感じで作成されます。

10_004.png









Windows Server 2008 R2にインストールしたHiRDB V9の初期セットアップ

HiRDB V9 Single Serverの評価版のダウンロードとインストールを行いました。
Windows Server 2008 R2に「HiRDB V9 Single Server」をインストール
Windows Server 2008 R2に「HiRDB SQL Executer」をインストール
Windows Server 2008 R2に「HiRDB SQL Tuning Advisor」をインストール
Windows Server 2008 R2に「HiRDB/Run Time」をインストール
Windows Server 2008 R2に「HiRDB Control Manager - Server」をインストール
Windows Server 2008 R2に「HiRDB Control Manager - Console」をインストール
Windows Server 2008 R2に「HiRDB Control Manager - Agent」をインストール
Windows Server 2008 R2に「HiRDB XML Extension」をインストール


インストール後の初期セットアップを行います。



pdstartの実行(エラーで失敗)



体験版のチュートリアルに従い、初期化を行ってみました。

[スタート]-[全てのプログラム]-[HiRDBSingleServer]-[HiRDBコマンドプロンプト]を起動します。

09_001_20101009230116.png


pdstartコマンドを実行すると・・・


C:\win32app\hitachi\hirdb_s\BIN>pdstart
528 19:51:07             KFPU00242-E Unable to open definition file. definit
ion file=C:/win32app/hitachi/hirdb_s/CONF/pdsys, errno=2
528 19:51:07             KFPU00242-E Unable to open definition file. definit
ion file=C:/win32app/hitachi/hirdb_s/conf/pdutsys, errno=2




エラーで終了。
しょうがないので、他の手を考えます。






簡易セットアップツールの実行



[スタート]-[全てのプログラム]-[HiRDBSingleServer]-[管理セットアップツール]を起動します。

09_002_20101009230116.png


ウィザードセットアップを試してみます。

09_003_20101009230116.png



「KFPX29700-Q
指定されたセットアップディレクトリは存在しません。
ディレクトリを作成しますか?」
と聞かれました。


「はい」を選択します。

09_004.png


システム構成の設定画面が表示されます。


HiRDB識別子:HRD1
ポート番号:22200
ユニット数:1
最大同時接続ユーザ数:8
HiRDBの規模:490MB
RDエリア容量の割合
RDエリア領域:220(MB)
システムファイル領域:270(MB)



というデフォルト値が表示されましたので、このまま続行することにします。f

09_005.png



システムログの運用方法選択画面になりました。


ユニット選択:u001
システムログをアンロードする運用
自動ログアンロードディレクトリ:C:\win32app\hitachi\hirdb_s\area



というデフォルト値が表示されましたので、このまま続行することにします。f

09_006.png



セットアップの確認画面が表示されます。



HiRDB識別子:        HRD1
ポート番号:        22200
ユニット数:        1
最大同時接続ユーザ数:    8
HiRDBの規模:        484 MB (システムファイル用: 264 MB RDエリア用: 220 MB)

[WIN-9UJK3SHIFUD]
ユニットの規模:        484 MB (システムファイル用: 264 MB RDエリア用: 220 MB)
ユニット識別子:        u001
運用ディレクトリ:        C:\win32app\hitachi\hirdb_s
システムファイル格納ディレクトリ:    C:\win32app\hitachi\hirdb_s\area
RDエリア格納ディレクトリ:        C:\win32app\hitachi\hirdb_s\area
サーバ構成:        シングルサーバ (sds01)
HiRDBファイルシステム領域 (システムファイル用):
            C:\win32app\hitachi\hirdb_s\area\rdsys011
            C:\win32app\hitachi\hirdb_s\area\rdsys012
            C:\win32app\hitachi\hirdb_s\area\rdsys013
            C:\win32app\hitachi\hirdb_s\area\rdsys014
            C:\win32app\hitachi\hirdb_s\area\rdsys015
            C:\win32app\hitachi\hirdb_s\area\rdsys016
            C:\win32app\hitachi\hirdb_s\area\rdsysl11
            C:\win32app\hitachi\hirdb_s\area\rdsysl12
            C:\win32app\hitachi\hirdb_s\area\rdsysl13
            C:\win32app\hitachi\hirdb_s\area\rdsysl14
            C:\win32app\hitachi\hirdb_s\area\rdsysl15
            C:\win32app\hitachi\hirdb_s\area\rdsysl16
HiRDBファイルシステム領域 (RDエリア用):
            C:\win32app\hitachi\hirdb_s\area\rdsys02
            C:\win32app\hitachi\hirdb_s\area\rdsys03
            C:\win32app\hitachi\hirdb_s\area\rdsys04
            C:\win32app\hitachi\hirdb_s\area\rdsys05
            C:\win32app\hitachi\hirdb_s\area\rdsys06
システムログの運用方法:    システムログをアンロードする運用
自動ログアンロードディレクトリ:    C:\win32app\hitachi\hirdb_s\area\unloadlog\




09_007.png

この状態でセットアップを実行しました。



セットアップ中はこんな画面が表示されます。

09_008.png



セットアップ完了後のログは以下のとおり



●次のHiRDB環境構築用ファイルおよびHiRDBシステム定義
 ファイルを作成しています。

 --- 環境構築用ファイル ---
     ・fmkfs.bat   :システムファイル用HiRDBファイルシステム
                     の作成
     ・fmkfile.bat :RDエリア、作業用HiRDBファイルシステム
                     の作成
     ・sysfint.bat :システムファイル初期化
     ・mkinit      :データベース初期化用制御文

 --- システム定義ファイル ---
     ・pdsys       :システム共通定義
     ・pdutsys     :ユニット制御情報定義
     ・pdsvrc      :サーバ共通定義
     ・sds01       :シングルサーバ定義

●pdfmkfsコマンドを使用してHiRDBファイルシステム領域を作成
  しています。
  以下のHiRDBファイルシステム領域が作成されます。

 --- システムファイル用 --- <合計:約264MB>
     ・C:\win32app\hitachi\hirdb_s\area\rdsys011
     ・C:\win32app\hitachi\hirdb_s\area\rdsys012
     ・C:\win32app\hitachi\hirdb_s\area\rdsys013
     ・C:\win32app\hitachi\hirdb_s\area\rdsys014
     ・C:\win32app\hitachi\hirdb_s\area\rdsys015
     ・C:\win32app\hitachi\hirdb_s\area\rdsys016
     ・C:\win32app\hitachi\hirdb_s\area\rdsysl11
     ・C:\win32app\hitachi\hirdb_s\area\rdsysl12
     ・C:\win32app\hitachi\hirdb_s\area\rdsysl13
     ・C:\win32app\hitachi\hirdb_s\area\rdsysl14
     ・C:\win32app\hitachi\hirdb_s\area\rdsysl15
     ・C:\win32app\hitachi\hirdb_s\area\rdsysl16

 --- RDエリア用  --- <合計:約220MB>
     ・C:\win32app\hitachi\hirdb_s\area\rdsys02
     ・C:\win32app\hitachi\hirdb_s\area\rdsys03
     ・C:\win32app\hitachi\hirdb_s\area\rdsys04
     ・C:\win32app\hitachi\hirdb_s\area\rdsys05
     ・C:\win32app\hitachi\hirdb_s\area\rdsys06

●pdstsinitおよびpdloginitコマンドを使用して
  HiRDBファイルシステム領域領域にステータスファイル、
  システムログファイルおよびシンクポイントダンプファイル
 を初期化しています。

  <ステータスファイル>
  システムの終了状態を取得します。また再開始時に
  引き継ぐ情報及び再開始のための情報を取得
  するファイルです。

 <システムログファイル>
  トランザクション処理履歴情報,及びファイルの更新履歴
  情報などを取得するファイルです。

 <シンクポイントダンプファイル>
  あるポイントでのシステム回復情報を取得するファイルです。

●pdstartコマンドを使用してHiRDBを起動しています。
 また、同時にデータベースの初期設定も行います。

 データベースの初期設定では次の機能が実行されます。

  (1)マスタディレクトリおよびデータディレクトリの生成。
   さらに,データディクショナリ用RDエリアにHiRDB固有の
   資源,及び各種権限を管理するためのディクショナ
   リ表の作成。 

  (2)ユーザ用RDエリアの生成。 

●サンプルデータベースを構築しています。 

 --- 構築概要 ---

    (1)pddefコマンドによるテーブル定義
   ・ユーザ権限定義:GRANT文
    ユーザ:USER1/USER1
   ・テーブル定義:CREATE TABLE文

    (2)pdloadコマンドによるテーブルへのデータ設定  
   ・CSVファイルのデータをテーブルに設定

●HiRDB環境が構築されました。 

●サンプルデータベースとして9個の表が作成されました。
 内容を確認する場合は以下のユーザでログインしてください。
    ・ユーザID  :USER1
    ・パスワード :USER1

●HiRDBは稼動中です。
 マシン停止時には、先にHiRDBを終了してください。





これで初期セットアップは完了・・・だと思います。







管理ツールによる起動確認



[スタート]-[全てのプログラム]-[HiRDB CM - Console]-[HiRDB CM - Console]を起動します。

09_009.png


ログイン画面が表示されます。
コンソールIDは端末名(デフォルトで入力されている)
パスワードは、HiRDB Control Manager - Serverをインストールしたときに
設定した値を入力します。
Windows Server 2008 R2に「HiRDB Control Manager - Server」をインストール

09_010.png


[管理HiRDB]-[管理HiRDBの新規登録]を選択します。

09_011.png


IPアドレスに127.0.0.1
ポート番号は、
Windows Server 2008 R2に「HiRDB Control Manager - Agent」をインストール
ここで設定した「20293」を指定します。

09_012.png


OKを押すと、
「KFPE23096-E
指定されたHiRDBシステムのマシンへの接続に失敗しました。」
と表示されてしまいます。

09_e_001.png


接続するIPアドレスを192.168.1.3に変更したところ、
接続できるようにはなったのですがエラー。

そういえば、Agentが使用するID、パスワードを適当に
設定していたので、ただしく設定してみます。

C:\win32app\hitachi\hirdb_s\CMAgent\binにあるcmrconfでパスワードが
変更できます。
また、パスワードは「C:\Windows\HiRDB.ini」の「PDUSER」に
ID/パスワードという形式で記載されています。
デフォルトで、
「PDUSER=USER1/USER1」
となっているはず。

コマンドプロンプトで
cd C:\win32app\hitachi\hirdb_s\CMAgent\bin
cmrconf -c HiRDBUser USER1 USER1
を実行し、ユーザーを変えてみました。


改めて接続しようとすると、
「KFPE34022-E
情報検索に失敗しました。」

09_e_002.png


一旦、HiRDB CM - Consoleでの接続はあきらめて、HiRDB SQL Executerで接続してみます。






HiRDB SQL Executer



[スタート]-[全てのプログラム]-[HiRDB SQL Executer]-[GUI版 HiRDB SQL Executer]を起動します。

09_013.png


・・・あっさりつながってくれました。

09_014.png

ちゃんとインストールに成功し、サンプルデータベースも作成されている模様です。




これまでインストールしたソフトの手順はこちら。
HiRDB/Single Server
HiRDB SQL Executer
HiRDB SQL Tuning Advisor
HiRDB/Run Time
HiRDB Control Manager - Server
HiRDB Control Manager - Console
HiRDB Control Manager - Agent
HiRDB XML Extension










プロフィール

Author:symfo
blog形式だと探しにくいので、まとめサイト作成中です。
https://symfo.web.fc2.com/

PR

検索フォーム

月別アーカイブ