Symfoware Certified Professional データベース V8

Similar documents
今さら聞けない!? Oracle入門 ~前編~

FUJITSU Software Systemwalker Centric Manager Lite Edition V13.5 機能紹介資料

PostgreSQL Plus 管理者ガイド

CLUSTERPRO MC ProcessSaver 1.2 for Windows 導入ガイド 第 4 版 2014 年 3 月 日本電気株式会社

CLUSTERPRO MC ProcessSaver 2.3 for Windows 導入ガイド 第 5 版 2018 年 6 月 日本電気株式会社

今さら聞けない!? Oracle入門 ~後編~

Systemwalker Network Assist V10.0/V11.0L10/11.0

Linkexpress トラブル初期調査資料 採取コマンド使用手引書

監査ログ分析機能 ソフトウェア説明書

Server Core適用ガイド

インストール手順書 Systemwalker for Symfoware Server Message Monitoring Tool 11.1

第 3 章 メディア障害とバックアップ リカバリ この章では メディア障害の発生に備えたバックアップ方法と 障害時の基本的なリカバリ方法につい て説明します 1. メディア リカバリ概要 2. ファイルの多重化 3. アーカイブ モードの設定 4. バックアップ概要 5. 一貫性バックアップ ( オ

CLUSTERPRO MC RootDiskMonitor 1.0 for Windows FAQ 集 2013(Mar) NEC Corporation 導入に関する質問 運用に関する質問 動作環境に関する質問

第 7 章 ユーザー データ用表領域の管理 この章では 表や索引を格納するユーザー データ用表領域の作成や 作成後のメンテナンスに ついて解説します 1. ユーザー データ用表領域の管理概要 2. ユーザー データ用表領域作成時の考慮事項 3. ユーザー データ用表領域の作成 4. ユーザー データ

PowerRW+からPowerRDBconnectorへの移行手引書


Microsoft Windows Internet Explorer は 米国 Microsoft Corporation の 米国およびその他の国における登録商標または商標です Linux は Linus Torvalds 氏の日本およびその他の国における登録商標または商標です Red Hat

Symfoware Server べからず集

プレポスト【問題】

Microsoft Windows Internet Explorer は 米国 Microsoft Corporation の 米国およびその他の国における登録商標または商標です Linux は Linus Torvalds 氏の日本およびその他の国における登録商標または商標です Red Hat

Veritas System Recovery 16 Management Solution Readme

FUJITSU Software Systemwalker for Oracle V15 (15.1) 紹介資料

Windows Server 2012/2012 R2 Active Directory環境へのドメイン移行の考え方

セットアップガイド

改版履歴 版数改版履歴改版年月日 1 新規作成 2013/3/29 2 TESTIO_MODE を追加 OVER_ACTION VG_STALL_ACTION の設定値を変更 2013/9/30 3 CLUSTERPRO MC StorageSaver for BootDisk (for Linux

1.SqlCtl クラスリファレンス SqlCtl クラスのリファレンスを以下に示します メソッドの実行中にエラーが発生した場合は標準エラー出力にメッセージを出力します (1)Connect() メソッド データベースへ connect 要求を行います boolean Connect(String

親指シフトキーボード(FMV-KB611)、JISキーボード(FMV-KB621)、FMV-LIFEBOOK(親指シフトキーボードモデル)をお使いになる方へ

"ソフトウェア カフェテリアサービス向けソフトウェア説明書

ESMPRO/JMSS Ver6.0

改版履歴 版数改版履歴改版年月日 1.0 新規作成 2013/03/ OverAction と DiskStallAction の値変更 (ActionNone ServiceCmdDisable ProcessOfRdmstatKillEnable ServiceCmdEnable)

Interstage Interaction Manager V9 Oracle Database 11g 適用手順書

マニュアル訂正連絡票

"ソフトウェア カフェテリアサービス向けソフトウェア説明書

Microsoft Word - nvsi_080188jp_r1_netvault_oracle_rac_backup_complemental_guide_j_174x217.doc

インストールガイド

使用する前に

はじめに コースの概要と目的 Oracle をより効率的に使用するための SQL のチューニング方法について説明します また 索引の有無 SQL の 記述方法がパフォーマンスにどのように影響するのかを実習を通して理解します 受講対象者 アプリケーション開発者 / データベース管理者の方 前提条件 S

改版履歴 版数改版履歴改版年月日 1.0 新規作成 2015/03/31 Page 2 NEC Corporation 2015

リレーショナルデータベース入門 SRA OSS, Inc. 日本支社 Copyright 2008 SRA OSS, Inc. Japan All rights reserved. 1

Calpont InfiniDBマルチUM同期ガイド

改版履歴 版数 改版日付 改版内容 /03/14 新規作成 2013/03まで製品サイトで公開していた WebSAM DeploymentManager Ver6.1 SQL Server 2012 製品版のデータベース構築手順書 ( 第 1 版 ) を本 書に統合しました 2

BOM for Windows Ver

ESMPRO/JMSS Ver6.0

CLUSTERPRO MC RootDiskMonitor 1.1 for Linux リリースメモ 2013(Sep) NEC Corporation ライセンス パッケージのインストール セットアップ マニュアル

Systemwalker Operation Manager V12.0L10/12.0 Firewall適用ガイド

Microsoft Windows Windows Server Internet Explorer は 米国 Microsoft Corporation の 米国およびその他の国における登録商標または商標です Oracle と Java は Oracle Corporation 及びその子会社 関

Oracle Database 監視製品の使い分け 2017 年 10 月日本電気株式会社クラウドプラットフォーム事業部 CLUSTERPROグループ

PowerPoint Presentation

Microsoft PowerPoint - MySQL-backup.ppt

ORACLE PARTITIONING

ystemwalker Operation Manager V12.0L10/12.1

トラブルシューティング集

Copyright 2007, 2008 Hewlett-Packard Development Company, L.P. Windows は米国 Microsoft Corporation の米国およびその他の国における登録商標です 本書の内容は 将来予告なしに変更されることがあります HP 製

作成日 :2017/03/29 ******************************************************************************* ** ** ** FUJITSU Cloud Service K5 ** ** ** ** ソフトウェアカフ

- 主な機能 - 設定機能キャッシュメモリをキャッシュセグメントに分割し 業務で使用する論理ディスクを割り付けるための設定を行います WebSAM istoragemanager のクライアント画面から操作が可能です キャッシュセグメント作成 削除機能キャッシュセグメントの作成 削除を可能にします

CLUSTERPRO MC RootDiskMonitor 1.0 for Windows インストールガイド 2013(Mar) NEC Corporation はじめに 製品導入の事前準備 本製品のインストール 本製品の初期設定 本製品のアンインストール

CLUSTERPRO MC StorageSaver 2.2 for Linux リリースメモ 2017(Apr) NEC Corporation ライセンス パッケージのインストール セットアップ マニュアル 補足事項 注意事項

Microsoft Word - ESX_Restore_R15.docx

ごあいさつ このたびは ESMPRO/AC Advance マルチサーバオプション Ver3.6(1 ライセンス ) をお買い上げ頂き 誠にありがとうございます 本書は お買い上げ頂きましたセットの内容確認 セットアップの内容 注意事項を中心に構成されています ESMPRO/AC Advance マ

CLUSTERPRO MC StorageSaver 1.1 for Linux リリースメモ 2015(Jun) NEC Corporation ライセンス パッケージのインストール セットアップ マニュアル 補足事項 注意事項

FUJITSU Software Systemwalker for ERPパッケージ ジョブ連携 V16.0 紹介資料

スライド 1

Microsoft Word - catalog_tpass43.doc

Microsoft Word - WE-InstMan382J sol.doc

CLUSTERPRO MC ProcessSaver 1.0 for Windows 構築ガイド 2012(Sep) NEC Corporation はじめに責任範囲適用範囲概要事前準備クラスタ設定

MxLogonサーバサイドツールキット用UI

istorage ReplicationControl SQL Option 製品概要 istorage ReplicationControl SQL Option は データレプリケーション機能 (DynamicDataReplication RemoteDataReplication) またはス

第 2 章 PL/SQL の基本記述 この章では PL/SQL プログラムの基本的な記述方法について説明します 1. 宣言部 2. 実行部 3. 例外処理部

ActiveImage Protector 2016 R2 for Express5800 / ftサーバ

CLUSTERPRO MC StorageSaver for BootDisk 1.2 (for Windows) インストールガイド 2014(Mar) NEC Corporation はじめに 製品導入の事前準備 本製品のインストール 本製品の初期設定 本製品のアンインストール

CLUSTERPRO MC ProcessSaver 2.1 for Linux リリースメモ 2016(Mar) NEC Corporation ライセンス パッケージのインスト ル セットアップ マニュアル 障害発生時の手順 補足事項 注意事項

親指シフトキーボード(FMV-KB611)、JISキーボード(FMV-KB621)、FMV-LIFEBOOK(親指シフトキーボードモデル)をお使いになる方へ

Cisco Prime LAN Management Solution 4.2 紹介資料

ソフト活用事例③自動Rawデータ管理システム

高速インメモリデータ管理ソフトウェア「Primesoft Server」ご紹介

Windows Server 2008/2008 R2 Active Directory環境へのドメイン移行の考え方

ユーティリティ 管理番号 内容 対象バージョン 157 管理情報バッチ登録コマンド (utliupdt) のメッセージ出力に対し リダイレクトまたはパイプを使用すると メッセージが途中までしか出 力されないことがある 267 転送集計コマンド (utllogcnt) でファイル ID とホスト名の組

内容 Visual Studio サーバーエクスプローラで学ぶ SQL とデータベース操作... 1 サーバーエクスプローラ... 4 データ接続... 4 データベース操作のサブメニューコンテキスト... 5 データベースのプロパティ... 6 SQL Server... 6 Microsoft

PGRelief C/C++ 強化ポイント説明書

Veritas System Recovery 16 Management Solution Readme

UEFI環境におけるWindows Serverバックアップのシステム回復手順

Copyright 2007, 2008 Hewlett-Packard Development Company, L.P. Windows は米国 Microsoft Corporation の米国およびその他の国における登録商標です 本書の内容は 将来予告なしに変更されることがあります HP 製

新製品 Arcserve Backup r17.5 のご紹介 (SP1 対応版 ) Arcserve Japan Rev. 1.4

はじめに コース概要と目的 Oracle を使用した開発 管理を行う上でのファースト ステップとして リレーショナル データベース管理ソフトウェアである Oracle の役割 基本機能 基本アーキテクチャを幅広く理解することを目的としています 受講対象者 これから Oracle を使用する方 データ

1. はじめに (1) 本書の位置づけ 本書ではベジフルネット Ver4 の導入に関連した次の事項について記載する ベジフルネット Ver4 で改善された機能について 新機能の操作に関する概要説明 ベジフルネット Ver4 プログラムのインストールについて Ver4 のインストール手順についての説明

改版履歴 版数改版内容 新規作成 i

無償期間中に Windows10 に アップグレードをお考えのお客様へ 現在 御太助.net で使用している SQL Server のバージョンは Windows10 ではその動作が保証されていません そのため 御太助.net を WIndows10 で使用するにあたっては SQL Server の

iNetSec Intra Wall マイグレーションキット ユーザーズガイド

CLUSTERPRO MC StorageSaver for BootDisk 2.1 (for Windows) インストールガイド 2016(Mar) NEC Corporation はじめに 製品導入の事前準備 本製品のインストール 本製品の初期設定 本製品のアンインストール

(2) [ バックアップツール ] が表示されます [1] [2] [3] [4] [5] [6] Windows Storage Server 2012 バックアップ手順 (V_01) < 画面の説明 > [1] バックアップ項目リスト登録されているバックアップセットの一覧です [2] 新規 ボタ

リリース情報

CLUSTERPRO MC ProcessSaver 2.1 for Windows 構築ガイド 2016(Mar) NEC Corporation はじめに 責任範囲 適用範囲 概要 事前準備 クラスタ設定

富士通Interstage Application Server V10でのOracle Business Intelligence の動作検証

Symantec Enterprise Vault 10.0 for Exchange の管理練習問題 例題 1. 最適化された単一インスタンスストレージ (OSIS) の主要な機能は次のどれですか (2 つ選択 ) a. Exchange SharePoint FSA アーカイブの間での共有 b.

winras.pdf

RDX へのバックアップ 3 ベアメタル復旧手順書 2014 年 11 月

Oracle Data Pumpのパラレル機能

CLUSTERPRO MC RootDiskMonitor 2.3 for Windows リリースメモ 2018(Jun) NEC Corporation はじめに ライセンス 動作要件 セットアップ マニュアル

動作環境 対応 LAN DISK ( 設定復元に対応 ) HDL-H シリーズ HDL-X シリーズ HDL-AA シリーズ HDL-XV シリーズ (HDL-XVLP シリーズを含む ) HDL-XV/2D シリーズ HDL-XR シリーズ HDL-XR/2D シリーズ HDL-XR2U シリーズ

第 2 版

Transcription:

Symfoware Certified Professional データベース V8 2007 年 1 月初版

All Rights Reserved, Copyright FUJITSU LIMITED 2007

Symfoware Certified Professional データベース V8 2007 年 1 月初版 富士通株式会社 All Rights Reserved, Copyright FUJITSU LIMITED 2007 All Rights Reserved, Copyright FUJITSU LIMITED 2007

All Rights Reserved, Copyright FUJITSU LIMITED 2007

はじめに 本書は Symfoware Certified Professional データベース V8 試験対策のために作成されたテキストです Interstage は 富士通株式会社の登録商標です Systemwalker は 富士通株式会社の登録商標です Microsoft Windows は 米国 Microsoft Corporation の米国およびそのほかの国における登録商標です Linux は Linus Torvalds の米国およびそのほかの国における登録商標または商標です UNIX は 米国およびそのほかの国におけるオープン グループの登録商標です IBM は IBM Corporation の米国およびその他の国における登録商標です Sun Sun Microsystems Solaris およびすべての Solaris に関連する商標は 米国およびそのほかの国における米国 Sun Microsystems, Inc. の商標または登録商標であり 同社のライセンスを受けて使用しています IBM は IBM Corporation の米国およびその他の国における登録商標です その他一般に 会社名 製品名は各社の商標または登録商標です 本資料では Solaris(TM) Operating System を Solaris と表記しています 本資料に記載されているシステム名 製品名などには 必ずしも商標表示 (TM ) を付記しておりません そのほか記載された会社名および製品名などは 該当する各社の商標または登録商標です 2007 年 1 月初版 All Right Reserved, Copyright FUJITSU LIMITED 2007 i

All Right Reserved, Copyright FUJITSU LIMITED 2007 ii

< 目次 > 第 1 章 Symfoware アーキテクチャ 1 1.1 データベースの構成 構造 2 1.1.1 ファイル構成 3 1.1.1.1 パラメタファイル 4 1.1.1.2 データベースファイル 5 1.1.1.3 制御ファイル 6 1.1.1.4 ログファイル 7 1.1.2 プロセス構成 8 1.1.3 メモリ構成 9 第 2 章 Symfoware データベース設計 11 2.1 データベース構造 12 2.2 論理構造 13 2.2.1 スキーマの設計 14 2.2.2 実表の設計 15 2.2.3 インデックスの設計 16 2.2.4 ビュー表の設計 17 2.3 格納構造 18 2.3.1 DSO/DSI 19 2.3.2 DSO と DSI の関係 20 2.3.3 格納構造の種類 21 2.3.3.1 実表の格納構造 22 2.3.3.2 インデックスの格納構造 23 2.4 物理構造 24 2.4.1 パーティショニング 25 2.4.2 マルチデータベーススペース 26 第 3 章 Symfoware データベース構築 27 3.1 実行環境の設定 28 3.1.1 Symfoware の動作環境 29 3.1.2 ディスク配置 30 3.2 システム環境の作成 31 3.2.1 カーネル編集 32 3.2.2 環境変数の設定 33 3.2.3 RDB 構成パラメタファイルの編集 34 3.2.4 動作環境ファイルの編集 35 3.2.5 ポート番号の定義 36 3.2.6 ログ環境の作成 37 3.2.7 RDB ディクショナリおよび RDB ディレクトリファイルの作成 38 3.3 データベースの作成 39 3.3.1 データベースの定義 40 3.3.2 データベースの創成 41 All Right Reserved, Copyright FUJITSU LIMITED 2007 iii

3.3.3 最適化情報の設定 42 3.3.4 データベース定義情報の保全 43 3.3.5 データベースのデータ退避 44 3.3.6 データベースの変更 45 3.3.7 データベースの削除 46 3.4 データベースのチューニング 47 3.4.1 共用バッファプール 48 3.4.1.1 共用バッファプールの開設と登録 49 3.4.1.2 DSI と共用バッファプールの対応関係の登録 50 3.4.2 性能情報の採取方法 51 第 4 章 Symfoware 運用管理 53 4.1 ログ運用 54 4.1.1 アーカイブログ運用 55 4.1.1.1 アーカイブログをバックアップしない運用 56 4.1.1.2 アーカイブログをバックアップする運用 57 4.1.2 スケーラブルログ運用 58 4.1.3 スケーラブルディレクトリ運用 59 4.2 バックアップ運用 60 4.2.1 データベースのバックアップ運用 61 4.2.1.1 データベース (DSI) のバックアップ 62 4.2.1.2 RDB ディクショナリのバックアップ 63 4.2.1.3 アーカイブログのバックアップ 64 4.2.1.4 アーカイブログの破棄 65 4.2.2 Advanced Backup Controller でのバックアップ運用 66 4.2.3 データベースのアンロード 67 4.3 リカバリ 68 4.3.1 データベースのリカバリ 69 4.3.1.1 データベース (DSI) のリカバリ 70 4.3.1.2 RDB ディクショナリのリカバリ 71 4.3.1.3 RDB ディレクトリファイルのリカバリ 72 4.3.2 Advanced Backup Controller でのリカバリ 73 4.3.3 データベースのロード 74 4.4 保守 運用 75 4.4.1 運用中の定義変更 76 4.4.1.1 列の追加 77 4.4.1.2 DSI の追加 78 4.4.1.3 DSI の分割値の変更 79 4.4.2 データベースの再配置 80 4.4.3 データベースの容量拡張 81 4.4.4 監査ログ制御 82 4.4.4.1 監査ログの取得 83 第 5 章 Symfoware 高可用性 85 5.1 高可用性 86 5.1.1 フェイルオーバ運用 87 All Right Reserved, Copyright FUJITSU LIMITED 2007 iv

5.1.1.1 フェイルオーバ運用の適用効果 88 5.1.2 ロードシェア運用 89 5.1.3 Connection Manager 90 5.1.3.1 ロードバランシング 91 5.1.3.2 コネクション自動切換え 92 5.1.3.3 コネクション自動削除 93 付録 付録 1 用語集 95 付録 2 模擬問題 122 付録 2-1 解答用紙 135 付録 2-2 出題範囲 136 付録 2-3 正解表 136 付録 2-4 模擬問題と解説 137 All Right Reserved, Copyright FUJITSU LIMITED 2007 v

All Rights Reserved, Copyright FUJITSU LIMITED 2007

All Rights Reserved, Copyright FUJITSU LIMITED 2007 1 第 1 章 Symfoware アーキテクチャ

1.1 データベースの構成 構造 ファイル構成 プロセス構成 メモリ構成 All Rights Reserved, Copyright FUJITSU LIMITED 2007 2 Symfoware のアーキテクチャについて 説明します All Rights Reserved, Copyright FUJITSU LIMITED 2007 2

1.1.1 ファイル構成 パラメタファイル 制御ファイル システム用の動作環境ファイル RDB ディショナリ RDB 構成パラメタファイル クライアント用の動作環境ファイル データベースファイル サーバ用の動作環境ファイル ユーザロググループ用 RDB ディレクトリファイル データベース管理用 RDB ディレクトリファイル RDB ディクショナリ用 RDB ディレクトリファイル ログファイル ロググループ管理ファイル ログ管理ファイル データベーススペース 監査ログデータベース ソート作業域 テンポラリログファイル (BI ログ域 ) テンポラリログファイル (AI ログ域 ) テンポラリログファイル ( ログインデックス域 ) アーカイブログファイル All Rights Reserved, Copyright FUJITSU LIMITED 2007 3 ファイル構成 Symfowareは データベースを制御および格納するファイルから構成されています All Rights Reserved, Copyright FUJITSU LIMITED 2007 3

1.1.1.1 パラメタファイル パラメタファイル RDB ディレクトリファイル ログ管理ファイル システム用の動作環境ファイルなどの配置先を記載 RDB 構成パラメタファイル システム用の動作環境ファイル クライアント用の動作環境ファイル サーバ用の動作環境ファイル All Rights Reserved, Copyright FUJITSU LIMITED 2007 4 パラメタファイルには以下のものがあります RDB 構成パラメタファイル RDB 構成パラメタファイルは RDB ディレクトリファイルの配置先など Symfoware の動作を規定する各種情報が格納されたファイルです このファイル内の情報は 利用者が Symfoware の動作環境を定義する時に編集され RDB コマンドによる Symfoware の起動時に参照されます 動作環境ファイル アプリケーションを実行する時の動作環境をチューニングするための情報が格納されたファイルです 動作環境ファイルは 以下の 3 種類があります システム用 : Symfoware 環境の標準となる動作環境を設定する場合に作成します Symfoware 全体の動作環境のチューニングに使用します クライアント用 : アプリケーションごとに動作環境をチューニングする場合に利用します リモートアクセスのための情報もこのファイルに設定するため リモートのデータベースにアクセスする場合は 必ず作成します ただし ODBC や JDBC によりリアクセスする場合はデータソース等を利用します サーバ用 : アプリケーションの動作環境をコネクションごとにチューニングする場合に利用します All Rights Reserved, Copyright FUJITSU LIMITED 2007 4

1.1.1.2 データベースファイル データベースファイル RDB ディクショナリ RDB ディクショナリの配置先は 作成時に指定 データベーススペース 監査ログデータベース データベーススペースの配置先は 作成時に指定 ソート作業域 All Rights Reserved, Copyright FUJITSU LIMITED 2007 5 データベースファイルには以下のものがあります RDBディクショナリ RDBディクショナリには 利用者が作成したデータベースに関する以下の情報が格納されます データベースの論理構造に関する情報( 表名 列名 列のデータ型など ) データベースの格納構造に関する情報(BTREEやSEQUENTIALといった構造情報 割り当てたデータベーススペースの情報など ) データベースの物理構造に関する情報( データベーススペースの獲得先ローデバイス名など ) データベーススペースデータベーススペースには 利用者が作成するデータが格納されます Symfowareにおけるデータベースは 論理構造 格納構造および物理構造の3つから構成されており そのうち実際にデータを格納する物理構造としてデータベーススペースを定義します データベーススペースを作成する場合には 磁気ディスクへのI/O 負荷のバランスが最適となるように配慮する必要があります 監査ログデータベース監査ログデータベースには 管理者や利用者のデータベース処理を追跡するための情報が格納されます ソート作業域データベースの作成 データベースの更新およびリカバリを行う場合などに SQL 文やRDBコマンドが作業用として使う領域です All Rights Reserved, Copyright FUJITSU LIMITED 2007 5

1.1.1.3 制御ファイル 制御ファイル ユーザロググループ用の RDB ディレクトリファイル ロググループ管理ファイル データベース管理用 RDB ディレクトリファイル RDB ディクショナリ管理用 ログ管理ファイル All Rights Reserved, Copyright FUJITSU LIMITED 2007 6 制御ファイルには以下のものがあります RDB ディレクトリファイル RDB ディレクトリファイルには データベースをアクセスするための情報や 現在の運用情報などが記憶されます RDB ディレクトリファイルには 利用者のデータベースを管理するためのディレクトリファイルと RDB ディクショナリを管理するためのディレクトリファイルの 2 種類があります RDB ディレクトリファイルは RDB コマンドにより作成されます ユーザロググループ用の RDB ディレクトリファイル スケーラブルディレクトリ運用を行う場合は ユーザロググループごとに RDB ディレクトリファイルを作成します ログ管理ファイルテンポラリログファイルやアーカイブログファイルの配置位置や 現在使用中のアーカイブログファイルの情報を保持するためのファイルです ログ管理ファイルは RDBコマンドにより作成されます ロググループ管理ファイルログ管理ファイルの配置の情報を保持するためのファイルです スケーラブルログ運用を行う場合に必要となるファイルです ロググループ管理ファイルは RDBコマンドにより作成されます All Rights Reserved, Copyright FUJITSU LIMITED 2007 6

1.1.1.4 ログファイル ログファイル テンポラリログファイル (BI ログ域 ) テンポラリログファイル (AI ログ域 ) テンポラリログファイル ( ログインデックス域 ) アーカイブログファイル ROLLBACK 文の実行 ダウンリカバリに使用 メディアリカバリに使用 All Rights Reserved, Copyright FUJITSU LIMITED 2007 7 トランザクションのログを記録するためのログファイルには以下のものがあります テンポラリログファイル テンポラリログファイルには トランザクションの更新履歴が収集されます 更新履歴には データの更新前の情報と更新後の情報があります 更新前(BIログ域): トランザクションのロールバック時およびSymfowareのダウン後のダウンリカバリ処理に使用されます 更新後(AIログ域): Symfowareのダウン後のダウンリカバリ処理に使用されます ログインデックス域: ログの索引としての情報を管理します テンポラリログファイルは rdblogコマンドにより作成されます アーカイブログファイルアーカイブログファイルは メディアリカバリに備えて トランザクションの更新履歴を保存するファイルです アーカイブログファイルは複数用意し 循環して使用します アーカイブログファイルは rdblogコマンドにより作成されます All Rights Reserved, Copyright FUJITSU LIMITED 2007 7

1.1.2 プロセス構成 アプリケーションアプリケーション ( ( サーバ内サーバ内 ) ) データベース用プロセスデータベース用プロセス 通信バッファ 監視 監視用プロセス監視用プロセス 共用バッファ データベース アプリケーションアプリケーション ( ( リモートリモート ) ) ソートメモリ ワークメモリ ソート作業域 ログバッファ (BI) テンポラリ ログファイル ログバッファ (AI) アーカイブ ログファイル All Rights Reserved, Copyright FUJITSU LIMITED 2007 8 データベース用プロセスデータベース用プロセスは Symfowareプロセスとして サーバシステム上に存在しています 代表的なメモリには以下があります 共用バッファを利用して データベースの入出力を行います ソートメモリ ワークメモリは SQLのソートおよび作業用のメモリです メモリに収まらない場合は 本メモリを通じてソート作業域の入出力を行います 更新前(BI) ログバッファ 更新後 (AI) ログバッファによりログファイルの入出力を行います 通信バッファは サーバ内のアプリケーション( アプリケーションプログラムやrdbコマンド ) との間で通信を行います このバッファは共用メモリ上に獲得します Symfowareは マルチスレッド構成ですべての処理を行っています Symfowareは OSの64ビット論理空間および32ビット論理空間で動作可能です また クライアントアプリケーションも同様に OSの64ビット論理空間および32ビット論理空間で動作可能です 監視用プロセス監視用プロセスは以下の処理を行っています データベース用プロセスが停止していないか データベース用プロセスがループ処理など異常な状態になっていないか アプリケーションサーバシステム上のアプリケーションやrdbコマンドで 共用メモリの通信バッファを利用します リモートのアプリケーションはネットワークプロトコルを通じて通信します All Rights Reserved, Copyright FUJITSU LIMITED 2007 8

1.1.3 メモリ構成 共用メモリ (RDB 構成パラメタファイル ) 共用バッファ (RDB 構成パラメタファイルまたはRDBコマンド ) RDBディクショナリのメモリ常駐 (RDB 構成パラメタファイルまたはRDBコマンド ) 通信バッファ ( システム用の動作環境ファイル ) 接続単位のバッファ DSI のメモリ常駐 (RDB コマンド ) ログバッファ (RDB 構成パラメタファイル ) AI BI 接続単位のバッファ DSI DSI ソート ワーク域 ( 動作環境ファイル ) その他 アプリケーションの使用メモリ データベースアクセスの使用メモリなど All Rights Reserved, Copyright FUJITSU LIMITED 2007 9 共用メモリ Symfoware が プロセス外との情報交換のために使用する共用メモリです RDB 構成パラメタファイルで指定します 通信バッファ Symfoware のプロセスとローカルに接続するアプリケーションや RDB コマンドの間での情報交換を行うためのメモリです システム用の動作環境ファイルで指定します ローカルメモリ Symfoware が 1 つのプロセスのみで使用するメモリ領域です 共用バッファ 共用バッファは 複数のアプリケーションでデータを共用するためのバッファです RDB ディクショナリのメモリ常駐 (Symfoware Server Enterprise Extended Edition のみ ) RDBディクショナリをメモリに常駐させる場合に使用するメモリ領域です RDB 構成パラメタファイルで指定する方法とRDBコマンドにより指定する方法があります DSIのメモリ常駐 (Symfoware Server Enterprise Extended Edition のみ ) DSIをメモリに常駐させる場合に 使用するメモリ領域です RDBコマンドにより指定されます ログバッファテンポラリログファイルの構成ファイルであるAIログ域およびBIログ域にログデータを書き出すためのバッファです RDB 構成パラメタファイルで指定します ソート ワーク域ソートメモリおよびワークメモリ領域です その他アプリケーションで使用するメモリやデータベースアクセスの際に使用するメモリが必要です All Rights Reserved, Copyright FUJITSU LIMITED 2007 9

MEMO All Rights Reserved, Copyright FUJITSU LIMITED 2007 10

All Rights Reserved, Copyright FUJITSU LIMITED 2007 11 第 2 章 Symfoware データベース設計

2.1 データベース構造 データベースデータベース 論理構造論理構造 実表 ビュー表 スキーマ 格納構造格納構造 表 DSO 表 DSI インデックス DSO インデックス DSI 物理構造物理構造 データベーススペース 実データ 実データ All Rights Reserved, Copyright FUJITSU LIMITED 2007 12 以下に Symfoware のデータベースの構成要素について説明します 論理構造 データベース構造を論理的に定義した構造です スキーマ 実表およびビュー表などから構成されます 論理構造で定義したスキーマ 実表およびビュー表は SQL 文を使用してアプリケーションから操作できます 格納構造データベースにデータを格納するための記憶構造です 格納構造には以下の項目があります 表のデータを格納するための記憶構造 インデックスの定義およびインデックスの記憶構造 表を複数の運用単位に分割して運用する( パーティション ) ための構造 記憶構造を実際のスペース( 物理構造 ) に割り当てる記憶ファイル格納構造は 論理構造で定義した実表に対するデータの記憶構造を定義する 実表やインデックスのDSO と 実表やインデックスと格納先のデータベーススペースとの対応づけを定義したDSIで構成されます 物理構造 データを実際に格納する領域をデータベーススペースといいます データベーススペースは名前を持ち 一つのデータベーススペースは一つのローデバイスまたはファイルで構成されます All Rights Reserved, Copyright FUJITSU LIMITED 2007 12

2.2 論理構造 スキーマの設計 実表の設計 インデックスの設計 ビュー表の設計 All Rights Reserved, Copyright FUJITSU LIMITED 2007 13 論理構造は データベース構造を論理的に定義した構造です All Rights Reserved, Copyright FUJITSU LIMITED 2007 13

2.2.1 スキーマの設計 スキーマ :ST スキーマ :STINF ST. 倉庫表 ST. 会社表 STINF. 倉庫表 ST. 在庫表 ST. 日別発注表 STINF. 商品表 STINF. 販売表 ST. 高額発注表 ST. 発注表 ST: 発注トリガ STINF. 売上表 ( ビュー ) ST. 製品リスト ( 一時表 ) ST:PLST( ストアドプロシジャ ) All Rights Reserved, Copyright FUJITSU LIMITED 2007 14 スキーマは 表のデータおよび表の定義データから構成されます スキーマは スキーマ名により管理され 1 つのデータベースに対して複数個作成することができます スキーマをどのような実表で構成するかについては データベースを使用する業務の内容 処理するデータの内容およびデータの処理方法を考慮して決める必要があります スキーマの構成は スキーマ定義 (CREATE SCHEMA 文 ) で定義します スキーマ名スキーマには名前を付けます これをスキーマ名と呼びます スキーマ名はSQL 文において実表やビュー表などスキーマ名の構造要素を修飾する名前として使用します All Rights Reserved, Copyright FUJITSU LIMITED 2007 14

2.2.2 実表の設計 表名 列名 販売表 販売日 販売店 製品番号 個数 売上金額 20060515 ロンドン 0291 7 630,000 20060517 東京 0730 18 5,400,000 20060601 シドニー 0189 3 600,000 All Rights Reserved, Copyright FUJITSU LIMITED 2007 15 実表は列と行から構成されます 1 行のデータはいくつかの列から構成され 列がデータ項目に該当します 実表をどういうデータ項目から構成するかは 表定義 (CREATE TABLE 文 ) で定義します 表名 ( 実表名 ) 表名 ( 実表名 ) は データ操作の対象とする実表を指定する場合に使用します 列定義 実表を構成する列については 以下の定義があります 列名 : データ操作で処理の対象とする列を指定する場合に列名を使用します 列のデータ型 : 各列のデータには 文字列型 数値型などの型があります 列の既定値 : 列のデータが省略された場合に設定される値を定義します 列の制約定義 : 表作成上の列の制約条件を定義します All Rights Reserved, Copyright FUJITSU LIMITED 2007 15

インデックスの仕組み 2.2.3 インデックスの設計 在庫表インデックス 製品番号 123 を検索 在庫表 製品番号 110 111 123 : ポインタ 1 9 6 : ポインタ 6 をもとに 6 行目に製品番号が 123 のデータが存在することがわかる 製品番号 110 227 124 140 212 123 : 製品名テレビ冷蔵庫洗濯機 DVDデッキ MDラジカセ冷蔵庫 : 在庫数量 85 15 75 120 0 60 : 倉庫番号行 2 1 1 2 1 3 2 4 2 5 1 6 : : All Rights Reserved, Copyright FUJITSU LIMITED 2007 16 インデックスの構造インデックスは インデックスを付加する列 ( キーと呼びます 上図では 製品番号 ) の値を値の順番にソートして並べておき この値に対応した表の行の行識別子 ( ポインタ ) をベアで作成したものです インデックスのキーの値 ( 例 KEYCOL=100) またはキーの値の範囲 ( 例 :KEYCOL BETWEEN 100 AND 200) に対応する行の識別子からダイレクトに表の行を取出すことができます この仕組みにより 効率的な検索が可能になります データを操作する場合 一般に 表の列データを検索キーとしたデータ検索を伴います したがって データ検索効率がデータ操作効率を決める重要な要素となります インデックスは 表の列ごとに指定することができます また 複数の列を結合して1つのインデックスとして指定することもできます インデックスを作成していない列の条件検索は 表の全件検索となります そのため データ検索のキーとなる列には インデックスを作成する必要があります ただし インデックスを作成するとその分だけデータベース容量が余分に必要になります データベーススペースの大きさを決める場合には インデックスに必要なデータベース容量も考慮する必要があります インデックス定義は 格納構造定義文で定義します 格納構造はBTREEです インデックスは実表の列に対して定義します ビュー表に対しては定義できません インデックス定義は スキーマ定義以降 データベースにデータを格納する前に行います しかし データベース創成またはデータ操作によってデータベースにデータを格納した後に インデックスを定義することも可能です インデックスの個数インデックスを作成した方が データの検索処理性能は向上しますが 逆にインデックスを構成する列の更新または行の追加によって インデックスのデータを更新する必要があります この結果 インデックスの増加にともないインデックスの更新処理が性能に影響をおよぼすようになります インデックスは 条件を限定する列や結合カラムの条件に利用する列等必要最小限の列に付加することが重要です All Rights Reserved, Copyright FUJITSU LIMITED 2007 16

販売日 販売店 20061209 ロンドン 20060916 東京 20061201 シドニー 複数の表を関連づけたビュー表の例 商品 ID 0H05 0C05 0B30 個数 7 12 3 2.2.4 ビュー表の設計 販売表 ( 実表 ) 商品表 ( 実表 ) 売上金額 400,000 200,000 600,000 商品 ID 0G04 0803 0A91 0B30 0H05 0V89 0Y05 0C05 0J06 0K03 商品名冷蔵庫乾電池プラズマテレビ液晶テレビ洗濯機パソコンマウスファンヒータクーラー扇風機 売単価 売上数 200,000 9 100 50 10 4 70,000 120 200,000 82 3,000 60 20,000 13 4 10,000 2 在庫数 倉庫 ID 入荷日 6 001 20061031 30 003 20060608 2 004 20061101 15 001 20061202 23 003 20060901 40 002 20061001 200 005 20060401 65 005 20061121 5 002 20060921 2 004 20060921 売上表 ( ビュー表 ) 売上表 ( ビュー表 ) 販売日 20061209 20060916 20061201 販売店シドニーロンドン東京 商品 ID 0B30 0H05 0C05 販売表と商品表を結合して売上表というビュー表を作る 商品名液晶テレビ洗濯機ファンヒータ 売単価 70,000 20,000 個数 3 7 12 売上金額 600,000 400,000 200,000 平均値引率 18.0 16.0 All Rights Reserved, Copyright FUJITSU LIMITED 2007 17 ビュー表 データベースのデータを検索する場合には 多くの条件を組み合わせたり複数の表を結合して検索する場合があります すると SELECT 文が長く複雑になってしまいます このような場合に 共通的な条件や結合の指定をビューに記述しておき SQL 文には追加の条件のみを記述することによって SQL 文の記述を簡略化できます また セキュリティの観点から 表の一部の列を隠蔽したいが その一部の列以外の列は 公開したいという場合があります このような場合 ビューを使用すると 目的にあった検索をすることができます ビュー表はデータ操作のための仮想的な表であり データの実体は存在しません ビュー表作成しておいても データ検索速度は速くなりません ビュー表を削除 (DROP) した場合 元の表に影響はありません ビュー表の定義は ビュー定義 (CREATE VIEW 文 ) で行います 表名 ( ビュー表名 ) ビュー表の名前を定義します 列名ビュー表の列の名前を定義します ビュー表の列および行の定義実表またはビュー表のどの部分をビュー表とするかを定義します 注意点ビュー表は簡易的な利用ができ便利な反面 下記の注意も必要です ビュー表としての実体( スペース ) をもちません SQLの実行毎に動的にビュー表が元の表より導出されます このためビューを表から取出す処理時間がビュー表に対するSQL 文での操作毎に必要になります ビュー表に対してインデックスは作成できません 実表からのデータ抽出 SQL 文に 以下の条件で作成されたビューは ビュー表からデータの更新はできません - GROUP BY 句を使用している - DISTINCTを使用している - 合計または 平均値を算出する関数を使用している - 複数表を関連付ける条件を指定している All Rights Reserved, Copyright FUJITSU LIMITED 2007 17

2.3 格納構造 DSO/DSI DSO と DSI の関連 格納構造の種類 All Rights Reserved, Copyright FUJITSU LIMITED 2007 18 格納構造は データベースにデータを格納するための記憶構造です 格納構造には以下の項目があります 表のデータを格納するための記憶構造 インデックスの定義およびインデックスの記憶構造 表を複数の運用単位に分割して運用する( パーティション ) ための構造 記憶構造を実際のスペース( 物理構造 ) に割り当てる記憶ファイル 格納構造は 論理構造で定義した実表に対するデータの記憶構造を定義する 実表やインデックスのDSOと 実表のデータを格納する領域を データベーススペースに割付けるための記憶ファイルを定義したDSIで構成されます DSO ( Date Structure Organization ) DSI ( Data Structure Instance ) 格納構造の 2 つの要素とその対応関係について 以降で説明します All Rights Reserved, Copyright FUJITSU LIMITED 2007 18

2.3.1 DSO/DSI 格納構造は 以下の 2 つにより構成されます DSO DSO は 実表に対してそのデータの記憶構造を定義します DSI DSI は 実表のデータを格納する領域を データベーススペースに割付けるための記憶ファイルを定義します All Rights Reserved, Copyright FUJITSU LIMITED 2007 19 DSO は 実表に対してそのデータの記憶構造を定義します DSO には 以下があります 表の DSO 表の DSO は データを格納するための格納構造の種類や データを分割して格納する場合の分割方法を定義します インデックスの DSO インデックスの DSO は 表に対してどのような列にインデックスを作成するのかを定義します DSI は 実表のデータを格納する領域を データベーススペースに割付けるための記憶ファイルを定義します DSI には 以下があります 表の DSI 表の DSI は データを格納する領域を データベーススペースに割り付けるために定義します インデックスの DSI インデックスの DSI は 表に付加するインデックスのデータを格納する領域を データベーススペースに割り付けるために定義します All Rights Reserved, Copyright FUJITSU LIMITED 2007 19

2.3.2 DSO と DSI の関係 DSO:DSI=1:1 の場合 DSO:DSI=1:n の場合 実表 DSO DSI 実表 DSO DSI DSI 表 DSI に対応するインデックス DSI が必ず存在する インデックス DSO DSI DSI 実表 DSO DSI DSI All Rights Reserved, Copyright FUJITSU LIMITED 2007 20 表のデータを分割して格納しない場合 DSOとDSIの関係は1: 1になります 表のデータを分割して格納する場合 DSOとDSIの関係は1:nになります インデックスのDSIは 表のDSIに対して定義します 表のデータを分割して格納する場合には それぞれの表の DSIに対して インデックスのDSIを定義する必要があります All Rights Reserved, Copyright FUJITSU LIMITED 2007 20

2.3.3 格納構造の種類 実表の格納構造 インデックスの格納構造 All Rights Reserved, Copyright FUJITSU LIMITED 2007 21 格納構造には SEQUENTIAL 構造 RANDOM 構造 OBJECT 構造および BTREE 構造があります SEQUENTIAL 構造 RANDOM 構造および OBJECT 構造は 表に対する格納構造として使用します BTREE 構造は インデックスに対する格納構造として使用します インデックスは 実表の格納構造の種類とは関係なく 設定することができ データの検索条件に応じて 1 つの実表に複数設定することができます All Rights Reserved, Copyright FUJITSU LIMITED 2007 21

2.3.3.1 実表の格納構造 SEQUENTIAL 構造 RANDOM 構造 OBJECT 構造 A B C バイナリデータ A B C ハッシュ関数 A B C A C B All Rights Reserved, Copyright FUJITSU LIMITED 2007 22 実表の格納構造はデータベースのアクセスの特性から 以下の格納構造のうちどれか 1 つを選択できます SEQUENTIAL 構造 SEQUENTIAL 構造は データを順次格納する構造です RANDOM 構造 RANDOM 構造は データに対して そのキーとなる列の組の値から格納するページ ( これをバケットと呼びます ) を計算し 格納する構造です OBJECT 構造 OBJECT 構造は XMLデータおよび写真などのバイナリデータを格納する専用の構造です OBJECT 構造はアーカイブログの適用ができません 現在はSEQUENTIAL 構造でもバイナリデータが格納可能に拡張され SEQUENTIAL 構造がバイナリデータ格納に利用可能なためOBJECT 構造は過去バージョンとの互換のために存在しています All Rights Reserved, Copyright FUJITSU LIMITED 2007 22

2.3.3.2 インデックスの格納構造 SELECT 氏名 FROM 従業員表 検索対象列 検索対象の表 WHERE 所属 = 研究部 探索条件 研究部に所属する従業員の氏名を知りたい 主キー インデックス 従業員番号 氏名 所属 入社日付年齢 6500101 山田 一郎 開発部 650401 60 6500102 森田 太郎 経理部 650401 48 7202555 川上 五郎 研究部 750401 39 8904123 高山 二郎 人事部 890401 23 表名 : 従業員表 All Rights Reserved, Copyright FUJITSU LIMITED 2007 23 Symfoware は インデックスを BTREE 構造の索引手法で実現します インデックスは 実表の格納構造の種類とは関係なく 設定することができ データの検索条件に応じて 1 つの実表に複数設定することができます インデックスの設定が効果的なデータ操作の例について 以下に示します この例では 分かりやすくするために単一行 SELECT 文の例で説明しています All Rights Reserved, Copyright FUJITSU LIMITED 2007 23

2.4 物理構造 パーティショニング マルチデータベーススペース All Rights Reserved, Copyright FUJITSU LIMITED 2007 24 物理構造は データベースのデータを格納するデータベーススペースの構造です データベーススペースは データベースのための磁気ディスク内の領域で ローデバイス ローカルファイルおよびネットワークファイル上に定義します また データベースは 1 個のスキーマの実表データまたはインデックスデータを複数個のデータベーススペースに分けて格納することができます データベーススペースは データベーススペース定義文 (CREATE DBSPACE 文 ) で定義します Symfowareでは 処理効率 格納効率および運用を考慮した構造になっています 主に以下の2つの機能を利用することができます パーティショニング マルチデータベーススペース All Rights Reserved, Copyright FUJITSU LIMITED 2007 24

2.4.1 パーティショニング 論理構造格納構造物理構造 データベーススペース 1 DSI 営業店新宿店新宿店 : 渋谷店渋谷店 : 銀座店銀座店 担当 0101 0103 0201 0202 0501 0502 顧客コード 10012121 10022344 20025670 20041341 50005678 50021332 DSO DSI DSI データベーススペース 2 データベーススペース 3 All Rights Reserved, Copyright FUJITSU LIMITED 2007 25 パーティショニング規則に基づいて 1つの表を複数に分割することにより 分割単位ごとの独立運用が可能となります All Rights Reserved, Copyright FUJITSU LIMITED 2007 25

2.4.2 マルチデータベーススペース 実表 DSO DSI ( データ格納領域 ) データベーススペースデータベーススペースデータベーススペース All Rights Reserved, Copyright FUJITSU LIMITED 2007 26 マルチデータベーススペース 1つの実表やインデックスを複数のデータベーススペースに割りつけることができます 複数のデータベーススペースに割りつけることにより 1つのデータベーススペースの容量を超える実表や2 次インデックスに対応することができます これをマルチデータベーススペースと呼びます All Rights Reserved, Copyright FUJITSU LIMITED 2007 26

All Rights Reserved, Copyright FUJITSU LIMITED 2007 27 第 3 章 Symfoware データベース構築

3.1 実行環境の設定 Symfoware の動作環境 ファイルのディスク配置 All Rights Reserved, Copyright FUJITSU LIMITED 2007 28 Symfoware を動作させるために 動作環境およびディスクの配置を決定する必要があります Symfoware の動作環境 ディスク配置 All Rights Reserved, Copyright FUJITSU LIMITED 2007 28

カーネル資源 共用メモリ 3.1.1 Symfoware の動作環境 Symfoware 資源 RDB 構成パラメタファイル セマフォ RDB ディレクトリファイル 1 RDB ディレクトリファイル 2 ログ管理ファイル メッセージキュー RDB ディクショナリ 動作環境ファイル システム用 データベース RDB ディクショナリ ログファイル サーバ用 クライアント用 データベーススペース テンポラリログファイル アーカイブログファイル 退避ディスク All Rights Reserved, Copyright FUJITSU LIMITED 2007 29 マルチRDB 運用 Symfowareでは 動作環境 ( インスタンス ) に8バイト以内の先頭が英字の英数字の名前を付けて運用します 動作環境に名前を付けることによって それぞれの環境を区別することができ サーバ上に 複数の動作環境を作成して運用することができます 動作環境を区別するために付けた名前を RDBシステム名といいます この運用を マルチRDB 運用といいます 動作環境が一つだけの場合でも 動作環境に名前を付けることを推奨します シングルRDB 運用動作環境 ( インスタンス ) に名前を付けなくても運用することができます この運用を シングルRDB 運用といいます ただし シングルRDB 運用では利用できない機能があります All Rights Reserved, Copyright FUJITSU LIMITED 2007 29

3.1.2 ディスク配置 RDBディレクトリファイル1 論理ボリューム 1 論理ボリューム 2 アーカイブログファイル RDB ディレクトリファイル 2 ログ管理ファイル RDB ディクショナリ テンポラリログファイル (BIログ域) テンポラリログファイル (AIログ域) テンポラリログファイル ( ログインデックス域 ) 論理ボリューム 3 論理ボリューム 4 バックアップ データベーススペース データベーススペース バックアップ 作業域ファイル All Rights Reserved, Copyright FUJITSU LIMITED 2007 30 Symfoware 資源のディスク配置の考え方 危険分散復旧の対象となるファイルと 復旧するために使用する資源は別論理ボリュームに配置する必要があります 負荷分散同時に論理ボリュームへの I/O が発生する可能性がある資源は 同じ論理ボリューム上に配置すると 競合による性能の劣化が発生するため 分散して配置する必要があります Symfoware 資源の配置は 危険分散と負荷分散を考慮する必要があります Symfoware 資源の論理ボリューム配置の注意点は以下のとおりです RDB ディレクトリファイル テンポラリログファイルと同じ論理ボリュームに配置するデータベースは アクセス負荷の低いものとします アーカイブログファイルと同じ論理ボリュームにはデータベースを配置しない 配置する場合は 次のデータベースとします - データを退避した時点に復旧できればよいデータベース - 一時的なデータベース ( 異常時はデータが失われてもよいデータベース ) - インデックスだけを配置したデータベース ( インデックスは表から復旧できるため ) データベースを配置する各論理ボリュームへのアクセス量が均等になるように表 インデックスを配置します 表とインデックスは負荷分散の観点から 別々の論理ボリュームに配置することを推奨します All Rights Reserved, Copyright FUJITSU LIMITED 2007 30

3.2 システム環境の作成 カーネル編集 環境変数の設定 RDB 構成パラメタファイルの編集 動作環境ファイルの編集 ポート番号の定義 ログ環境の作成 RDB ディクショナリ および RDB ディレクトリファイルの作成 All Rights Reserved, Copyright FUJITSU LIMITED 2007 31 システム環境の設定 Symfoware を動作させるため 上記の環境設定および作成を行います 本項では WebAdmin を使用した Symfoware/RDB の GUI によるセットアップ方法ではなく Symfoware のコマンドを用いた Symfoware/RDB のセットアップ方法について記述します また OS の具体的パラメタ例としては Solaris の場合を説明しています All Rights Reserved, Copyright FUJITSU LIMITED 2007 31

3.2.1 カーネル編集 Symfoware を動作させるために 設定が必要なカーネルの資源には 以下のものがあります 共用メモリ セマフォ資源 メッセージキュー All Rights Reserved, Copyright FUJITSU LIMITED 2007 32 Symfoware プロセスは外部との情報交換に使用します カーネル資源の設定は カーネル構成ファイル (/etc/system ファイル ) に設定します 注意 Windows 版では 本作業は必要ありません All Rights Reserved, Copyright FUJITSU LIMITED 2007 32

3.2.2 環境変数の設定 RDB コマンドおよび man コマンドを使用するのに必要な以下環境変数を設定します LANG PATH LD_LIBRARY_PATH LD_LIBRARY_PATH64 RDBNAME MANPATH All Rights Reserved, Copyright FUJITSU LIMITED 2007 33 環境変数 LANG には Symfoware のインストール時に指定した Symfoware のロケールを設定します 異なるロケールを LANG に指定した場合 RDB コマンドはエラーになります なお インストール時に Symfoware のロケールに ja で始まる日本語ロケールを指定した後 運用によってメッセージを英語で出力したい場合は 環境変数 LANG に C を指定して英語メッセージを出力することが可能です 日本語 EUCコードのS90コード : ja japanese 日本語 EUCコードのU90コード : ja_jp.u90( 日本語拡張表示オプションが別途必要 ) シフトJISコード: ja_jp.pck UNICODE: ja_jp.utf-8 その他: C 海外で使用されているロケールなど - 環境変数 PATH に /opt/fsunrdb2b/bin を追加します - Symfoware Server Enterprise Extended Edition を利用する場合は 環境変数 LD_LIBRARY_PATH_64 に /opt/fsunrdb2b/lib を追加します - 環境変数 LD_LIBRARY_PATH に /opt/fsunrdb2b/lib と /etc/opt/fsuniconv/lib を追加します - 環境変数 RDBNAMEにRDBシステム名を設定します ただし RDBシステム名を付けない運用の場合は不要です - 環境変数 MANPATHに /opt/fsunrdb2b/manを設定します ) 上記は Solaris を使用した場合の説明です All Rights Reserved, Copyright FUJITSU LIMITED 2007 33

3.2.3 RDB 構成パラメタファイルの編集 RDB 構成パラメタファイル RDBEXTMEM RDBLOGMANAGE RDBDIRSPACE1 RDBDIRSPACE2 RDBSQLENV 共用メモリ ログ管理ファイル RDB ディレクトリファイル 1 RDB ディレクトリファイル 2 システム用動作環境ファイル テンポラリログファイル アーカイブログファイル データベーススペース RDB ディクショナリ WORK_PATH Symfoware プロセス ソート作業域 All Rights Reserved, Copyright FUJITSU LIMITED 2007 34 RDB 構成パラメタファイルは Symfoware を起動 (rdbstart コマンドを実行 ) するときに最初に読み込まれ 基本的な動作環境を決定するファイルです Symfoware を運用するには 利用者が RDB 構成パラメタファイルに動作環境を定義する必要があります RDB システム名を付ける運用 ( マルチ RDB 運用 ) の場合 Symfoware Server をインストールしたディレクトリの配下に RDB 構成パラメタファイルの雛型 (RDBSYS.cfg) を複写して 作成したテキストファイルを編集します ファイル名は RDB システム名.cfg とします RDB システム名は 環境変数の RDBNAME で設定する RDB システム名と対応づけられます RDB システム名を付けない運用 ( シングル RDB 運用 ) の場合 Symfoware Server をインストールしたディレクトリの配下にある rdbsysconfig を直接編集します All Rights Reserved, Copyright FUJITSU LIMITED 2007 34

3.2.4 動作環境ファイルの編集 DB サーバ RDB 構成パラメタファイル クライアント 環境変数 SQLRTENV RDBSQLENV クライアント用の動作環境ファイル システム用の動作環境ファイル SERVER_ENV_FILE サーバ用の動作環境ファイル All Rights Reserved, Copyright FUJITSU LIMITED 2007 35 動作環境ファイルは Symfowareが 応用プログラムとの連携を行う場合に動作環境を規定するためのファイルです 動作環境ファイルには 以下があります システム用の動作環境ファイル システム用の動作環境ファイルは /opt/fsunrdb2b/etc/fssqlenv を複写し 任意のファイル名として作成します 作成したファイル名を RDB 構成パラメタファイルの RDBSQLENV で指定します サーバ用の動作環境ファイル サーバ用の動作環境ファイルを定義して 応用プログラム中のコネクション単位に動作環境を設定することができます クライアント用の動作環境ファイルの SERVER_ENV_FILE パラメタで サーバ用の動作環境ファイル名を指定します サーバ用の動作環境ファイルに指定できるパラメタは クライアント用の動作環境ファイルでも指定できます クライアント用の動作環境ファイルクライアント用の動作環境ファイルは 動作環境ファイルの雛形 (/opt/fsunrdb2b/demo/fssqlenvc) を応用プログラム実行時のカレントディレクトリに複写することで有効になります 任意のファイル名または他のディレクトリに格納した動作環境ファイルを使用する場合は 環境変数 SQLRTENV にファイル名を指定します ポイント各動作環境ファイルに重複したパラメタが指定されている場合は サーバ用の動作環境ファイル クライアント用の動作環境ファイル システム用の動作環境ファイルの順に有効となります アプリケーションの動作環境のチューニングは 主に動作環境ファイルで行いますが 一部の環境については 環境変数で指定することもできます 環境変数による指定と動作環境ファイルによる指定が重複する場合は 環境変数による指定が優先されます ) 上記のファイル名の説明は Solaris を使用した場合の説明です All Rights Reserved, Copyright FUJITSU LIMITED 2007 35

3.2.5 ポート番号の定義 Symfoware データベース TCP/IP 通信 services ファイル クライアント用の動作環境ファイル SERVER_SPEC= (RDB2_TCP,,, ポート番号 ) サービス名ポート番号 /tcp システム用の動作環境ファイル MAX_CONNECT_TCP = (15) All Rights Reserved, Copyright FUJITSU LIMITED 2007 36 クライアントからリモートアクセスする場合 アプリケーションと Symfoware はポート番号を定義することによって接続されます したがって サーバの OS のファイル (services ファイル ) に Symfoware のポート番号を定義する必要があります また 定義したポート番号をクライアント用の動作環境ファイルに指定する必要があります 指定形式サービス名ポート番号 / プロトコル サービス名サービス名は RDBシステム名を指定します RDBシステム名を付けない運用の場合は RDBIIを指定します ポート番号ポート番号は 2050~2099の値を指定します ただし 2050~2099のポート番号をすでに使用している場合は 使用していないポート番号を指定します プロトコルプロトコルはtcpを指定します All Rights Reserved, Copyright FUJITSU LIMITED 2007 36

ログ管理ファイルの作成 $ rdblog -I 3.2.6 ログ環境の作成 テンポラリログファイルの作成 $ rdblog G t c 10M /dev/rdsk/c1t0d0s1 in in 512M 512M 1200 アーカイブログファイルの作成 $ rdblog -G a /dev/rdsk/c1t1d0s1 2048M アーカイブログファイルの追加 $ rdblog -U a /dev/rdsk/c1t1d0s3 $ rdblog -U a /dev/rdsk/c1t1d0s4 All Rights Reserved, Copyright FUJITSU LIMITED 2007 37 Symfoware を運用するためには 以下のログ環境を作成します ログ管理ファイルログ管理ファイルの作成は rdblogコマンドのiオプションで行います ログ管理ファイルは RDB 構成パラメタファイル内のRDBLOGMANAGEで指定したローデバイスまたはディレクトリに作成されます テンポラリログファイルテンポラリログファイルの作成は rdblogコマンドのg およびt オプションで行います アーカイブログファイルの初期作成アーカイブログファイルの初期作成は rdblogコマンドのgオプションおよびaオプションで行います アーカイブログファイルの追加作成アーカイブログの適用による復旧を行う場合には アーカイブログファイルを通常 3 個以上 ( 最低 2 個 ) 作成します アーカイブログファイルの追加作成は rdblogコマンドのuオプションおよびaオプションで追加します このとき 追加するアーカイブログファイルの大きさは指定できません 指定したファイルまたはローデバイスの大きさに関係なく 初期作成時の値が使用されます 初めに ログ環境を作成します ログ環境を作成するには まずログ管理ファイルを作成しなければなりません 次にテンポラリログファイルを作成します All Rights Reserved, Copyright FUJITSU LIMITED 2007 37

3.2.7 RDB ディクショナリおよび RDB ディレクトリファイルの作成 RDBDIRSPACE1 RDBDIRSPACE2 rdbcrdic -r /dev/rdsk/c1t2d0s1 -a 60M -du 5M RDB 構成パラメタファイル RDB ディクショナリ RDB ディレクトリファイル 1 RDB ディレクトリファイル 2 All Rights Reserved, Copyright FUJITSU LIMITED 2007 38 ログ環境を作成した後 データベースを運用するための環境を作成します システム表を格納するためのデータベースである RDB ディクショナリとデータベースに高速にアクセスするための基本情報や データベースの運用情報を格納するための制御ファイルである RDB ディレクトリファイルを作成します RDB ディクショナリおよび RDB ディレクトリファイルの作成は rdbcrdic コマンドで行います RDB ディレクトリファイルは RDB 構成パラメタファイルで指定したディレクトリに DIR_FILE1 DIR_FILE2 というファイル名で自動的に作成されます All Rights Reserved, Copyright FUJITSU LIMITED 2007 38

3.3 データベースの作成 データベースの定義最適化情報の設定データベースの創成データベース定義情報の保全データベースのデータ退避データベースの変更データベースの削除 All Rights Reserved, Copyright FUJITSU LIMITED 2007 39 データベースの作成手順について説明します All Rights Reserved, Copyright FUJITSU LIMITED 2007 39

3.3.1 データベースの定義 1.rdbstart Symfoware 2.rdbddlex [-d データベース名 ] 定義ファイル名 データベースデータベース 定義ファイル定義ファイル 論理構造論理構造 実表 ( インデックス ) スキーマ 1CREATE DATABASE ~ ; 2CREATE DBSPACE ~ ; 3CREATE SCHEMA XXX 格納構造格納構造 DSO DSI DSO DSI 4CREATE XXX.TABLE ~ ; 5CREATE DSO ~ 物理構造物理構造 データベーススペース 6CREATE DSI ~ 実データ 実データ All Rights Reserved, Copyright FUJITSU LIMITED 2007 40 データベースの定義方法 Symfowareのデータベースを作成するには rdbstartコマンドでsymfowareを正常に起動した後 rdbddlexコマンドを使用します データベースを定義するSQL(DDL 文 ) を記載した定義ファイルを用意し rdbddlexコマンドを実行することによって データベースが定義されます All Rights Reserved, Copyright FUJITSU LIMITED 2007 40

3.3.2 データベースの創成 1 アプリケーション 2 入力ファイル rdbfmt -mi -i データベース名.DSI 名 INSERT INTO rdbsloader SQL データのロード DSI DSI All Rights Reserved, Copyright FUJITSU LIMITED 2007 41 作成した表に対して 初めて実データを投入することをデータベースの創成と呼びます データベースの創成は 格納先のデータベーススペースが作成され 格納構造定義が完了してから行います データベースの創成方法として 以下の 2 つがあります 1 創成用のアプリケーションを作成して INSERT 文によって行う方法 (DSI 初期化必要 ) 2 外部ファイルを使用した rdbsloader コマンドによる方法 (DSI 初期化不要 ) DSI 初期化 : rdbfmt コマンド ( インデックスを含む全ての DSI に対して実行します ) データのロード : rdbsloader コマンド ( 表の DSI だけに実行します ) All Rights Reserved, Copyright FUJITSU LIMITED 2007 41

3.3.3 最適化情報の設定 データの状況に応じてできるだけ効率のよい検索処理を行うための情報です 最適化情報をどのように設定するかは 以下をポイントに判断します 最適化情報の設定方法 SET STATISTICS 文 rdbups コマンド 選択指針 データベースに格納するレコード件数 異なるキー値数などが予測可能 データベースに格納するレコード件数 異なるキー値数などが予測困難 ( 実際にデータを格納しないとわからない ) All Rights Reserved, Copyright FUJITSU LIMITED 2007 42 Symfoware では SQL 文の指令と結びつく表を調べて 探索条件に見合った処理手順を決めます この働きのことを最適化処理 ( または オプティマイザ ) と呼び その処理の結果として決定される処理手順をアクセスプランと呼びます Symfoware は データ量や格納状況の情報に基づいた最適化処理を実現しています この情報を最適化情報と呼びます 最適化情報には 実表のデータ量 ( 行数 ) インデックスの階層数および異なるキー値の数などがあります 最適化情報の収集は RDB コマンドを使用します 結果は RDB ディクショナリに格納されます 最適化情報を設定するには 以下の2つの方法があります 1rdbupsコマンドを実行して設定する方法 2rdbddlexコマンドを使用して SET STATISTICSで設定する方法 All Rights Reserved, Copyright FUJITSU LIMITED 2007 42

3.3.4 データベース定義情報の保全 システム表 RDB ディクショナリ rdbdmpdic -f dicback@/backup/rdb 退避データ RDB ディクショナリのバックアップファイル All Rights Reserved, Copyright FUJITSU LIMITED 2007 43 データベースの定義情報は RDB ディクショナリに格納されています データベースの定義をした段階でデータベース定義情報の保全のためにRDBディクショナリのデータを退避 ( バックアップ ) しておきます RDBディクショナリのバックアップは rdbdmpdicコマンドで行います All Rights Reserved, Copyright FUJITSU LIMITED 2007 43

3.3.5 データベースのデータ退避 表 DSI データベース rdbdmp -i RDBDB. 在庫表 DSI -f stock.dmp@/backup/data -e -y 表 DSI のバックアップファイル All Rights Reserved, Copyright FUJITSU LIMITED 2007 44 データベースの創成が完了したら データベースの運用を開始する前に データベースを退避 ( バックアップ ) をします データベースのバックアップは rdbdmpコマンドで行います rdbdmpコマンドを使用する場合 表のDSI 単位にバックアップを行います rdbdmp コマンドの他に Advanced Backup Controller というオプション製品の高速バックアップ機能を利用する方法もあります All Rights Reserved, Copyright FUJITSU LIMITED 2007 44

3.3.6 データベースの変更 rdbddlex [-d データベース名 ] 定義変更ファイル名 論理構造論理構造 データベースデータベース 実表 ( インデックス ) スキーマ 定義変更ファイル定義変更ファイル ALTER TABLE ; 格納構造格納構造 DSO DSI DSO DSI 物理構造物理構造 データベーススペース 実データ 実データ All Rights Reserved, Copyright FUJITSU LIMITED 2007 45 データベースの運用開始後に データベースの定義を変更できます 論理構造定義の変更 (ALTER TABLE 文 ) 表の定義の変更は ALTER TABLE 文を使用します ALTER TABLE 文で以下の変更ができます 列定義の追加 列定義の削除 表および列の注釈定義の変更 ポイント一意性制約を指定した列の定義変更はできません NOT NULL 制約を指定した場合 DEFAULT 句にNULL 以外を指定することが必要です DEFAULT 句を指定していない場合の列の値は NULLになります All Rights Reserved, Copyright FUJITSU LIMITED 2007 45

3.3.7 データベースの削除 rdbddlex [-d データベース名 ] 定義削除ファイル名 データベースデータベース スキーマ 定義削除ファイル定義削除ファイル 1DROP SCHEMA XXX CASCADE 論理構造論理構造 実表 ( インデックス ) 2DROP DBSPACE ~ 格納構造格納構造 DSO DSI DSO DSI 3DROP DATABASE ~ 物理構造物理構造 データベーススペース 実データ 実データ All Rights Reserved, Copyright FUJITSU LIMITED 2007 46 構築したデータベースを削除する場合は 関連資源の削除を前提としているものがあります 定義を行った順の逆をたどって削除します ただし 関連する資源を一括削除 (CASCADE 指定 ) することもできます データベースの削除手順 下位資源が存在する場合 ( 例 : 表が定義されているスキーマなど ) は デフォルトでは削除はできません そのような場合 定義削除の SQL 文に CASCADE を指定することにより 下位資源を含めて削除が可能なります なお CASCADE を指定して削除される資源は各 DDL 文で異なります データベースの削除時の注意事項データベースを削除した場合 格納されているデータは失われます All Rights Reserved, Copyright FUJITSU LIMITED 2007 46

3.4 データベースのチューニング 共用バッファプール 性能情報の取得 All Rights Reserved, Copyright FUJITSU LIMITED 2007 47 データベースの性能を十分に発揮するためには 運用環境に合わせた調整 ( チューニング ) が必要です ここでは Symfowareの基本的なチューニング方法について説明します 共用バッファプール 共用バッファプールの開設と登録 個別で開設する共用バッファプール DSIと個別で開設する共用バッファプールの対応関係の登録 共用バッファプールの表示 DSIと個別で開設する共用バッファプールの対応関係の解除 個別で開設する共用バッファプールの閉鎖 性能情報の取得 All Rights Reserved, Copyright FUJITSU LIMITED 2007 47

3.4.1 共用バッファプール メモリ 1K 1K 8K 8K デフォルトの共用バッファ 2K 2K 16K 16K 4K 4K 32K 32K 利用者が定義した共用バッファ 4K 4K 16K 16K ページ DSI All Rights Reserved, Copyright FUJITSU LIMITED 2007 48 共用バッファは データベースにアクセスする際のバッファ ( キャッシュ ) として利用されます このバッファは 複数のアプリケーションで共有されます データベースをアクセスするとき アプリケーションが要求するデータ ( 行 ) が共用バッファ上に存在すれば ディスクへの I/O を行わずにデータが利用できます 共用バッファをチューニングすると アプリケーションのレスポンス改善 単位時間当たりのトランザクション実行数 (tpm) を向上させることができます デフォルトの共用バッファプール Symfoware の起動時に自動的に開設される共用バッファをデフォルトの共用バッファプールと呼びます デフォルトの共用バッファプールを使用すると 資源 (DSI) とバッファの対応を管理しなくてもよいため運用が簡易となります 反面 以下の弱点があります 1 つのバッファプールを複数の DSI が共有することから 異なる資源にアクセスするアプリケーション間でのバッファの競合が発生し易い 複数の DSI が同一バッファプールを使用するため 特定 DSI に最適なバッファ量を指定することができない 危険値 安全値を変更することができない デフォルトの共用バッファを利用するアプリケーションやコマンドのプロセスがすべて終了すると 自動的にバッファ内容はディスクに書き出されメモリから消滅します デフォルトの共用バッファプールの大きさは RDB 構成パラメタファイルの RDBSYSBUF で指定したディレクトリの rdbbuf ファイルを編集し調整できます RDB ディクショナリのアクセスは デフォルトの共用バッファを利用します 個別で開設する共用バッファプール個別にバッファプールを開設すると 特定 DSI をバッファプールに対応づけ デフォルトの共用バッファプールの弱点を解消できます この共用バッファプールを個別で開設する共用バッファプールと呼びます 以降の文中で 単に共用バッファプールと表現した場合は個別で開設する共用バッファプールを指します All Rights Reserved, Copyright FUJITSU LIMITED 2007 48

3.4.1.1 共用バッファプールの開設と登録 利用者が定義した共用バッファプールの例 54 54 枚 (100%) (100%) POOL1 27 27 枚 (50%) (50%) 38 38 枚 (70%) (70%) ページ長 1K 1 rdbcrbf -a 70 -s 50 POOL1 1K 54 危険値 安全値 共用バッファ識別子 ページ長 ページ数 All Rights Reserved, Copyright FUJITSU LIMITED 2007 49 共用バッファプールの定義例を上記に示します 共用バッファプールのページ長とページ数は SQL 文でアクセスするDSIのページ長とページ数に依存します 共用バッファプールを開設する方法には 以下の2つの方法があります 1つずつ共用バッファプールを開設する方法 rdbcrbf [ -a 危険値 ] [ -s 安全値 ] 共用バッファ識別子ページ長ページ数 複数の共用バッファプールを一括して開設する方法 rdbcrbf f { ファイル名 - } 指定するファイル内には 次の記述形式で各共用バッファプールの情報を定義します 共有バッファ識別子ページ長ページ数 [ 危険値 - ] [ 安全値 - ] 危険値 共用バッファプール内での使用中ページの割合 (%) を指定します 共用バッファプール内の使用中バッファ量が この危険値を超えると 使用中ページを再使用可能な状態に変換し 空きページを確保し始めます 本指定の省略時は Symfoware が最適と思われる値を自動的に設定します 安全値 共用バッファプール内での使用中ページの割合 (%) を指定します 空きページの確保は この安全値を満たすまで行われます 本指定の省略時は Symfoware が最適と思われる値を自動的に設定します All Rights Reserved, Copyright FUJITSU LIMITED 2007 49

3.4.1.2 DSI と共用バッファプールの対応関係の登録 POOL1 POOL2 DSI と共用バッファプールとの対応関係の登録例 ページ長 2K ページ長 4K ページ長 8K 2 rdbconbf -i STOCK.EMP_DSI POOL1 共用バッファ識別子 1 3 rdbconbf -i STOCK.EMP_IXDSI POOL2 共用バッファ識別子 1 POOL2 共用バッファ識別子 2 SEQUENTIAL 構造の DSI BTREE 構造の DSI All Rights Reserved, Copyright FUJITSU LIMITED 2007 50 運用に必要となるDSIと共用バッファプールの対応関係をrdbconbfコマンドにより登録します 対応関係の登録が必要なすべての共用バッファプールに対して 共用バッファプールの対応関係の登録処理を行ってください 登録処理を行わないとその共用バッファプールは使用されません 共用バッファプールの対応関係を登録する方法には 以下の2つの方法があります 1つずつ共用バッファプールの対応関係を登録する方法 rdbconbf i データベース名.DSI 名共用バッファ識別子 -1 [ 共用バッファ識別子 -2 ] 複数の共用バッファプールの対応関係を一括して登録する方法 rdbconbf f ファイル名指定するファイル内には 次の記述形式で各対応関係の情報を定義します データベース名.DSI 名共用バッファ識別子 -1 [ 共用バッファ識別子 -2 ] データベース名.DSI 名対応関係を登録するDSIを指定します 指定は データベース名とDSI 名を. で連結して指定します 共用バッファ識別子 -1[ 共用バッファ識別子 -2] DSIが使用する共用バッファプールの識別子を指定します 両方の識別子を指定した場合 RANDOM 構造のプライム部 BTREE 構造のインデックス部が共用バッファ識別子 -1の共用バッファプールと対応づけられ RANDOM 構造のオーバフロー部 BTREE 構造のデータ部が共用バッファ識別子 -2の共用バッファプールと対応づけられます 共用バッファ識別子-2の省略時は 格納構造のすべての要素は 共用バッファ識別子 -1と対応づけられます SEQUENTIAL 構造またはOBJECT 構造のデータ部は 共用バッファ識別子 -1のみの指定となります 注意共用バッファプールは Symfowareが起動している期間中のみ有効です Symfowareを停止すると 共用バッファプールは自動的に閉鎖し DSIとの対応関係も解除されます All Rights Reserved, Copyright FUJITSU LIMITED 2007 50

3.4.2 性能情報の採取方法 性能情報の取得方法 Symfoware では データベースの負荷状況を収集できるようにしています このデータベース資源の負荷情報は データベースを最適にチューニングするための基礎データとなります 取得内容アプリケーションの動作状況の監視システム資源の使用状況の監視資源の占有状況の監視 SQL 処理手順の確認 SQL 処理内容の確認 SQL 文のアクセス手順の確認 取得コマンド rdbpsコマンド rdbsarコマンド rdblkinfコマンド SQL_SNAP SQL_TRACE アクセスプラン All Rights Reserved, Copyright FUJITSU LIMITED 2007 51 性能情報取得コマンド性能情報は 以下のRDBコマンドを使用して取得します rdbpsコマンド応用プログラムやrdbコマンドの動作状況の情報を収集します rdbsarコマンドデータベース資源 ( メモリ 共用バッファ データベーススペース テンポラリログファイル アーカイブログファイルなど ) の負荷情報を収集します rdblkinfコマンド応用プログラムによって獲得される資源の占有 ( ロック ) 情報を収集します SQL 処理情報動作環境ファイルに 以下のパラメタをセットすることによって SQL 処理シーケンスや処理状況をトレースします SQL_SNAP アプリケーションが実行したSQL 文の情報を ファイルに出力します このファイルをスナップファイルといいます アプリケーションのデバッグ時に SQL 文が正しく発行されているかどうかを確認することができます SQL_TRACE SQLが動作するために扱ったデータ量および使用した資源量をファイルに出力します この情報により どのアプリケーションの実行で資源を多く利用しているか または どの動作に時間がかかっているかを確認することができます アクセスプラン SQL 文を実行する時のデータベースへのアクセス手順をファイルに出力します この情報により 意図したインデックスが使用されているかを確認することができます All Rights Reserved, Copyright FUJITSU LIMITED 2007 51

MEMO All Rights Reserved, Copyright FUJITSU LIMITED 2007 52

All Rights Reserved, Copyright FUJITSU LIMITED 2007 53 第 4 章 Symfoware 運用管理

4.1 ログ運用 アーカイブログ運用 スケーラブルログ運用 スケーラブルディレクトリ運用 All Rights Reserved, Copyright FUJITSU LIMITED 2007 54 アーカイブログ運用 アーカイブログファイルを使用する運用を アーカイブログ運用といいます アーカイブログファイルは 障害が発生した場合 障害が発生する前の状態にリカバリするため トランザクションの更新履歴を保存します また このファイルは RDB ディクショナリに対するログも記録しているため RDB ディクショナリの障害のリカバリにも使用します スケーラブル運用ログを収集する環境を複数定義できます 各ログ収集環境は 複数のデータベースに割り当てることができます ログ収集環境の単位をロググループと呼び ロググループは ログ管理ファイル テンポラリログファイルおよびアーカイブログファイルから構成されます 複数のロググループから 構成されるログ環境をスケーラブルログ環境と呼びます スケーラブルログ環境での運用形態を スケーラブルログ運用と呼びます スケーラブルディレクトリ運用ロググループのデータベースを管理するRDBディレクトリファイルを ロググループごとに作成することができます ユーザロググループ用のRDBディレクトリファイルを作成している環境を スケーラブルディレクトリ環境と呼びます スケーラブルディレクトリ環境での運用を スケーラブルディレクトリ運用と呼びます All Rights Reserved, Copyright FUJITSU LIMITED 2007 54

4.1.1 アーカイブログ運用 時間の流れ アプリケーション (1 ) Insert a Insert b Commit アプリケーション (2 ) Update x Delete y Commit テンポラリログ (AI) Insert a Insert b Commit Update x Delete y Commit アーカイブログファイル 更新処理内容を保存 アーカイブログ退避データ All Rights Reserved, Copyright FUJITSU LIMITED 2007 55 アーカイブログファイルは 障害が発生した場合 障害が発生する前の状態に復旧するためのログを記録します また このファイルは RDB ディクショナリに対するログも記録しているため RDB ディクショナリの障害が発生した場合の復旧にも使用します アーカイブログファイルは アーカイブログ運用する場合には必須ですが アーカイブログ運用を行わない場合には必要ありません 注意アーカイブログ適用によりリカバリする場合 アーカイブログファイルは 2 個以上 (3 個以上を推奨 ) 必要です また アーカイブログファイルは 以下の 2 つの要素から構成されます アーカイブログファイル アーカイブログ退避ファイル アーカイブログファイルトランザクションの更新履歴を記録します アーカイブログファイルは ログの内容を退避 ( アーカイブログ退避ファイル ) することで再利用できます これにより アーカイブログを循環使用します アーカイブログファイルは 同一のサイズで複数個用意します また Symfoware の起動後でも 追加することができます アーカイブログ退避ファイルアーカイブログファイルを循環使用するために アーカイブログファイルのトランザクション更新履歴をバックアップしたファイルです All Rights Reserved, Copyright FUJITSU LIMITED 2007 55

4.1.1.1 アーカイブログをバックアップしない運用 アーカイブログ 一日目 二日目 三日目 A 破棄して未使用に 未使用 B 未使用 破棄して未使用に 未使用 C 未使用未使用ログ切り替えA B ログ切り替えB C ログ切り替え C A 破棄して未使用に 日々の運用 データベースおよびディクショナリ退避不要となったログA を破棄 データベースおよびディクショナリ退避不要となったログB を破棄 データベースおよびディクショナリ退避不要となったログC を破棄 All Rights Reserved, Copyright FUJITSU LIMITED 2007 56 アーカイブログをバックアップしない運用アーカイブログをバックアップしない運用の場合 バックアップを取得した時点から 次のバックアップを取得するまでの期間 トランザクション更新履歴を保存するアーカイブログファイル容量が必要です すべてのアーカイブログファイルが一杯になった場合 最も古いアーカイブログファイルのトランザクション更新履歴を破棄する必要があります 注意 ) バックアップ取得以降の トランザクション更新履歴が存在しない場合 最新状態へのリカバリができなくなります アーカイブログをバックアップしない運用は 以下の場合に選択します 通常の運用において全データベースの退避データを一度に取得できる かつ 全データベースの退避データ取得時から 次回の全データベースの退避データ取得時までのトランザクション更新履歴が アーカイブログファイルの許容量に収まる メリット 運用設計が容易です デメリット 全データベースの退避時間が必要です All Rights Reserved, Copyright FUJITSU LIMITED 2007 56

