So-net無料ブログ作成

Oracle Database Express Edition 11.02 を Windows 10 にインストール [RDBMS]

以前に Oracle Database Express Edition をインストールした記憶があったのだが
http://nakagami.blog.so-net.ne.jp/2006-02-17
めっちゃ昔だった。

諸般の事情により Windows 10 に、最近の Express Edition を入れることにした。
↓から 11.2 の Windows 版 zip アーカイブ OracleXE112_Win64.zip をダウンロード
http://www.oracle.com/technetwork/database/database-technologies/express-edition/downloads/index.html

アーカイブを解いて Disk1/setup.exe を実行
途中で system のパスワードを聞かれるのでパスワードを入力

これだけで、インストールは終わるが、system のユーザーアカウントができているだけで、ほかのユーザーやデーターベースインスタンスはできてない状態

デスクトップ の「Oracle Database 11g Express Edition」というアイコン
もしくは
メニューの「 Oracle Database 11g Express」 → 「スタートガイド」
でブラウザが起動して、管理ツール的な画面が出る。
デフォルトでは 8080 ポートが使われるが、
https://stackoverflow.com/questions/142868/change-oracle-port-from-port-8080
でポート番号は変えられるらしい

とりあえず見るドキュメントは、ここらへん↓が役に立ちそうな予感
https://docs.oracle.com/cd/E36055_01/admin.112/b66465/toc.htm

(追記)

結局 sqlplus でユーザー(=スキーマー)を作成した

create user scott identified by "tiger" default tablespace users;
grant connect, resouce to scott;

これで
sqlplus scott/tiger@localhost
で、スキーマ scott にログインできるようだ

Django の NAME には sid を入れるらしい。
https://stackoverflow.com/questions/14342317/how-to-solve-ora-12505-without-sid
これ↓でとってこれるらしく、 インストールした Express Edition だと xe みたいだ。
select sys_context('userenv','instance_name') from dual;
さっぱりわからん
コメント(0) 
共通テーマ:日記・雑感

今度は DB2 Express-C を Windows 10 にインストールしてみる [RDBMS]

この時 Ubuntu 16.04 に DB2 Express-C 11.1 をインストールしてみた
http://nakagami.blog.so-net.ne.jp/2016-07-21
残念ながら、その Ubuntu16.04 のイメージを無くしてしまって
代わりに Windows 10 を入手したので、今度は Windows10にインストールしてみることにした。

ここらへんの「free download」から v11.1_win64_expc.zip をダウンロード
https://www.ibm.com/analytics/us/en/technology/db2/db2-trials.html
unzip して setup.exe を実行して「製品のインストール」から「新規インストール」でインストールを開始。
ユーザーを登録するところでデフォルトで入っているユーザー db2admin のパスワードを入れたが、それ以外はデフォルトのチェックボックスの状態のままインストールした。
これで

- ユーザー db2admin
- パスワード→入力したもの
- DB2インスタンス→DB2
- ポート → 50000

となって、サービスは自動で起動される。
Ubuntu 16.04 のときのほうがいろいろ手動で作業しなくちゃいけなくて、それに比べて Wizard 形式で簡単にインストールできたように思う。
ただ、Ubuntu のときに手動でやったのと同じように db2admin が Windows のローカルユーザーとして
登録されていて、実際に Wizard で登録したユーザー、パスワードでサインインできてしまう。
こういうの雑だなぁって思う。

(おまけ)DB2 コマンドでほかのサーバー、ポート、データーベースに接続する設定
- 別サーバーや別ポートに接続する場合→その別サーバーのホスト、ポート、データベース名をノードとして登録
- そのリモートデーターベースのノードの情報をカタログする
- そのカタログを指定して接続
というようになっているらしい
http://db2.jugem.cc/?eid=111
ほかのデーターベースと比べるといろいろと様子が違うなぁ

(追記)古いけど、これが参考になる
https://www.ibm.com/developerworks/jp/offers/db2express-c/installwin_v95/

ノードを設定して別サーバーに接続する
http://qiita.com/hit/items/55e696a844a0c17fd30d
コメント(0)  トラックバック(0) 
共通テーマ:日記・雑感

