【まとめ】決定版!現場でよく使うDb2コマンド集

您所在的位置:网站首页 datapartitionname 【まとめ】決定版!現場でよく使うDb2コマンド集

【まとめ】決定版!現場でよく使うDb2コマンド集

#【まとめ】決定版!現場でよく使うDb2コマンド集| 来源: 网络整理| 查看: 265

はじめに

現場でDb2を使っており、よく使うコマンドを纏めました。

コマンド

架空でDB名などは以下としておきます。 DB名 :「QIITADB」 スキーマ名:「UPALLNIGHT」 テーブル名:「EXAMPLE」

用途 コマンド 使用例 DB接続 connect to DB名 connect to QIITADB DB切断  terminate  -  スキーマ設定  set schema スキーマ名  set schema UPALLNIGHT スキーマ参照  values(current schema)  -  日時変換  timestamp_format('値','日時書式')  select timestamp_format('2019/10/01 12:00:00','YYYY/MM/DD HH24:MI:SS') from EXAMPLE テーブル一覧  list tables for schema スキーマ名  list tables for schema UPALLNIGHT  テーブル構成参照  describe table テーブル名  describe table EXAMPLE テーブル構成コピー  create table 新テーブル名 as (select文) definition only  create table NEW_EXAMPLE as (select * from EXAMPLE) definition only  TRUNCATE  truncate table テーブル名 immediate  truncate table EXAMPLE immediate  Export  export to ファイル名 of del modified by timestampformat="日時書式" codepage=コードページ select文 export to File.csv of del modified by timestampformat="YYYYMMDDHHMMSS.UUUUUU" codepage=1208 select * from UPALLNIGHT.EXAMPLE Import(全データ削除)  import from /dev/null of del replace into テーブル名  import from /dev/null of del replace into UPALLNIGHT.EXAMPLE Import  import from ファイル名 of del modified by timestampformat="日時書式" codepage=コードページ delprioritychar 登録タイプ into テーブル名  import from File.csv of del modified by timestampformat="YYYYMMDDHHMMSS.UUUUUU" codepage=1208 delprioritychar insert into UPALLNIGHT.EXAMPLE インデックス確認  describe indexes for table テーブル名 show detail  describe indexes for table EXAMPLE show detail  シーケンス参照(現在値)  ①value(シーケンス名.PREVVAL)②value(previous value for シーケンス名)  ①value(EXAMPLE_SEQ.PREVVAL)②value(previous value for EXAMPLE_SEQ) シーケンス参照(次の値)  ①value(シーケンス名.NEXTVAL)②value(next value for シーケンス名)  ①value(EXAMPLE_SEQ.NEXTVAL)②value(next value for EXAMPLE_SEQ) シーケンス再設定  alter sequence シーケンス名 restart with 開始番号  alter sequence EXAMPLE_SEQ restart with 1  権限付与(表・ビュー・ニックネーム)  ①grant 表・ビュー・ニックネーム権限 on table テーブル名 to 権限単位 付与先②grant 表・ビュー・ニックネーム権限 on table テーブル名 to public ①grant select,insert,update,delete on table EXAMPLE to role EXAMPLE_ROL②grant select,insert,update,delete on table EXAMPLE to public 権限付与(シーケンス)  ①grant シーケンス権限 on sequence シーケンス名 to 権限単位 付与先②grant シーケンス権限 on sequence シーケンス名 to public  ①grant usage on sequence EXAMPLE_SEQ to role EXAMPLE_ROL②grant usage on sequence EXAMPLE_SEQ to public Runstats  runstats on table テーブル名 with distribution and detailed indexes all  runstats on table EXAMPLE with distribution and detailed indexes all  Reorg  reorg table テーブル名 [index インデックス名] reorg table EXAMPLE [index EXAMPLE_IND]  Reorgペンディング確認  select VARCHAR(TABSCHEMA,30) as TABSCHEMA, VARCHAR(TABNAME,30) as TABNAME, REORG_PENDING, NUM_REORG_REC_ALTERS from SYSIBMADM.ADMINTABINFO where REORG_PENDING = 'Y' -  Reorgペンディング解除  reorg table テーブル名 reorg table EXAMPLE Load  load from ファイル名 of del lobs from lobファイルディレクトリ名/ modefied by timestampformat="YYYYMMDDHHMMSS.UUUUUU" codepage=コードページ delprioritychar warningcount 1 messages メッセージファイル名 登録タイプ into テーブル名 copy yes to tmpディレクトリ名 nonrecoverable indexing mode incremental partitioned db config mode partition_and_load part_file_location パーティション作業用ディレクトリ/ output_dbpartnums(1 to 最大区分数) isolate_part_errs no_location  ①通常Loadload from File.csv of del modefied by codepage=1208 delprioritychar warningcount 1 messages ./log.txt insert into EXAMPLE copy yes to /work/loadtmp ②区分化Loadload from File.csv of del modefied by codepage=1208 delprioritychar warningcount 1 messages ./log.txt insert into EXAMPLE copy yes to /work/loadtmp indexing mode incremental partitioned db config mode partition_and_load part_file_location /data/work/ output_dbpartnums(1 to 18) isolate_part_errs no_location Loadペンディング確認  select TABSHEMA, TABNAME, STATUS, ACCESS_MODE from SYSCAT.TABLES where STATUS 'N' or ACCESS_MODE'F'  -  Loadペンディング解除  load from /dev/null of del terminate into テーブル名  load from /dev/null of del terminate into EXAMPLE  テーブル一括取得 select TABNAME from SYSCAT.TABLES where TYPE='T' and TABSCHEMA ='スキーマ名' order by TABSCHEMA,TABNAME select TABNAME from SYSCAT.TABLES where TYPE='T' and TABSCHEMA ='UPALLNIGHT' order by TABSCHEMA,TABNAME ビュー一括取得 select TABNAME from SYSCAT.TABLES where TYPE='V' and TABSCHEMA ='スキーマ名' order by TABSCHEMA,TABNAME select TABNAME from SYSCAT.TABLES where TYPE='V' and TABSCHEMA ='UPALLNIGHT' order by TABSCHEMA,TABNAME おまけ ・カタログとは??