繰り返し4.1.1.2 アーカイブログをバックアップする運用 アーカイブログ 月曜日 火曜日 水曜日 週末 A B C 日々の運用 ログ切り替え A B ログ A を退避 ログ退避 ログ B を退避 ログ退避 ログ退避 B C C A しログ切り替えログCを退避 データベースおよびディクショナリ退避退避してあったログは不要となるため破棄 破棄 週末の運用 All Rights Reserved, Copyright FUJITSU LIMITED 2007 57 アーカイブログをバックアップする運用アーカイブログをバックアップする運用は アーカイブログファイルのバックアップを取得した時点から 次のアーカイブログファイルのバックアップを取得するまでの期間 トランザクション更新履歴を保存するアーカイブログファイルの容量が必要です RDB ディクショナリおよび全データベースのバックアップを取得することにより それ以前に取得したアーカイブログのバックアップは不要となります アーカイブログをバックアップする運用は 以下のいずれかの場合に選択します 通常運用で 全データベースを一度に退避するには 時間が必要なため不可能である ( 分割して退避しなければならない ) 全データベースの退避データ取得時から 次の全データベースの退避データ取得時までのトランザクションの更新履歴が アーカイブログファイルの容量を超える データベースを あるバックアップ地点に戻す可能性がある メリット 全データベースのバックアップと比較して アーカイブログの退避はバックアップ時間が短くなります デメリット 運用設計が複雑になります 障害発生のタイミングにより アーカイブログの適用に時間がかかります All Rights Reserved, Copyright FUJITSU LIMITED 2007 57