SQLServer 2016 にSQLServer認証で接続 [RDBMS]

久しぶりに SQL Server (今回は 2016)とSQL Server Management Studio を
インストールしたが、やっぱり(自分が今回目標にしていた) SQLServer 認証で接続できない。ググって試行錯誤したらなんとかなったが、いつも、なんだかんだで苦労してできるようになるのでメモっておく

(SQLServer Management Studio から)
- サーバーのプロパティーのサーバー認証モードを「Windows 認証モード」→ 「SQL Server 認証モードと Windows 認証モード」に変更
- 外部からの接続を受け付ける
- sa のログインを有効化(sa じゃなくていいので SQLServer認証のログイン追加でもよし)

(SQL Server 構成マネージャから)
- TCP/IP プロトコルの有効化
- TCP Dynamic port をやめて 固定IP 1433 に設定

と思ったらここ↓ に一通り書いてるひとがいた。
https://creativeweb.jp/fc/remote/

歴史的経緯により、Windows 統合認証がデフォルトで TCP/IP 接続であっても Dynamic にポートを割り当てるのがデフォルトになっているのがはまる理由なんだよなぁ・・・
いまだと、Azure SQL もあるから、SQLServer認証で固定ポートも普通になっているというのに。
コメント(0)  トラックバック(0) 
共通テーマ:日記・雑感

DB2 Express-C 11.1 を Ubuntu16.04 にインストール [RDBMS]

唐突に DB2 を手元の Ubuntu 16.04にインストールしようと試みる。

サイトは、URL が変わると困るので、ぐぐって DB2 Express-C 11.1 のダウンロードサイトを探してもらうとして、IBM ID というのを登録(メールアドレスとパスワードと国を入れるだけ)するとDB Express-C 11.1 というのがダウンロードできるようになる。

Linux 版と Windows 10版があって、v11.1_linuxx64_expc.tar.gz をダウンロードした

インストール手順は
- http://www.infoscoop.org/blogjp/2014/04/30/install-or-upgrade-db2-on-linux/
- http://dbtk.jp/2016/06/05/db2-express-c-on-ubuntu/
あたりを参考にした(主に下のやつ)

なんか、64bit 版だし、インストールしなくていいものもあるような気がするけど、
試行錯誤している余裕もないので、参考情報をもとに、
以下のようなパッケージをインストール(とユーザーを2つ追加)した

sudo apt-get install libpam0g:i386
sudo apt-get install build-essential
sudo apt-get install libaio1
sudo apt-get install ksh

sudo groupadd db2iadm1
sudo useradd -g db2iadm1 -m -d /home/db2inst1 db2inst1
sudo passwd db2inst1

sudo groupadd db2fadm1
sudo useradd -g db2fadm1 -m -d /home/db2fenc1 db2fenc1
sudo passwd db2fenc1

インスタンスユーザー(今回は db2inst1)というインスタンスの所有者のユーザーと
fencedユーザー(今回は db2fenc1)というユーザー定義関数やストアード・プロシージャーを実行するユーザーが必要らしい。

次にB2 のインストール

tar zvf v11.1_linuxx64_expc.tar.gz
cd expc
sudo ./db2_install

インスタンスの作成
sudo /opt/ibm/db2/V11.1/instance/db2icrt -u db2fenc1 db2inst1

ポートの設定
/etc/services に
db2c_db2inst1 50000/tcp
が追加されているはず(されてなかったら追加)

以下、
$ su - db2inst1
として
db2inst1 ユーザーで実行

サービスの登録?
$ db2set DB2COMM=tcpip
$ db2 update dbm cfg using SVCENAME db2c_db2inst1

サンプルデーターベースの作成
$ /opt/ibm/db2/V11.1/bin/db2sampl

必要なインストールはここまで


サービスの起動
$ db2start


コマンドラインプロセッサーを起動して接続&SQL実行
db2inst1@ubuntu1604:~$ db2
(c) Copyright IBM Corporation 1993,2007
Command Line Processor for DB2 Client 11.1.0

