ページの先頭行へ戻る
FUJITSULinkexpress Replication option 説明書

F.2 トランザクションログデータベースの作成方法

トランザクションログデータベースの作成は、Linkexpress Replication optionが提供するシェルスクリプトを実行することによって行います。

作成方法は、まずLinkexpress Replication optionが提供しているシェルスクリプトを実際の運用に合うように修正します。その後、修正したシェルスクリプトを実行します。なお、トランザクションログデータベースの作成の実行時には、Oracleを起動している必要があります。

以下にトランザクションログデータベース作成用シェルスクリプトについて説明します。

シェルスクリプトの格納場所

/opt/FSUNlnkre/ORACLE/SETUP/lxcrtdb.sh

シェルスクリプトの実施内容

シェルスクリプトの内容

#!/sbin/sh
#
# ALL RIGHTS RESERVED, COPYRIGHT FUJITSU LIMITED 2000-2005
#
#  Linkexpress Replication option
#  トランザクションログデータベース作成シェルスクリプト
#
#  機能概要
#     トランザクションログデータベースを作成する。
#
# オラクル・バージョン設定 [設定要]
# 指定可能値[ 815 | 816 | 817 | 901 | 920 | 1010 ]
    ORACLE_VERSION=920
# ORACLE管理者のユーザIDとパスワード [固定]
    SYSTEM_ID=system
    SYSTEM_PASS=manager
#レプリケーション用ユーザIDとパスワード [設定要]
    USER_ID=REPUSER
    USER_PASS=REPUSER
# データベースシステム名指定 [設定要]
    ORACLE_SID=orcl
# トランザクションログデータベースの割付1
# TABLESPACEのファイル名(又はローデバイス)とそのサイズ [設定要]
    TBLSPACE_FILE1=/repdir1/rep_tblspace_file1.dat
    TBLSPACE_SIZE1=50M
# トランザクションログデータベースの割付2 (容量拡張の増分、容量監視目的)
# TABLESPACEのファイル名とそのサイズ [設定は任意]
    TBLSPACE_FILE2=/repdir2/rep_tblspace_file2.dat
    TBLSPACE_SIZE2=50M
    NEXT_SIZE2=5M
    MAX_SIZE2=100M
# ユーザID(スキーマ)登録, および権限設定
    echo >  repwk.sql
    echo "CREATE USER $USER_ID IDENTIFIED BY $USER_PASS;" >> repwk.sql
    echo "GRANT  ANALYZE   ANY         TO  $USER_ID;    " >> repwk.sql
    echo "GRANT  CREATE    SESSION     TO  $USER_ID;    " >> repwk.sql
    echo "GRANT  CREATE    TABLESPACE  TO  $USER_ID;    " >> repwk.sql
    echo "GRANT  ALTER     TABLESPACE  TO  $USER_ID;    " >> repwk.sql
    echo "GRANT  DROP      TABLESPACE  TO  $USER_ID;    " >> repwk.sql
    echo "GRANT  UNLIMITED TABLESPACE  TO  $USER_ID;    " >> repwk.sql
    echo "GRANT  CREATE    ANY TABLE   TO  $USER_ID;    " >> repwk.sql
    echo "GRANT  ALTER     ANY TABLE   TO  $USER_ID;    " >> repwk.sql
    echo "GRANT  DROP      ANY TABLE   TO  $USER_ID;    " >> repwk.sql
    echo "GRANT  CREATE    ANY TRIGGER TO  $USER_ID;    " >> repwk.sql
    echo "GRANT  ALTER     ANY TRIGGER TO  $USER_ID;    " >> repwk.sql
    echo "GRANT  DROP      ANY TRIGGER TO  $USER_ID;    " >> repwk.sql
    echo "GRANT  SELECT    ANY TABLE   TO  $USER_ID;    " >> repwk.sql
    echo "GRANT  DELETE    ANY TABLE   TO  $USER_ID;    " >> repwk.sql
    echo "GRANT  ALTER     DATABASE    TO  $USER_ID;    " >> repwk.sql
    echo "GRANT  CREATE    ANY LIBRARY TO  $USER_ID;    " >> repwk.sql
    echo "GRANT  CREATE    ANY PROCEDURE TO  $USER_ID;  " >> repwk.sql
case $ORACLE_VERSION in
    901 | 920 | 1010 )
      echo "GRANT  SELECT    ANY DICTIONARY TO $USER_ID;  " >> repwk.sql
      ;;
esac
    echo "exit;                                         " >> repwk.sql
    sqlplus $SYSTEM_ID/$SYSTEM_PASS @repwk.sql
# TABLESPACE定義
    echo >  repwk.sql
    echo "CREATE TABLESPACE  REP_TBLSPACE_1                       "  >> repwk.sql
    echo " DATAFILE '$TBLSPACE_FILE1' SIZE $TBLSPACE_SIZE1 REUSE, "  >> repwk.sql
    echo "          '$TBLSPACE_FILE2' SIZE $TBLSPACE_SIZE2 REUSE  "  >> repwk.sql
    echo "          AUTOEXTEND ON NEXT    $NEXT_SIZE2             "  >> repwk.sql
    echo "                         MAXSIZE $MAX_SIZE2 ;           "  >> repwk.sql
    echo "exit;                                                   "  >> repwk.sql
    sqlplus $USER_ID/$USER_PASS @repwk.sql
# テーブル定義
    echo >  repwk.sql
    echo "CREATE TABLE $USER_ID.REPTABLE(            "  >> repwk.sql
    echo "   LOGKIND   NUMBER(1),                    "  >> repwk.sql
    echo "   SQLKIND   NUMBER(1),                    "  >> repwk.sql
    echo "   TBLCODE   NUMBER(10),                   "  >> repwk.sql
    echo "   RENTIME   CHAR(20),                     "  >> repwk.sql
    echo "   PARTNUM   NUMBER(8),                    "  >> repwk.sql
    echo "   PARTNO    NUMBER(8),                    "  >> repwk.sql
    echo "   BEFORE_LL VARCHAR2(4000),               "  >> repwk.sql
    echo "   AFTER_LL  VARCHAR2(4000),               "  >> repwk.sql
    echo "   BEFORE    VARCHAR2(4000),               "  >> repwk.sql
    echo "   AFTER      VARCHAR2(4000))              "  >> repwk.sql
    echo " TABLESPACE  REP_TBLSPACE_1;               "  >> repwk.sql
    echo "exit;                                      "  >> repwk.sql
    sqlplus $USER_ID/$USER_PASS @repwk.sql
# トランザクションログデータベースINSERT権付与
    echo >  repwk.sql
    echo "GRANT  INSERT ON $USER_ID.REPTABLE         “  >> repwk.sql
    echo “              TO PUBLIC WITH GRANT OPTION; “  >> repwk.sql
    echo "exit;                                      "  >> repwk.sql
    sqlplus $USER_ID/$USER_PASS @repwk.sql
# 外部ファンクション・ライブラリ定義
    sqlplus $USER_ID/$USER_PASS @/opt/FSUNlnkre/etc/CREATE_FUNCTION.sql
# 回収・復帰
    rm -f repwk.sql
    exit 0;

シェルスクリプトの説明