4.1.2 スケーラブルログ運用 Application Application システムロググループシステムロググループ 更新 データベーススペース ログログ収集収集 更新更新ログログ アーカイブログテンポラリログ ユーザロググループユーザロググループ ログ管理ファイル ロググル プ管理ファイル データベーススペース 更新更新ログログ テンポラリログアーカイブログ ログ管理ファイル All Rights Reserved, Copyright FUJITSU LIMITED 2007 58 Symfowareでは ログ環境を複数定義し それぞれに複数のデータベース資源を割り当てて運用することができます ログ環境の単位をロググループと呼び ロググループは ログ管理ファイル テンポラリログファイルおよびアーカイブログファイルから構成されます 複数のロググループは ロググループ管理ファイルで管理します 複数のロググループから構成されるログ環境をスケーラブルログ環境と呼びます スケーラブルログ環境での運用形態を スケーラブルログ運用と呼びます メリット ログバッファを分散させ トランザクションの多重実行時における処理性能を向上できます テンポラリログファイル アーカイブログファイルのI/O 負荷を分散できます メディアリカバリ時に 不要なアーカイブログの読み込みが行われないため リカバリ時間を短縮できます ロググループごとにアーカイブログ運用する場合 また アーカイブログ運用を行わない場合を別々に定義できるため 業務に応じたバックアップおよびリカバリ運用ができます 業務中に 既存のログ環境に影響を与えず 新規ログ環境を追加することができます デメリット 管理する資源が多くなるため 運用設計が複雑になります All Rights Reserved, Copyright FUJITSU LIMITED 2007 58

