ページの先頭行へ戻る
Linkexpress Replication optionV5.0L19 導入運用ガイド
FUJITSU Software

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

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

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

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

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

LinuxLinuxの場合 : /opt/FJSVlnkre/ORACLE/SETUP/lxcrtdb.sh

SolarisSolarisの場合 : /opt/FSUNlnkre/ORACLE/SETUP/lxcrtdb.sh

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

シェルスクリプトの内容

LinuxLinuxの場合
#!/bin/bash
#
#        Copyright FUJITSU LIMITED 2016
#
#    Linkexpress Replication option 
#    This is the shell script for creating transaction log database
#    on Redhat Linux 5/6/7.
#
#  Function overview
#     Creating the transaction log database.
#

##### Parameter for tuning (START) #####
# Set of Oracle Version [Necessary]
# Definition of Version [ 920 | 1010 | 1020 | 1110 | 1120 | 1210 ]
  ORACLE_VERSION=1210

# User ID and password for Oracle administrator [Necessary]
  SYSTEM_ID=system
  SYSTEM_PASS=manager

# User ID and password for Linkexpress Replication [Necessary]
  USER_ID=repuser
  USER_PASS=repuser

# Allocation I of transaction log database
# File name (or raw device) and the size of TABLESPACE [Necessary]
  TBLSPACE_FILE1=/repdir1/rep_tblspace_file1.dat
  TBLSPACE_SIZE1=50M

# Allocation II of transaction log database 
# (Increment of capacity expansion, Purpose is monitoring of capacity)
# File name and the size of TABLESPACE [Optional]
  TBLSPACE_FILE2=/repdir2/rep_tblspace_file2.dat
  TBLSPACE_SIZE2=50M
  NEXT_SIZE2=5M
  MAX_SIZE2=100M

##### Parameter for tuning (END) #####

# Registering of user ID(Schema), Configuration of authority
  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
  echo "GRANT  SELECT    ANY DICTIONARY TO $USER_ID;  " >> repwk.sql
  echo "exit;                                         " >> repwk.sql
  sqlplus $SYSTEM_ID/$SYSTEM_PASS @repwk.sql

# Definition of 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

# Definition of TABLE
  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 "   ROWINF    CHAR(18))                     " >> repwk.sql
  echo " TABLESPACE REP_TBLSPACE_1;                " >> repwk.sql
  echo "exit;                                      " >> repwk.sql
  sqlplus $USER_ID/$USER_PASS @repwk.sql

# Provide INSERT authority to transaction log database
  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

# Definition of external function library
# for Linux 32bit
#  sqlplus $USER_ID/$USER_PASS @/opt/FJSVlnkre/etc/CREATE_FUNCTION.sql
# for Linux 64bit
  sqlplus $USER_ID/$USER_PASS @/opt/FJSVlnkre/etc/CREATE_FUNCTION64.sql

# Recovery and Return
  rm -f repwk.sql
  exit 0;
SolarisSolarisの場合
#!/sbin/sh
#
#	Copyright FUJITSU LIMITED 2000-2012
#
#    Linkexpress Replication option 
#    This is the shell script for creating transaction log database.
#      
#  Function overview
#     Creating the transaction log database.
#

##### Parameter for tuning (START) #####
# Set of Oracle Version [Necessary]
# Definition of Version [ 901 | 920 | 1010 | 1020 | 1110 | 1120 ]
  ORACLE_VERSION=1120

# User ID and password for Oracle administrator [Necessary]
  SYSTEM_ID=system
  SYSTEM_PASS=manager

# User ID and password for Linkexpress Replication [Necessary]
  USER_ID=repuser
  USER_PASS=repuser

# Allocation I of transaction log database
# File name (or raw device) and the size of TABLESPACE [Necessary]
  TBLSPACE_FILE1=/repdir1/rep_tblspace_file1.dat
  TBLSPACE_SIZE1=50M

# Allocation II of transaction log database 
# (Increment of capacity expansion, Purpose is monitoring of capacity)
# File name and the size of TABLESPACE [Optional]
  TBLSPACE_FILE2=/repdir2/rep_tblspace_file2.dat
  TBLSPACE_SIZE2=50M
  NEXT_SIZE2=5M
  MAX_SIZE2=100M

##### Parameter for tuning (END) #####

# Registering of user ID(Schema), Configuration of authority
  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
  echo "GRANT  SELECT    ANY DICTIONARY TO $USER_ID;  " >> repwk.sql
  echo "exit;                                         " >> repwk.sql
  sqlplus $SYSTEM_ID/$SYSTEM_PASS @repwk.sql

# Definition of 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

# Definition of TABLE
  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

# Provide INSERT authority to transaction log database
  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

# Definition of external function library
case $ORACLE_VERSION in
    901 | 920 | 1010 | 1020 )
      sqlplus $USER_ID/$USER_PASS @/opt/FSUNlnkre/etc/CREATE_FUNCTION.sql
      ;;
    * )
      sqlplus $USER_ID/$USER_PASS @/opt/FSUNlnkre/etc/CREATE_FUNCTION64.sql
      ;;
esac

# Recovery and Return
  rm -f repwk.sql
  exit 0;

シェルスクリプトの説明