DB2 が制御するデータに関する情報が格納されている表集合の総称。 カタログ・ビュー(SYSCAT、SYSSTAT ビュー)とテーブルの集合で構成されている。 カタログ・ビューには、表、ビュー、 索引など DB2 のオブジェクトに関する情報が含まれている。 オブジェクトを作成、変更、またはドロップすると、DB2では、カタログでそのオブジェクトを記述する行が挿入、更新、または削除される。 そのためカタログ・オブジェクトは自動的に更新されてデータベースの最新の状態が反映された状態になっている。

・一括件数取得 //テーブル一覧を取得し、変数に格納 tab_list=`db2 -x "select TABSCHEMA ||'.'|| TABNAME from SYSCAT.TABLES where TYPE='T' and TABSCHEMA ='UPALLNIGHT' order by TABSCHEMA,TABNAME"` //変数を元にすべてのテーブル件数を取得 date;for tab in ${tab_list};do db2 -x "select ${tab},count(1) from ${tab}";done;date //このパターンは、REORGやRUNTATS、データ削除にも利用可能 date;for tab in ${tab_list};do db2 -v "runstats on table ${tab} with distribuion and detailed indexes all;done;date ・Db2オプション

先頭のマイナス(-)はオプションをONへ、プラス(+)はオプションをOFFにする。

オプション 用途 -c 自動コミットON -e SQLCODEまたはSQLSTATEを表示 -f コマンド入力を標準入力ではなくファイルから読み取り -m INSERT/UPDATE/DELETE/MERGEの影響を受ける行数を表示 -o 出力データ及びメッセージを標準衆力に表示 -t セミコロンをステートメント終了文字として使用 -v コマンド・テキストを標準出力へエコー -x 列名などのヘッダーなしでデータを戻す -z すべての出力をファイルにリダイレクト ・コードページ種類

UTF-8 ⇒ 1208 SJIS ⇒ 943 load,imoportする際は、取り込みファイルの文字コードに合わせて指定する。 DBの文字コードを指定するのではない。

おわりに

Db2を使っている方はあまり聞いたことありませんが、少しでもお役に立てれば。 (ちなみにDb2の正式名称bは小文字です。DB2ではない。)

ご覧いただきありがとうございました!



【本文地址】


今日新闻


推荐新闻


CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3