4.1.3 スケーラブルディレクトリ運用 システムロググループシステムロググループ アーカイブログ RDB_DIR2 データベース定義情報アクセス情報 RDB ディクショナリ RDB_DIR1 データベース定義情報アクセス情報ファイル管理情報 データベース ユーザロググループユーザロググループ アーカイブログ RDB_DIR アクセス情報 データベース RDB_DIR1 : ユーザデータベース用の RDB ディレクトリファイル RDB_DIR2 : RDB ディクショナリ用の RDB ディレクトリファイル RDB_DIR : ユーザロググループ用の RDB ディレクトリファイル All Rights Reserved, Copyright FUJITSU LIMITED 2007 59 スケーラブルディレクトリ運用では RDB ディレクトリファイルを ユーザロググループごとに作成します このとき作成する RDB ディレクトリファイルを ユーザロググループ用の RDB ディレクトリファイルと呼び ユーザロググループ用の RDB ディレクトリファイルを作成している環境を スケーラブルディレクトリ環境と呼びます スケーラブルディレクトリ環境の運用を スケーラブルディレクトリ運用と呼びます ユーザロググループ用の RDB ディレクトリファイルを作成することで ロググループ単位に独立性を高めることができます メリット ユーザデータベース用の RDB ディレクトリファイル破壊時 影響範囲を特定ロググループに局所化できます ユーザデータベース用の RDB ディレクトリファイル破壊時 リカバリ範囲を局所化することができ リカバリ時間を短縮できます デメリット 制御ファイルが多くなるため 運用が複雑になります All Rights Reserved, Copyright FUJITSU LIMITED 2007 59

