>DB2でテーブルのサイズを見たい入力中の回答があります。ページを離れますか?※ページを離れると、回答が消えてしまいますページを離れるA回答を続ける入力中のお礼があります。16:26回答数:2件DB2で、テーブルのサイズやスキーマのサイズ(実際にデータが何MBあるのか)を知りたいです。ご存知の方、いらっしゃいましたら、教えて下さい。通報するこの質問への回答は締め切られました。11:05ちょっと希望に添えないかもしれませんが、REORGCHKコマンドを実行すると、副作用として表のサイズが一覧表示されるので(TSIZEのところ)、使えるかもしれません。null制約の付与・削除方法について」その他(データベース)8DB2のログインについてその他(データベース)9大きいサイズのテキストファイルの開き方その他(コンピューター・テクノロジー)10oracle、DB2、SqlServerのフィールド数の限界について教えてください。null制約の付与・削除方法について」その他(データベース)8DB2のログインについてその他(データベース)9大きいサイズのテキストファイルの開き方その他(コンピューター・テクノロジー)10oracle、DB2、SqlServerのフィールド数の限界について教えてください。DB2のテーブルにデータをロードする方法を教えてください。回答数ランキングです。職業心理カウンセラーこの専門家の回答をチェック他の専門家の回答をチェックこのQ&Aを見た人が検索しているワードテーブルサイズ単位DB2容量このQ&Aと関連する良く見られている質問QDB容量の確認方法Oracle初心者です。DBの全容量や今利用している容量(データが蓄積された分)や残ってる容量などを確認したいのですが、どのような方法が適切なのでしょうか?ネットなどで見ても、今ひとつよく分からなかったので質問させて頂きました。お答えしますまず、DBのデータは、ファイルに格納されていますASMのケースもありますが、まずは、通常のファイルシステムの場合でお答えしますDB容量は、[______________________________________]まず、このように全部で格納でいるファイルを作ります。そのデータファイルをまとめた入れ物がテーブルスペースといいます。日本語では、表領域です。その表領域に、テーブルを作成して、行を格納します[■■■■■■__________________________]このように格納されます。(イメージ図です)この時、2つの尺度があります。自動拡張するかどうかです。表領域を広げるには、データファイル自体のサイズを広げる新たに別のデータファイルを追加するなどがあります。お答えしますまず、DBのデータは、ファイルに格納されていますASMのケースもありますが、まずは、通常のファイルシステムの場合でお答えしますDB容量は、[______________________________________]まず、このように全部で格納でいるファイルを作ります。そのデータファイルをまとめた入れ物...続きを読む他の回答も見るQDB2のコマンドラインexportで複雑なselectの指定は可能?オラクルだとspoolでselect文の出力結果をCSV形式等にして取得できるのですが、DB2で同じ事が可能かと調べてます。db2コマンドのexportを使えばできそうかと思うのですが、複雑なselect文の時にコマンドラインに全部書かなければならないのか、他に手段があるのか、悩んでいます。以下のファイル(hoge.txt)を作成する。hoge.txtでできます。windowsだと、db2コマンドウィンドウで、UNIX、Linuxなら、db2インスタンスユーザー等、db2コマンドが使える状態になっていないとできません。以下のファイル(hoge.txt)を作成する。hoge.txtでできます。作成したアプリケーション(SELECTを発行するだけ)が*LOCK開放待ち(?)でTimeOutが発生してしまいました。他のAPPがどうもテーブルロックをしていたらしいのです。どのAPPがいつからいつまでロックを掛けていたか?を調査する方法を教えて下さい。DB2のバージョンは8?OSはAIX5.x?詳しく教えてもらえない・・・(原因は不明)すいません。Aベストアンサーエラーの内容はSQL0911Nで理由コードは68ですか?であれば、ロック・タイムアウトが起きていることになります。他のAPPがテーブルロックをしていたというのは、予期しない動作なのでしょうか?もしロックエスカレーション(行ロックが表ロックに変換される)が起きているようであれば、MAXLOCKSやLOCKLISTを調整したほうが良いと思います。予期していない分離レベルでアプリケーションが動作しているため、不必要なロックを取得しているかもしれません。分離レベルはUR、CS、RS、RRのどれでしょうか。ちなみに分離レベルCS以上であればSELECTがLOCKWAITなのは正しい動きだと思いますよ。ここまで気になることをずらずらと書いてしまいましたが、以下本題に戻ります。ロックのことは通常ロック・スナップショットで調査します。sample断続的にこのコマンドを実行することで、ロックの動きがわかると思います。(なれないうちは大変だと思いますが。)エラーの内容はSQL0911Nで理由コードは68ですか?であれば、ロック・タイムアウトが起きていることになります。他のAPPがテーブルロックをしていたというのは、予期しない動作なのでしょうか?もしロックエスカレーション(行ロックが表ロックに変換される)が起きているようであれば、MAXLOCKSやLOCKLISTを調整したほうが良いと思います。予期していない分離レベルでアプリケーションが動作しているため、不必要なロックを取得しているかもしれません。_)mAベストアンサー(前にも回答したと思うのですが、入っていないようなので再度入力します)大小の比較をしたいのでしたら、DATE型を文字列にしても駄目で、文字列をDATE型に変換する必要があります。8文字で表された日付をDATE型に変換する関数はDB2には用意されていないので、自分で用意する必要があります。DATEとやればうまくいくのではないでしょうか。(前にも回答したと思うのですが、入っていないようなので再度入力します)大小の比較をしたいのでしたら、DATE型を文字列にしても駄目で、文字列をDATE型に変換する必要があります。8文字で表された日付をDATE型に変換する関数はDB2には用意されていないので、自分で用意する必要があります。(LENGTH(...続きを読む他の回答も見るQDB2でのシステム日付のinsert、updateについて。DB2で、システム日付のinsert、updateを行うSQLを作成したいのですが、どのようにしたら良いでしょうか?また、参考になるようなサイトなどありましたら教えてください。どなたか宜しくお願いします。Aベストアンサーそうですか・・・。WinXPProのCLPではうまくいっていますが・・・。no=1⇒SQL0408N(SQLSTATE=42821)エラーでした。dateそうですか・・・。WinXPProのCLPではうまくいっていますが・・・。no=1⇒SQL0408N(SQLSTATE=42821)エラーでした。no列はINTE...続きを読む他の回答も見るQDB2でのロックOracleで今まで開発しており今回始めてDB2での開発を行うものです。Oraleと同じロックのかけ方をDB2で行いたいのですが、どのように記述すればよろしいでしょうか。・コミットまたはロールバックを行うまでロックを保持するです。Committedですがトランザクション制御の実装の仕方が違います。DB2は検索時に共有ロックをかけます。読み取るデータが更新中の場合はすでにそのデータに排他ロックがかかっているので共有ロックをかけることができません。Oracleはマルチ・バージョン一貫性制御でUNDO表領域に保持された更新前の情報を読み込むので読み取るデータが更新中であっても検索処理が待たされることはありませんがDB2は更新中のデータに他クライアントはアクセスできないで検索処理が待たされます。Readでダーティー・リードを許す方法がありますが実用的なアプリケーションにあまり使用されません。ロック取得時間を短くするような排他制御のアプリケーション設計を行い検索処理と重複するタイミングを減らすことで回避するようにします。オプティミスティックロックの実装方法を用いるようになると思います。頻繁に複数ユーザーが同時に同一データを変更するようなシステムだと更新に失敗する確率が高くなり利便性が悪く場合があります。RS排他制御が必要な際はその都度、各SQL文にWITH句を用いて分離レベルを指定してください。カーソルオープン前に発行することでCOMMITかROLLBACK時までロックされた状態になります。ロック待機への対処も異なります。UPDATEにNOWAITオプションを指定しますがDB2ではNOWAITオプションに対応する機能をサポートしていません。ロック待機する時間をLOCKTIMEOUTパラメータで指定するしかありません。以上の辺を確認してみてください。Committedですがトランザクション制御の実装の仕方が違います。DB2は検索時に共有ロックをかけます。読み取るデータが更新中の場合はすでにそのデータに排他ロックがかかっているので共有ロックをかけることができません。reorgについての質問です。何もわからず、どのように対処すればよいのか全くわからないため、とても失礼な質問になっていると思いますが宜しくお願いいたします。現在、db2を使用していますが、あるテーブルの容量が逼迫しているため対処が必要になっています。空きページ数は広がらずREORGを使用してサイズの編集を行おうとしましたが、エラーとなってしまいました。"-289"が起きました。どのように対処すればよろしいでしょうか?本当に何もわからない初心者で申し訳ありませんが宜しくお願いいたします。AベストアンサーDB2には詳しくないですが・・・。DB2はオンラインマニュアルが公開されていますが、マニュアルを参照しましたか?意味としては、「REORGするには、空きスペースが足らない」といった意味のようです。参考URL(マニュアル)の60ページに、意味と対処方法が記載されています。参考URL:http://publibfp.boulder.ibm.com/epubs/pdf/c8885440.pdf他の回答も見るQSQL:TIMESTAMPの期間検索を指定するには?教えてください。SQL文で日付期間の検索をしたいです。データはTIMESTAMPで取得されています。日付値のストリング表記が間違っています。AベストアンサーDBMSはなんでしょう?とりあえずOracleの場合。'2004/09/03';ですね。v7を使用しています。select文で更新ロックをかけました。PreparedStatementとresultsetをcloseした後、同Connectionでupdate文をかけました。このとき、select文のロックがかかってるのかわかりませんが、エラーも出ずに更新ができませんでした。updateとしただけです。updateは普通にupdateを行いました。現在の状況としては、更新ロックがかかっているのかどうかわからないという状態です。そこで、(1)更新ロックがかかっているのかどうかを調べる方法があれば、その方法が知りたい。(2)更新ロックの解除の方法をしりたい。(3)select文で更新ロックをかけた場合の特別なupdateの方法が、その方法をしりたい。どなたかご存知のかたがいらっしゃいましたらご教授くださいますようよろしくお願いいたします。データベース名」とするとロックの一覧を参照できます。どのアプリケーションがどのようなロックを取得しているかがわかります。更新ロックを保持している間に他のコネクションから該当行(テーブルロックの場合は該当テーブル)に対して更新を行えないことで確認できます。この際にロックタイムアウトまでの待ち時間を無限に設定していると、いつまでたってもロック獲得待ちのままになります。(2)コミットまたはロールバックでロックは解除されます。このことはすべてのロックに関していえます。(3)特別な方法はありません。更新ロックを獲得した後は同一コネクションからであれば排他ロックを獲得できます(更新できます)。覚えていませんが、更新ロックに関してもロック保持期間が分離レベルで異なっていたような気がします。指定しなければ分離レベルはCS(ReadCommited)ですので、(コミットやロールバックを行わなくても)カーソルが離れた瞬間にロックが開放された気がします。データベース名」とするとロックの一覧を参照できます。どのアプリケーションがどのようなロックを取得しているかがわかります。更新ロックを保持している間に他のコネクションから該当行(テーブルロックの場合は該当テーブル)に対して更新を行えないことで確認できます。この際にロックタイムアウトまでの待ち時間を無限に設定していると、いつまでたってもロック獲得待ちのままになります。以下のURLが参考になると思います。Debian(stretch)のMariaD...14datetime型でNULL値を入れたい。テーブル内のレコード...6datetime型でNULL値を入れたい。Inc.Q質問する(無料)Q&A検索goo検索gooIDで新規登録・ログイン新規登録する(無料)会員の方はこちら外部サービスのアカウントで新規登録・ログインYahoo!で新規登録・ログインGoogleで新規登録・ログインTwitterで新規登録・ログインFacebookで新規登録・ログインdアカウントで新規登録・ログイン※各種外部サービスのアカウントをお持ちの方はこちらから簡単に登録できます。お客様の許可なしに外部サービスに投稿することはございませんのでご安心ください。会員でない方、会員になるとあなたも質問や回答ができるようになります!!親切・丁寧な回答が集まる場30分以内に回答がもらえ回答数は平均3件!匿名(ニックネーム)での投稿なので。