質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.50%
SQL

SQL(Structured Query Language)は、リレーショナルデータベース管理システム (RDBMS)のデータベース言語です。大きく分けて、データ定義言語(DDL)、データ操作言語(DML)、データ制御言語(DCL)の3つで構成されており、プログラム上でSQL文を生成して、RDBMSに命令を出し、RDBに必要なデータを格納できます。また、格納したデータを引き出すことも可能です。

Linux

Linuxは、Unixをベースにして開発されたオペレーティングシステムです。日本では「リナックス」と呼ばれています。 主にWebサーバやDNSサーバ、イントラネットなどのサーバ用OSとして利用されています。 上位500のスーパーコンピュータの90%以上はLinuxを使用しています。 携帯端末用のプラットフォームAndroidは、Linuxカーネル上に構築されています。

DB2

DB2(IBM Database2)は、IBMのリレーショナルデータベース管理システム製品です。 UNIXとWindows、IBM社のメインフレームOS用が用意されており、 幅広いプラットフォームに対応しています。

AWS(Amazon Web Services)

Amazon Web Services (AWS)は、仮想空間を機軸とした、クラスター状のコンピュータ・ネットワーク・データベース・ストーレッジ・サポートツールをAWSというインフラから提供する商用サービスです。

Red Hat Enterprise

Red Hat Enterpriseは、レッドハット社により開発・サポートが行われている業務向けLinuxディストリビューションです。オープンソースで無償で利用することができ、バイナリ版の入手・サポートは有償です。商用ディストリビューションとして人気が高く、代表的なLinuxの選択肢の一つです。

Q&A

解決済

1回答

696閲覧

Linux(RHEL7.3)でDB2のCREATE DB ができない。

pwoeiruty

総合スコア14

SQL

SQL(Structured Query Language)は、リレーショナルデータベース管理システム (RDBMS)のデータベース言語です。大きく分けて、データ定義言語(DDL)、データ操作言語(DML)、データ制御言語(DCL)の3つで構成されており、プログラム上でSQL文を生成して、RDBMSに命令を出し、RDBに必要なデータを格納できます。また、格納したデータを引き出すことも可能です。

Linux

Linuxは、Unixをベースにして開発されたオペレーティングシステムです。日本では「リナックス」と呼ばれています。 主にWebサーバやDNSサーバ、イントラネットなどのサーバ用OSとして利用されています。 上位500のスーパーコンピュータの90%以上はLinuxを使用しています。 携帯端末用のプラットフォームAndroidは、Linuxカーネル上に構築されています。

DB2

DB2(IBM Database2)は、IBMのリレーショナルデータベース管理システム製品です。 UNIXとWindows、IBM社のメインフレームOS用が用意されており、 幅広いプラットフォームに対応しています。

AWS(Amazon Web Services)

Amazon Web Services (AWS)は、仮想空間を機軸とした、クラスター状のコンピュータ・ネットワーク・データベース・ストーレッジ・サポートツールをAWSというインフラから提供する商用サービスです。

Red Hat Enterprise

Red Hat Enterpriseは、レッドハット社により開発・サポートが行われている業務向けLinuxディストリビューションです。オープンソースで無償で利用することができ、バイナリ版の入手・サポートは有償です。商用ディストリビューションとして人気が高く、代表的なLinuxの選択肢の一つです。

0グッド

1クリップ

投稿2017/06/20 09:40

###前提・実現したいこと
(RHEL7.3)LINUX上にインストールしたDB2で
create db sampledb using codeset utf-8 pagesize 32768
を実行するとエラー発生してしまう。
教えていただければ幸いです。

###発生している問題・エラーメッセージ

SQL1084C The database manager failed to allocate shared memory because an operating system kernel memory limit has been reached. SQLSTATE=57019

###試したこと
エラーコードを調べてみると、カーネルパラメータを変更すると出てきたので以下を実行してみた。

echo 1073741824 > /proc/sys/kernel/shmmax echo 67108864 > /proc/sys/kernel/shmall

実行後の状態。

[db2inst1@ip- ~]$ ipcs -l ------ Messages Limits -------- max queues system wide = 1979 max size of message (bytes) = 65536 default max size of queue (bytes) = 65536 ------ Shared Memory Limits -------- max number of segments = 4096 max seg size (kbytes) = 1048576 max total shared memory (kbytes) = 268435456 min seg size (bytes) = 1 ------ Semaphore Limits -------- max number of arrays = 1024 max semaphores per array = 250 max semaphores system wide = 256000 max ops per semop call = 32 semaphore max value = 32767

その後PCを再起動すると、db2startの時点でエラーが出るようになった、、、(DB2インストールし直して対応する予定)

###補足情報(言語/FW/ツール等のバージョンなど)
ハードウェア:AWS使用(t2.micro)、物理メモリが1GB、CPU1つ
OS:RedHatEnterpriseLinux7.3 64ビット
ミドルウェア:IBM DB2 for Linux 11.1

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

SVC34

2017/06/20 13:02 編集

db2 get dbm cfg | grep MEMORY の結果を追記してください。
guest

回答1

0

ベストアンサー

カーネルパラメータを変更した後、PCを再起動しているので共有メモリの設定が元に戻っていませんか?
次のコマンドで確認できます。

cat /proc/sys/kernel/shmmax cat /proc/sys/kernel/shmall

恒久的に設定するには/etc/sysctl.confに記載すれば良いと思います。

kernel.shmall = 67108864 kernel.shmmax = 1073741824

見当違いでしたらすみません。

投稿2017/06/21 01:15

moonphase

総合スコア6621

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

pwoeiruty

2017/06/21 02:16

恒久的に設定されていないことを確認しました。 コメントしていただいてありがとうございました。 申し訳ないのですが、自己解決しました。 AWSでインスタンスを作り直してもう一度DB2をインストールし実行したら問題なく動きました。 以前CREATE文実行の際、待ち時間が長かったので途中で終了させた覚えが少しあるので それが原因だったかもしれないです。
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.50%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問