4.2 バックアップ運用 データベースのバックアップ運用 Advanced Backup Controller でのバックアップ運用 データベースのアンロード All Rights Reserved, Copyright FUJITSU LIMITED 2007 60 データベースのバックアップ運用 データ破壊などの異常時に備え 表の DSI をバックアップする必要があります 表の DSI から再作成可能なため インデックスの DSI をバックアップする必要はありません RDB ディクショナリおよび RDB ディレクトリファイルの異常時に備え RDB ディクショナリをバックアップする必要があります RDB ディレクトリファイルは RDB ディクショナリおよびデータベースから復旧可能なため バックアップする必要はありません アーカイブログファイルのバックアップ運用の場合 アーカイブログファイルもバックアップします Advanced Backup Controller のバックアップ運用 Symfoware Server は 大規模データベースの場合でも 瞬時にかつ業務を停止することなく バックアップデータを作成する Advanced Backup Controller 機能を用意しています Advanced Backup Controller は 富士通の ETERNUS が持つアドバンストコピー機能や PRIMECLUSTER GDS などのディスク管理製品を使用することで ソフトミラー化したディスクを任意の時点で切り離す機能と連携し 瞬時にかつ業務を停止せずにバックアップデータの作成を実現します これにより データベースのバックアップ処理時間を 大幅に短縮できます データベースのアンロード RDBコマンドを使用し 外部ファイルへデータを出力できます 外部ファイルは バイナリ形式またはCSV 形式に対応しています 用語の解説 ETERNUS 富士通が提供するアレイディスク装置です Advanced Backup Controllerでは ETERNUSのアドバンスドコピー機能を利用することで高速なバックアップを実現しています PRIMECLUSTER GDS GDSは ディスク装置に格納されているデータの可用性と運用管理性を向上させるボリューム管理ソフトウェアです All Rights Reserved, Copyright FUJITSU LIMITED 2007 60

