なからなLife

geekに憧れと敬意を抱きながら、SE、ITコンサル、商品企画、事業企画、管理会計、総務・情シス、再び受託でDB屋さんと流浪する人のブログです。

HammerDB 4.0がリリースされていた - 環境構築

HammerDB 4.0がリリースされていた - リリースノートチェック - なからなLife
の続きです。

CentOS7環境用意

いつものごとく、Windows10+VirtualBoxCentOS 7、または、AWS EC2+AmazonLinux2の環境を使用しています。

CentOS7をminimalインストールして、yum updateして最新に引き上げます。
あとfirewalldとselinuxはよしなに。
minimalだとwgetすら入ってないので、それくらいは入れておきましょう。


EC2+AmazonLinux2の場合も、yum updateして最新に引き上げます。
firewalldやselinuxはデフォルトで無効化されてたはず。



HammerDBのダウンロード&インストール

1つ前のv3.3から、リポジトリsourceforgeからGithubに移っているので、間違えないように。
https://hammerdb.com/download.html


Release 4.0 for Linux 64-bit compressed tar file
のリンクURLをwgetで要求します。

# wget https://github.com/TPC-Council/HammerDB/releases/download/v4.0/HammerDB-4.0-Linux.tar.gz

# tar zxvf HammerDB-4.0-Linux.tar.gz

# ll
total 4924
-rw-------.  1 root root    1640 Mar 15 14:06 anaconda-ks.cfg
drwxr-xr-x. 10 1000 1000     212 Sep 15 23:17 HammerDB-4.0
-rw-r--r--.  1 root root 5036787 Nov  5 00:28 HammerDB-4.0-Linux.tar.gz

# cd HammerDB-4.0

# ./hammerdbcli
HammerDB CLI v4.0
Copyright (C) 2003-2020 Steve Shaw
Type "help" for a list of commands
The xml is well-formed, applying configuration

各種DBへの接続用ドライバ

ドライバライブラリ確認コマンド実行

HammerDBが各種DBに対して接続する際に利用するライブラリの設定状況は、この「librarycheck」で確認できます。

hammerdb>librarycheck
Checking database library for Oracle
Error: failed to load Oratcl - can't read "env(ORACLE_HOME)": no such variable
Ensure that Oracle client libraries are installed and the location in the LD_LIBRARY_PATH environment variable
Checking database library for MSSQLServer
Error: failed to load tdbc::odbc - couldn't load file "libiodbc.so": libiodbc.so: cannot open shared object file: No such file or directory
Ensure that MSSQLServer client libraries are installed and the location in the LD_LIBRARY_PATH environment variable
Checking database library for Db2
Error: failed to load db2tcl - couldn't load file "/root/HammerDB-4.0/lib/db2tcl2.0.0/libdb2tcl.so.0.0.1": libdb2.so.1: cannot open shared object file: No such file or directory
Ensure that Db2 client libraries are installed and the location in the LD_LIBRARY_PATH environment variable
Checking database library for MySQL
Error: failed to load mysqltcl - couldn't load file "/root/HammerDB-4.0/lib/mysqltcl-3.052/libmysqltcl3.052.so": libmysqlclient.so.21: cannot open shared object file: No such file or directory
Ensure that MySQL client libraries are installed and the location in the LD_LIBRARY_PATH environment variable
Checking database library for PostgreSQL
Error: failed to load Pgtcl - couldn't load file "/root/HammerDB-4.0/lib/pgtcl2.1.1/libpgtcl2.1.1.so": libpq.so.5: cannot open shared object file: No such file or directory
Ensure that PostgreSQL client libraries are installed and the location in the LD_LIBRARY_PATH environment variable

hammerdb>


ざっと比較したところ、v3.3と要求ライブラリは変わっていなさそう。

というわけで、以前のエントリ通りに実行したら、OracleMySQLPostgreSQLはlibrarycheckが「Success 」になりました。

以前のエントリ:HammerDBをCLIで使うなど(1):環境構築 - なからなLife


MySQL
# wget https://dev.mysql.com/get/mysql80-community-release-el7-3.noarch.rpm
# yum -y localinstall mysql80-community-release-el7-3.noarch.rpm
# yum -y install mysql-community-client.x86_64
PostgreSQL
# yum -y install https://dl.fedoraproject.org/pub/epel/epel-release-latest-7.noarch.rpm
# yum -y install https://download.postgresql.org/pub/repos/yum/reporpms/EL-7-x86_64/pgdg-redhat-repo-latest.noarch.rpm
# yum -y install postgresql13.x86_64

前回は10を入れて「11だとダメかも?」と書いてしまいましたが、現在、最新GA版である13を入れても大丈夫でした。


が、AmazonLinux2対応について、10以降は、
https://download.postgresql.org/pub/repos/yum/10/redhat/rhel-latest-x86_64/
に当たる階層がないため、さらに具体的なバージョン指定パスが必要になります。

今回は、以下を使用しています。

yum -y install https://download.postgresql.org/pub/repos/yum/13/redhat/rhel-7.9-x86_64/postgresql13-libs-13.2-1PGDG.rhel7.x86_64.rpm
yum -y install https://download.postgresql.org/pub/repos/yum/13/redhat/rhel-7.9-x86_64/postgresql13-13.2-1PGDG.rhel7.x86_64.rpm
Oracle
# yum -y install  https://download.oracle.com/otn_software/linux/instantclient/193000/oracle-instantclient19.3-basic-19.3.0.0.0-1.x86_64.rpm


vi ~/.bash_profile
(以下を追記)
export ORACLE_HOME=/usr/lib/oracle/19.3/client64
export LD_LIBRARY_PATH=$ORACLE_HOME/lib:$LD_LIBRARY_PATH
export ORACLE_LIBRARY=$ORACLE_HOME/lib/libclntsh.so
export PATH=$ORACLE_HOME/bin:$PATH


# source ~/.bash_profile
再びlibrarycheck
hammerdb>librarycheck
Checking database library for Oracle
Success ... loaded library Oratcl for Oracle
Checking database library for MSSQLServer
Error: failed to load tdbc::odbc - couldn't load file "libiodbc.so": libiodbc.so: cannot open shared object file: No such file or directory
Ensure that MSSQLServer client libraries are installed and the location in the LD_LIBRARY_PATH environment variable
Checking database library for Db2
Error: failed to load db2tcl - couldn't load file "/root/HammerDB-4.0/lib/db2tcl2.0.0/libdb2tcl.so.0.0.1": libdb2.so.1: cannot open shared object file: No such file or directory
Ensure that Db2 client libraries are installed and the location in the LD_LIBRARY_PATH environment variable
Checking database library for MySQL
Success ... loaded library mysqltcl for MySQL
Checking database library for PostgreSQL
Success ... loaded library Pgtcl for PostgreSQL


例によって?!MS SQL Serverdb2は省略。

SQL Serverについては、こちらの記事を紹介させていただきます。
HammerDB(CLI)でSQL Serverに負荷をかける - Qiita


環境構築はここまで。

まとめ

  • HammerDB CLI用の環境構築においては、HammerDB v3.3とv4.0で違いはなし。


次は、設定周りに変化がないかを見ていきたいと思います。