You can issue database manager commands and SQL statements from the command
prompt. For example:
    db2 => connect to sample
    db2 => bind sample.bnd

For general help, type: ?.
For command help, type: ? command, where command can be
the first few keywords of a database manager command. For example:
 ? CATALOG DATABASE for help on the CATALOG DATABASE command
 ? CATALOG          for help on all of the CATALOG commands.

To exit db2 interactive mode, type QUIT at the command prompt. Outside
interactive mode, all commands must be prefixed with 'db2'.
To list the current command option settings, type LIST COMMAND OPTIONS.

For more detailed help, refer to the Online Reference Manual.

db2 => connect to sample

   Database Connection Information

 Database server        = DB2/LINUXX8664 11.1.0
 SQL authorization ID   = DB2INST1
 Local database alias   = SAMPLE

db2 => select * from staff where dept = 20

ID     NAME      DEPT   JOB   YEARS  SALARY    COMM
------ --------- ------ ----- ------ --------- ---------
    10 Sanders       20 Mgr        7  98357.50         -
    20 Pernal        20 Sales      8  78171.25    612.45
    80 James         20 Clerk      -  43504.60    128.20
   190 Sneider       20 Clerk      8  34252.75    126.50

  4 record(s) selected.

コメント(0)  トラックバック(0) 
共通テーマ:日記・雑感

Apache Derby をソースからコンパイルしてネットワークサーバーとして動かしてみる [RDBMS]

Apache Derby というのは Java で書かれた RDBMSだそうで。
http://db.apache.org/derby/

手元の環境は、Mac OS X 上の JDK 1.8.0_60

最近では、その Apache Derby が javadb http://www.oracle.com/technetwork/jp/java/javadb/overview/index.html という名前で JDK に組み込まれていて
/Library/Java/JavaVirtualMachines/jdk1.8.0_60.jdk/Contents/Home/db/bin
に $PATH を通して環境変数 $DERBY_HOME を設定すれば使えそうだが、今回 trunk のソースからコンパイルして動かしてみた。


【環境設定の設定】
たとえば $HOME/derby に環境を作るとすると・・・

.profile などに、以下の環境変数の設定

export DERBY_HOME=$HOME/derby
export PATH=$PATH:$DERBY_HOME/generated/bin

環境変数 $JAVA_HOME も必要になるので $JAVA_HOME が設定されてなかったら

export JAVA_HOME="$(/usr/libexec/java_home -v 1.8)"

も必要(だった)

【リポジトリの trunk から取ってきたソースからコンパイル】

$ cd $HOME
$ svn co https://svn.apache.org/repos/asf/db/derby/code/trunk/ derby
$ cd derby
$ ant all
$ ant buildjars
$ ln -s $DERBY_HOME/jars/sane $DERBY_HOME/lib


【ネットワークサーバーとして起動】

$ startNetworkServer
Sun May 29 19:14:33 JST 2016 : セキュリティ・マネージャがBasicサーバー・セキュリティ・ポリシーを使用してインストールされました。
Sun May 29 19:14:34 JST 2016 : Apache Derby Network Server - 10.13.0.0 alpha - (1745974)が起動し、ポート1527で接続の受入れ準備が完了しました

【クライアントから接続】

$ ij
ijバージョン10.13
ij> connect 'jdbc:derby://localhost/testDB;create=true';
ij> show tables;
TABLE_SCHEM |TABLE_NAME |REMARKS
------------------------------------------------------------------------
SYS |SYSALIASES |
SYS |SYSCHECKS |
...(略)
SYSIBM |SYSDUMMY1 |

23行が選択されました
ij>

コメント(0)  トラックバック(0) 
共通テーマ:日記・雑感

macports で Postgresql9.5 インストール [RDBMS]

気がついたらmacports で Postgresql9.5 alpha2 というのがインストールできるようになってた
ふと思い立ってインストールしてみたが、いつも同じようなところで試行錯誤しているのでメモしておく。

ここらへんを参考にした
https://github.com/codeforamerica/ohana-api/wiki/Installing-PostgreSQL-with-MacPorts-on-OS-X