4.2.1 データベースのバックアップ運用 データベースのバックアップは専用コマンドを利用 メディア障害に備えたバックアップ データベース (DSI) のバックアップ (rdbdmp) RDB ディクショナリのバックアップ (rdbdmpdic) アーカイブログのバックアップ (rdblog) All Rights Reserved, Copyright FUJITSU LIMITED 2007 61 Symfowareでは アーカイブ運用の場合 業務を停止することなく データベースをバックアップできます これをオンライン バックアップと呼びます オンライン バックアップを利用することで 業務と並行してデータベースの保全ができるため 深夜や休日に保全時間を確保する必要はありません アーカイブ運用でない場合は RDBディクショナリおよびDSIの更新抑止の設定が必要となります データベース (DSI) のバックアップ DSIのバックアップは rdbdmpコマンドを使用します RDBディクショナリのバックアップ RDBディクショナリのバックアップは rdbdmpdicコマンドを使用します アーカイブログのバックアップアーカイブログファイルのバックアップは rdblogコマンドを使用します All Rights Reserved, Copyright FUJITSU LIMITED 2007 61

4.2.1.1 データベース (DSI) のバックアップ 表 DSI ログ アーカイブログファイル rdbdmp 外部ファイル 退避データ メッセージ All Rights Reserved, Copyright FUJITSU LIMITED 2007 62 日々のデータベース運用中 バックアップ時間が確保できない場合があります そのような場合 アーカイブログファイルを使用することで 業務と並行してバックアップできます 業務と並行して取得するバックアップを オンラインダンプと呼びます オンラインダンプは 更新中のDSIをバックアップするため DSIイメージデータと rdbdmpコマンド実行中の更新ログを一緒にバックアップすることで 退避データとしての整合性を保証しています このため 取得したバックアップのみで rdbdmpコマンドの実行終了時点に DSIをリカバリすることが可能です rdbdmpコマンドを使用して DSIをバックアップします All Rights Reserved, Copyright FUJITSU LIMITED 2007 62