# Mac Ports でインストール
sudo port install postgresql95-server

# インスタンス作成
sudo mkdir -p /opt/local/var/db/postgresql95/defaultdb
sudo chown postgres:postgres /opt/local/var/db/postgresql95/defaultdb
sudo su postgres -c '/opt/local/lib/postgresql95/bin/initdb -D /opt/local/var/db/postgresql95/defaultdb'

# Authentication METHOD 変えたい場合、
sudo vi /opt/local/var/db/postgresql95/defaultdb/pg_hba.conf

# デーモンの起動、停止、再起動のエイリアス
alias pg95_start='sudo /opt/local/etc/LaunchDaemons/org.macports.postgresql95-server/postgresql95-server.wrapper start'
alias pg95_stop='sudo /opt/local/etc/LaunchDaemons/org.macports.postgresql95-server/postgresql95-server.wrapper stop'
alias pg95_restart='sudo /opt/local/etc/LaunchDaemons/org.macports.postgresql95-server/postgresql95-server.wrapper restart'

/opt/local/bin にパスが通っていると以下のコマンドでログインできる

psql95 -U postgres

上の 95 を 93 とか 94 とか変更すると 9.3 とか 9.4 とかインストールできた
コメント(0)  トラックバック(0) 
共通テーマ:日記・雑感

SQL 文を試す sqlfiddle.com [RDBMS]

どこがどういう理由で費用負担してるのかよくわからないのだが、
http://sqlfiddle.com/
というのがあるということを教えてもらった。

上のメニューからデーターベースの種類を選んで、(デフォルトは MySQL 5.6)
左上のペインで CREATE TABLE 文と INSER 文でデータを作成して
右上のペインで SELECT すると、下に結果が出る。


MySQL, PostgreSQL, SQLite の他に
Oracle 11gR2 と MS SQL Server 2014 が使えるらしい。
ありがたい

コメント(0)  トラックバック(0) 
共通テーマ:日記・雑感

PostgreSQL の pg_tgram についての覚え書き [RDBMS]

LIKE 演算子で、文字列が含まれているものを探したいというのは繰り返し出てくる

PostgreSQL にそんなの標準で入ってるんじゃなかったっけ?(良く知らない)ということで調べた

PostgreSQL 9.xにおける日本語全文検索について調べてみた
http://longkey1.net/blog/2013/05/08/about-japanese-textsearch-on-postgresql9/

pg_tgram のことだったみたい
http://www.postgresql.jp/document/9.2/html/pgtrgm.html
http://aoyagikouhei.blog8.fc2.com/blog-entry-255.html

中間一致検索でインデックスを使う
http://postgresql.at.webry.info/200803/article_1.html

PostgreSQL 9.x に pg_trgm を後から追加
http://d.hatena.ne.jp/furyu-tei/20140117/1389954589

RDS で使えるか→使えるっぽい
http://pgsqldeepdive.blogspot.jp/2013/11/rds-for-postgresql.html
http://recipe.kc-cloud.jp/archives/5012

コメント(0)  トラックバック(0) 
共通テーマ:日記・雑感

MySQL で日付、時刻の足し算 [RDBMS]

こういうのっていつもわかんなくなる。
Google で検索しても、 PHP での日付処理とかはでても MySQL の SQL 文で処理するのはなかなか出てこないなぁ。
http://answers.oreilly.com/topic/165-how-to-add-date-or-time-values-in-mysql/

今回やりたかったのは、「同じ日の 12:00 に設定しなおす」みたいな処理なので

update some_table set foo_date = timestamp(date(foo_date), '12:00');

みたいな感じにしたけど、こういう演算がもっと自由自在にできるようになりたいもんだ。

自分の /etc/my.cnf を記録しておく [RDBMS]

[client]
default-character-set = utf8

[mysqld]
default-storage-engine=InnoDB
default-character-set=utf8
character-set-server=utf8
collation-server=utf8_general_ci
ft_min_word_len=1

[mysqldump]
default-character-set = utf8

[mysql]
default-character-set = utf8