4.2.1.2 RDB ディクショナリのバックアップ RDB ディクショナリ ログ アーカイブログファイル rdbdmpdic 退避データ メッセージ All Rights Reserved, Copyright FUJITSU LIMITED 2007 63 RDB ディクショナリおよび RDB ディレクトリファイルの異常時に備えて RDB ディクショナリをバックアップする必要があります RDB ディレクトリファイルは RDB ディクショナリとデータベースより復旧可能なため バックアップする必要はありません バックアップの実行 rdbdmpdic コマンドを使用して RDB ディクショナリをバックアップします All Rights Reserved, Copyright FUJITSU LIMITED 2007 63

4.2.1.3 アーカイブログのバックアップ 退避データ 2 アーカイブログをバックアップ rdblog B -a rdblog S -a 1 アーカイブログの強制切替え アーカイブログ : 通番 1 アーカイブログ : 通番 2 アーカイブログ : 通番 3 データ バックアップ周期 データ 時間 rdbdmp rdbdmp All Rights Reserved, Copyright FUJITSU LIMITED 2007 64 バックアップが可能なアーカイブログファイルは 下記 2つのいずれかの状態になります 退避待ち状態アーカイブログファイルが満杯でSymfowareがアーカイブログファイルを切り替えた状態 強制切替え状態アーカイブログファイルが強制切替えされた状態 使用中のアーカイブログファイルは バックアップできません アーカイブログを強制切替え (rdblog -S -a) し アーカイブログファイルをバックアップ (rdblog -B -a) します アーカイブログファイルが満杯になった場合 Symfoware が自動的にアーカイブログファイルを切り替えますが すべてのアーカイブログファイルが満杯になると 空きができるまでアプリケーションは無応答状態となります ( ) この場合 アーカイブログをバックアップすることで Symfoware の運用が再開されます システム用またはクライアント用動作環境ファイルのパラメタ ARC_FULL に RETURN を設定することでアプリケーションがエラー復帰するよう動作を変更できます All Rights Reserved, Copyright FUJITSU LIMITED 2007 64

4.2.1.4 アーカイブログの破棄 2 退避データ取得前のアーカイブログを破棄 rdblog R -a rdblog S -a 1 アーカイブログの強制切替え アーカイブログ : 通番 1 アーカイブログ : 通番 2 アーカイブログ : 通番 3 データ バックアップ周期 データ 時間 rdbdmp rdbdmp All Rights Reserved, Copyright FUJITSU LIMITED 2007 65 アーカイブログファイルは 循環使用されるため 不要になったアーカイブログファイルは破棄 (rdblog R a ) します アーカイブログの破棄は 1 個ずつしか実行できないため 不要なアーカイブログが 2 個ある場合 2 回実行します 使用中のアーカイブログファイルは破棄できません アーカイブログの強制切替え (rdblog S a) することで アーカイブログの破棄 (rdblog R a ) ができます All Rights Reserved, Copyright FUJITSU LIMITED 2007 65

4.2.2 Advanced Backup Controller でのバックアップ運用 オンライン オンライン オンライン オンライン Primary Primary Primary Primary Secondary Secondary 時間 任意の時点でダイナミックに切り離し可能 Backup Backup 業務と無関係に二次退避可能 All Rights Reserved, Copyright FUJITSU LIMITED 2007 66 Advanced Backup Controllerは 大規模データベースに対しても 瞬時にかつ業務を停止することなくバックアップが可能なオプション製品です Advanced Backup Controllerでは ディスクアレイ装置 ETERNUSシリーズのOPC 機能 EC 機能を利用してミラー化したディスクや PRIMECLUSTER GDSの提供するボリュームに割り付けてソフトミラー化したディスクを任意の時点でダイナミックに切り離し 切り離したディスクの一片をバックアップデータとすることができます また ストレージ管理ソフトウェアSoftek AdvancedCopy ManagerやネットワークストレージサーバSP5000と連携することにより データベースのリカバリを行うためのバックアップデータやアーカイブログを自動的に管理できるため データ管理やリカバリ自体が容易になります ECバックアップ ETERNUSシリーズのアドバンストコピー機能 EC 機構を利用した瞬時バックアップの機能です 同期処理を依頼すると コピー元とコピー先を等価状態に維持するため ETERNUSシリーズのハード機構による低負荷のデータコピーをします 等価状態のDISKをバックアップ指示により切り離すことで バックアップを完了するため ほぼ瞬時にバックアップは完了します OPC バックアップ ETERNUS シリーズの OPC 機構を利用したバックアップの機能です バックアップ指示をすると ハード機構による低負荷の DISK コピーをバックグラウンドで実行します 注意点 Advanced Backup Controller のメディアリカバリは データベースだけを対象としています RDB ディクショナリや RDB ディレクトリファイルを対象とするメディアリカバリは 一般の機能である rdbdmpdic コマンドと rdbrcvdic コマンドで実施します All Rights Reserved, Copyright FUJITSU LIMITED 2007 66

4.2.3 データベースのアンロード 外部ファイル 製品番号 110 110 111 111 123 : 製品名テレビテレビ洗濯機洗濯機冷蔵庫 : 倉庫番号 A C B C A : 在庫数量 85 15 90 40 60 : rdbunl rdbunlsql 外部ファイル All Rights Reserved, Copyright FUJITSU LIMITED 2007 67 rdbunl コマンドによるデータのアンロード 表やインデックスを出力する場合 rdbunl コマンドを使用すると 外部ファイルへデータをアンロードできます 外部ファイルはバイナリ形式または CSV 形式に対応しています rdbunlsqlコマンドによるデータのアンロード SQL 文による検索結果を出力する場合 rdbunlsqlコマンドを使用すると 外部ファイルに出力することができます また 検索結果を編集して 外部ファイルに出力することもできます 外部ファイルはバイナリ形式またはCSV 形式に対応しています All Rights Reserved, Copyright FUJITSU LIMITED 2007 67

4.3 リカバリ データベースの復旧 Advanced Backup Controller での復旧 データベースのロード All Rights Reserved, Copyright FUJITSU LIMITED 2007 68 データベースの復旧データベース運用中に障害が発生した場合 障害が発生する前の状態にリカバリします RDBコマンドを使用して バックアップしたデータからDSI 単位または データベーススペース単位にデータベースをリカバリします RDB ディレクトリファイルに障害が発生した場合 データベースから RDB ディレクトリファイルをリカバリします これをリバースクリエーションと呼びます これにより 全データベースの再構築することなく 短時間で業務を再開できます Advanced Backup Controller での復旧 ストレージ管理製品として Softek AdvancedCopy Manager やネットワークストレージサーバを利用する場合 障害が発生している単位またはデータベース全体のデータをリカバリします データベースのロード表やインデックスの創成する場合 rdbsloaderコマンドを使用すると 外部ファイルからDSIに対してデータのロードができます 外部ファイルはバイナリ形式またはCSV 形式に対応しています All Rights Reserved, Copyright FUJITSU LIMITED 2007 68

4.3.1 データベースのリカバリ バックアップ方式に対応した専用コマンドを使用してリカバリ メディア障害の場合のリカバリ データベース (DSI) のリカバリ (rdbrcv) RDB ディクショナリ /RDB デイレクトリファイルのリカバリ (rdbrcvdic) All Rights Reserved, Copyright FUJITSU LIMITED 2007 69 データベース (DSI) のリカバリ DSIのリカバリは rdbrcvコマンドを使用します RDBディクショナリのリカバリ RDBディクショナリのリカバリは rdbrcvdicコマンドを使用します All Rights Reserved, Copyright FUJITSU LIMITED 2007 69

4.3.1.1 データベース (DSI) のリカバリ 1rdbdmp 表 DSI a アーカイブログ 退避データ 2insert ~ values( b ) a b b 3insert ~ values( c ) a b c b c 障害発生 アクセス禁止状態になる qdg13039u: qdg13039u: データベーススペースのデバイスに異常を検出しましたデータベーススペースのデバイスに異常を検出しました qdg03650u: qdg03650u: 入出力障害のためデータベースをアクセス禁止状態にしました入出力障害のためデータベースをアクセス禁止状態にしました DB DB 名 = = DSI= xxxx DSI= xxxx ページ番号ページ番号 = 10 = 10 DBS DBS 名 = DBSP_1 = DBSP_1 物理ブロック物理ブロック 4 rdbrcv -F -i [ 表 DSI 名 ] f [ 退避ファイル名 ] -w [ ワークファイルパス名 ] アクセス禁止状態は自動的に解除される a b c b c a All Rights Reserved, Copyright FUJITSU LIMITED 2007 70 以下の手順でリカバリします 1 システムメッセージの確認および障害ディスクの特定 2 ディスク上のデータベーススペース名の確認 3 データベーススペース内のDSIの確認 4 障害ディスク上のデータベーススペースの切り離し 5 障害ディスクの復旧 6 切り離したデータベーススペースの接続 7 データベーススペースが属するロググループの確認 8 アクセス禁止の設定 9 DSIの復旧障害が発生したDSIが 表のDSIかインデックスのDSIでRDBコマンドの指定方法が異なります 表のDSIをリカバリする場合 rdbrcvコマンドにfwモードを指定して実行します データベースを退避データ取得時点の状態に戻し アーカイブログを順次適用して最新状態までリカバリします インデックスのDSIをリカバリする場合 V8より 表のDSIをリカバリした場合に 同期復元機能 (rまたはrbオプション) を使用しなくても 関連するインデックスのDSI(XML 格納構造のインデックスのDSIを除きます ) を自動的にリカバリするようになりました 表のDSIのリカバリ後に行っていたインデックスのDSIは必要なくなりました 用語の解説 ダンプレス機能表のDSIの内容をもとに -iオプションで指定したインデックスのdsiを復元する機能 同期復元機能表のDSIに対して退避データによる復旧を行った後 関連するすべてのインデックスのDSIを 指定した表のDSI の内容をもとに復元する機能 V8よりXML 格納構造のインデックスのDSIを除き 本オプションを指定しない場合でも 無条件でインデックスのDSIを復旧します FWモード当該データベース資源 (DSI) を アーカイブログを適用して 最新状態にまでリカバリするモード 退避データの取得時点の状態にまでリカバリするモードはLOADモードといいます All Rights Reserved, Copyright FUJITSU LIMITED 2007 70

4.3.1.2 RDB ディクショナリのリカバリ ログ アーカイブログファイル RDB ディクショナリ rdbrcvdic 退避データ メッセージ All Rights Reserved, Copyright FUJITSU LIMITED 2007 71 RDB ディクショナリのリカバリは rdbrcvdic コマンドを使用します そのとき 退避データ アーカイブログファイルが使用されます リカバリの状態として 最新状態まで復旧させるFWモード またはあるバックアップ地点に復旧させるLOADモードを使い分けます Symfoware Server Enterprise Extended Editionでは フォールバック運用 (RDBディクショナリをメモリ常駐させる運用 ) が可能です フォールバック運用している場合のRDBディクショナリのリカバリは データベースを停止させることなくOverwrite モード ( メモリ常駐のRDBディクショナリを使用 ) でリカバリできます All Rights Reserved, Copyright FUJITSU LIMITED 2007 71

4.3.1.3 RDB ディレクトリファイルのリカバリ RDB ディクショナリ RDB ディレクトリファイル データベース rdbrcvdic All Rights Reserved, Copyright FUJITSU LIMITED 2007 72 RDB ディレクトリファイルのリカバリは RDB ディクショナリおよびデータベースを参照して復旧します これをリバースクリエーション機能と呼びます また RDB コマンドを使用して 最優先となる業務で利用している資源を段階的に復旧するインクリメンタルリカバリ機能もあります All Rights Reserved, Copyright FUJITSU LIMITED 2007 72

4.3.2 Advanced Backup Controller でのリカバリ DISK A データベーススペース qdg13039u: qdg13039u: データベーススペースのデバイスに異常を検出しましたデータベーススペースのデバイスに異常を検出しましたディスク交換する前にデー 1 rdbexspc タベーススペースを一時的に切り離し ディスク同期をリカハ リ制御ファイル解除します 2 swstcancelsync Point! Point! DISK A データベーススペース DISK C DISK B 退避データ アーカイブログ ディスク交換 データベーススペース 2 swstrestore -g メディアリカバリモードを使ってデータベーススペースを復元します Softek AdvancedCopy Manager のコマンド All Rights Reserved, Copyright FUJITSU LIMITED 2007 73 Advanced Backup Controllerの瞬時バックアップ機能を使用して アーカイブログファイルと連携した運用の場合 業務を停止することなく 短時間にデータベースを復旧する機能を提供します データベース復旧のさい 交換したディスクに退避データをリストアします それに対してログを適用することで 最新の状態までデータベースを復旧できます ETERNUSのアドバンスドコピー機能で 退避データのリストア時間は大幅に短縮され データベースの復旧時間を占めるほとんど時間はログ適用時間となります 注意点 Advanced Backup Controllerのメディアリカバリは データベースだけを対象としています RDBディクショナリや RDBディレクトリファイルを対象とするメディアリカバリは 一般の機能であるrdbdmpdicコマンドとrdbrcvdicコマンドで実施します All Rights Reserved, Copyright FUJITSU LIMITED 2007 73

4.3.3 データベースのロード バッチ処理 従業員表 従業員表 従業員表 rdbunl 時間 イメージデータ rdbsloader 元に戻す All Rights Reserved, Copyright FUJITSU LIMITED 2007 74 rdbsloader コマンドは CSV 形式で書かれたファイルだけでなく rdbunl コマンドによって作成したバイナリデータもデータベース内の任意の表に取り込めます 表の形式 プラットフォームやコード系等が同じであれば 異なるデータベース間でのデータ移行も可能です rdbunl コマンドで退避したデータを rdbsloader コマンドでリストアすることで 退避時点の状態に戻すことができます 直前の状態まで復旧したい場合は rdbunl コマンドで退避後のバッチ処理等のすべての更新処理を 再実行する必要があります All Rights Reserved, Copyright FUJITSU LIMITED 2007 74

4.4 保守 運用 運用中の定義変更 データベースの再配置 データベースの容量拡張 All Rights Reserved, Copyright FUJITSU LIMITED 2007 75 運用中の定義変更 業務で使用する表に対し 運用中に定義操作することができます Symfoware は 運用中の定義変更について 以下の機能を備えています 列の追加 DSIの追加 DSIの分割値の変更 データベースの再配置表のインデックスの再配置が必要になることがあります Symfowareは データベースの再配置について 2つの機能を備えています 静的再配置 動的再配置 データベースの容量拡張データベースの初期の容量は DSI 定義時に指定するデータベース容量で決定します その後 表やインデックスの容量が不足した場合 データベースの容量を拡張する必要があります Symfowareは データベースの容量拡張について 2つの機能を備えています 静的容量拡張 動的容量拡張 All Rights Reserved, Copyright FUJITSU LIMITED 2007 75

4.4.1 運用中の定義変更 顧客テーブル DSI DSI 新規 DSI 営業店担当顧客コード 支店 A 支店 B 支店 C 新宿店新宿店 0101 0105 10012121 10023456 顧客テーブル 渋谷店 0201 20025670 渋谷店営業店 0215担当 20053457 顧客コード 新宿店新宿店 渋谷店渋谷店 0101 0105 0201 0215 10012121 10023456 20025670 20053457 新商品 列追加 顧客テーブル 営業店担当顧客コード 新宿店新宿店 渋谷店 0101 0105 0201 10012121 10023456 20025670 DSI 追加 既存サービス 新規サービス 支店 A 支店 B 新規支店 C All Rights Reserved, Copyright FUJITSU LIMITED 2007 76 インターネットビジネスにおいて サービスの運用を実施しながら 新しいサービスを追加したい または 既存のサービスを変更したいという要件があります このような場合にも Symfoware は柔軟に対応することができます 新しいサービスに必要な情報が追加されると 表の定義に新しい列を追加することができます もちろん その表に対してのアクセスを止める必要はありません つまり 既存の列に対しては参照 更新処理が動作している状況で 新しい列を追加することができます そして この新しい列を利用するアプリケーションを実行することができます 言い換えれば サービスの運用を続けたまま 既存のサービスを拡張した新しいサービスの運用を開始することができます たとえば 新しい支店が増えた場合 その支店の情報を格納するための DSI を増設することによって 他の支店のサービスを一切停止せずに 新しい支店のサービスを立ち上げることができます インターネットビジネスにおける サービスの運用を実施しながら新しいサービスを追加したい または 既存のサービスを変更したいという要件に対応していくことができます All Rights Reserved, Copyright FUJITSU LIMITED 2007 76

4.4.1.1 列の追加 Symfoware 定義変更中も アプリケーション アプリケーション の実行は可能 アプリケーション A B C A B C D A B C D + All Rights Reserved, Copyright FUJITSU LIMITED 2007 77 業務で扱うデータの種類を拡張する方法として 既存の表に列を追加することが考えられます このような場合も ALTER TABLE 文を使用することで 表をアクセスするアプリケーションを停止することなく 表に列を追加できます 追加する列の定義情報を確定後 追加した列をアクセスする新規のアプリケーションの実行をすることができます 列定義追加直後は 追加した列にはデフォルト句で指定したデフォルト値が設定されています 追加した列にデータを格納後に新しいアプリケーションの実行を開始する場合 運用中の業務と並行して 追加した列にアプリケーションでデータを格納し その後 新しい運用を開始します All Rights Reserved, Copyright FUJITSU LIMITED 2007 77

4.4.1.2 DSI の追加 アプリケーション Symfoware 表 DSI DSI DSI 東京支店 大阪支店 名古屋支店 (1)rdbddlex コマンド SQL 文により DSI を作成 アプリケーション Symfoware 表 DSI DSI DSI 東京支店 大阪支店 名古屋支店 (2)rdbddlfixコマンド定義確定 (3) rdbsloaderコマンドまたは rdbfmtコマンド DSI 創成または初期化 All Rights Reserved, Copyright FUJITSU LIMITED 2007 78 表を支店ごとにパーティショニング (DSI 分割 ) している場合 支店の追加に伴い DSI の追加が必要となります 運用中にこのような要件が発生した場合 運用を停止することなく 表のDSIと関連するインデックスのDSIを動的に追加できます 追加したDSIは RDBコマンドにより アプリケーションの処理対象となります DSIの追加 1 rdbddlexコマンドを使用し DSIを作成 2 rdbddlfixコマンドを使用し 定義を確定 3 rdbsloaderコマンドを使用して DSI 創成または rdbfmtコマンドを使用して DSIの初期化 All Rights Reserved, Copyright FUJITSU LIMITED 2007 78

4.4.1.3 DSI の分割値の変更 DSI3 月 DSI4 月 DSI5 月 DSI2 月 : 除外された DSI アプリケーション DSI3 月 DSI4 月 DSI5 月 DSI2 月 rdbexdsi(dsiの除外 (1)/DSIの除外確認(2)) DSI3 月 DSI4 月 DSI5 月 DSI2 月 rdbunl(dsiの退避 (3)) rdbfmt(dsiの初期化 (4)) Point! Point! : 除外されていない DSI rdbddlex(dsi の分割値変更 (5)) DSI3 月 DSI4 月 DSI5 月 DSI2 月 rdbexdsi(dsi の除外解除 (6)) All Rights Reserved, Copyright FUJITSU LIMITED 2007 79 DSI を循環使用する運用では 月の変わり目で 最も古い月のデータを格納する DSI の分割値を変更して新しい月のデータを格納する DSI にします アプリケーションが動作中の場合 変更対象の DSI を運用から除外して DSI の分割値を変更します 上記の例では 1 ヶ月ごとに DSI を分割しています 3 月の DSI には 2006 年 3 月のデータが格納されるよう DSI の分割定義がされているとします (1) により DSI を除外し アプリケーションから 3 月の DSI が参照できないようにします (5) の分割値を変更し 2006 年 3 月 2007 年 3 月 に DSI 分割値を変更します (6) の DSI 除外解除によって 以降のアプリケーションで 2007 年 3 月のデータを挿入した場合 3 月の DSI にデータが格納されます All Rights Reserved, Copyright FUJITSU LIMITED 2007 79

4.4.2 データベースの再配置 rdbgcdsi コマンド ( 静的再配置 ) によるデータベースの再配置 Symfoware : アクセス処理範囲 All Rights Reserved, Copyright FUJITSU LIMITED 2007 80 データの追加 更新および削除が頻発した場合 自己調整の範囲内ではデータ処理の効率を維持できなくなることがあります このような時 データベースを再配置します データの再配置は RDB コマンドで実行する静的再配置と 運用中自動的に実行される動的再配置があります 静的再配置 特定の DSI を オンライン業務から切り離し rdbgcdsi コマンドで再配置を実行します そのため 業務を停止することなく局所的に再配置できます システム無停止での保全が可能です 動的再配置 DSO を作成時 格納オプションにパラメタを設定して再配置を動的に実行します 格納オプション指定 - 表 DSO : 格納オプションに 表の DSI 領域の自動再配置 ORDER(1) を設定します - インデックス DSO : 格納オプションに 再配置指定 REALIGNMENT または ORDER(1): 縮退指定 DEGENERATE を設定します DSI のページ内の領域の統合等の自動再配置を行い データの更新や追加時に削除領域を再使用 します DEGENERATE: 行の削除によりインデックスのページ内に有効なデータがなくなった場合に そのページを未使用として管理し 行の追加時に新たなページが必要になった時点で再使用を行います REALIGNMENT: インデックスデータの削除や追加時に 自動的にインデックスのデータを再配置し インデックスデータの削除や追加等によって発生するインデックス構造の不均衡を解消し 性能劣化を防止します REALIGNMENTは DEGENERATEの機能を含んでいます データ構造がSEQUENTIALの場合に指定可能 All Rights Reserved, Copyright FUJITSU LIMITED 2007 80

4.4.3 データベースの容量拡張 rdbalmdsi -i データベース名.DSI 名 a アラームポイント c 拡張契機 e 拡張領域の割付量 p データベース名. データベーススペース名 DSI の初期領域 アラームポイント 拡張契機 警告メッセージ 使用量がアラームポイントに達しました 拡張された領域 All Rights Reserved, Copyright FUJITSU LIMITED 2007 81 データベースの初期の容量は DSI 定義時に指定するデータベース容量で決定されます その後 表やインデックスの容量が不足した場合 データベースの容量を拡張します オンライン業務中に データベースの容量不足が発生しないように 必要に応じて自動的にデータベースの容量を拡張することができます 容量拡張機能を使用することで オンライン業務を中断することなく データベースの容量を拡張できます 動的容量拡張は rdbalmdsiコマンドにより 設定します 注意点容量拡張処理が頻発する場合 オンライン業務のレスポンスに悪影響を及ぼします 拡張処理が頻発しないようにするには 以下の配慮ををすることが重要です 初期容量を確保して 最初から拡張が頻発しないように配慮する 拡張の単位は ある程度の大きさとすることにより 拡張回数を少なくする 拡張単位の絶対容量が拡張処理が許される時間内に終了する程度のサイズとする All Rights Reserved, Copyright FUJITSU LIMITED 2007 81

4.4.4 監査ログ制御 データサーバ 利用者定義 CREATE USER 文 権限付与 権限剥奪 GRANT 文 /REVOKE 文 監査レポート RDB ディクショナリ 利用者認証 監査監査ログデータベース 応用プログラム データ操作文 利用者名パスワード利用者 B ******** CONNECT 文 得利用者 Z ******** 利用権限範囲のチェック ログ取得17:51:50 17/10/2001 不正ユーザ利用者 17:51:55 17/10/2001 コネクト利用者 1 17:52:10 17/10/2001 利用者 1 TABLE 名 17:59:00 17/10/2001 利用終了利用者 1 All Rights Reserved, Copyright FUJITSU LIMITED 2007 82 監査ログ制御は 管理者の権限濫用 利用者のデータベースへの不正アクセスなどの脅威に対抗するための機能です 管理者や利用者の処理を 追跡するための情報が監査ログとして監査ログデータベースに保持されます 管理者は 監査ログを定期的に参照 監視することによってシステムが何らかの攻撃を受けている あるいは利用者が誤ったオペレーションをしているためにシステムの資源が枯渇しかかっている といった事象を検知し 適切な対応することで システムダウンやその他の不健全な状態に陥ることを防止できます 監査ログ監査ログとは 日常の管理者および利用者の監視やセキュリティ上の問題が発生した場合 原因を特定するため 利用者の処理 管理者の処理および発生した異常な事象をログとして残すものです 監査ログ表監査ログを格納する表です 監査ログ表は 通常の表と同様にSQL 文でアクセスすることができます 監査ログ表は 複数のDSIに分割されています この監査ログ表のDSIを監査ログエレメント ( または略してエレメント ) と呼びます 監査ログを格納するデータベースを監査ログデータベースと呼びます All Rights Reserved, Copyright FUJITSU LIMITED 2007 82

4.4.4.1 監査ログの取得 監査ログ取得情報の選択 監査ログの参照 監査データベースの運用 保守 All Rights Reserved, Copyright FUJITSU LIMITED 2007 83 監査ログの取得 監査ログに取得する情報は 以下の 4 つです 監査ログは それぞれに対して 誰が いつ実行したか 処理の内容は何か 処理は成功したか否か といった情報を取得します アプリケーション実行に関する情報 資源アクセスに関する情報 管理者によるシステムの保守 運用に関する情報 システムが検出した異常事象に関する情報およびRDBシステムの運用に関する重要な情報 監査ログ取得情報の選択監査ログに取得する情報は 管理者が選択できます 監査ログ情報の選択は 以下の方法で実施します 標準セキュリティ運用の場合 : セキュリティパラメタをチューニングします 標準運用の場合 : 監査ログパラメタをチューニングします 監査ログの参照監査ログに取得した情報は 表の形式で監査ログデータベースに格納されます 監査ログ表は システム表と同様に SQL 文を実行し参照することができます 監査ログ表は 取得する情報の意味により4つのビュー表で構成されていますが レコード自体は1つの実表として格納されています また 監査ログ表は退避データをテキスト形式で参照することや 退避データを表に復元してSQL 文を用いて参照することもできます 監査ログデータベースの運用 保守 監査ログは 監査ログデータベースに格納されますので Symfoware では 1 つのデータベースとして扱います そのため 管理者による運用 保守作業が発生します All Rights Reserved, Copyright FUJITSU LIMITED 2007 83

MEMO All Rights Reserved, Copyright FUJITSU LIMITED 2007 84

All Rights Reserved, Copyright FUJITSU LIMITED 2007 85 第 5 章 Symfoware 高可用性