アクティブ・マスター・データベースの設定

このチュートリアルでは、TimesTen 11.2.1に付属する事前定義済のDSNであるrepdb1_1121およびrepdb2_1121を使用します。例にある2台のマシンのホスト名はstacb12およびstach17です。repdb1_1121はstacb12のアクティブ・データベースであり、stach17repdb2_1121はスタンバイ・データベースです。

アクティブ・スタンバイ・データベースを設定するには、最初にアクティブ・マスター・データベースを作成する必要があります。このデータベースには、ADMIN権限を持つユーザーおよびデータ・レプリケーションを示す表を持つアプリケーション・ユーザーを含める必要があります。

1. アクティブ・マスター・データベースの作成
a. インスタンス管理者としてサーバー1(stacb12)にログインし、アクティブ・マスター・データベースのDSNを定義します。この例では、事前定義済のDSNであるrepdb1_1121
を使用します。独自のDSNを定義する方法については、
「データソース名(DSN)の設定」を参照してください。
   
b. ttIsqlを使用して、データベースrepdb1_1121作成し、これに接続します。
   
  ttisql repdb1_1121
   
 
   
  必要に応じて、「TimesTenデータベースの作成」を参照してください。
2. レプリケーション操作を管理するデータベース・ユーザーの作成
a. データベース・ユーザーを作成し、データベース管理者およびレプリケーション管理者のロールを割り当てます。このユーザーは、アクティブ・スタンバイ・ペアを設定および管理します。

ttIsqlで管理者を作成し、このユーザーにADMIN権限を付与します。この例では、ユーザーadmが管理者です。

create user adm identified by adm;
grant admin to adm;
   
 
   
b. アプリケーション・ユーザー、およびデータベース内の表を作成します。この例では、appuserというアプリケーション・ユーザーを作成します。このユーザーがcustomers表およびorders表を所有します。
   
  create user appuser identified by appuser;
grant create session, create table to appuser;
   
 
   
c. ttIsqlにユーザーappuserとしてログインします。次のSQL文またはquickstart/sample_scripts/replicationディレクトリにあるスクリプトcreate_appuser_obj.sqlを実行して、appuserスキーマに2つの表を作成します。
   
  connect "dsn=repdb1_1121;uid=appuser";
  run "quickstart/sample_scripts/replication/create_appuser_obj.sql"
   
 

create table customers (
cust_number number,
first_name varchar2(12) not null,
last_name varchar2(12) not null,
address varchar2(100) not null,
primary key (cust_number));

insert into customers values (3700,'Peter','Burchard','882 Osborne Avenue, Boston, MA 02122');
insert into customers values (1121,'Saul','Mendoza','721 Stardust Street, Mountain View, CA 94043');

create table orders (
order_number number not null,
cust_number number not null,
prod_number char(10) not null,
order_date date not null,
primary key (order_number),
foreign key (cust_number) references customers (cust_number));

insert into ORDERS values (6853036,3700,'0028616731',to_date('2008-04-05','yyyy-mm-dd'));
insert into ORDERS values (6853041,3700,'0198612710',to_date('2009-01-12','yyyy-mm-dd'));
insert into ORDERS values (6853169,1121,'0003750299',to_date('2008-08-01','yyyy-mm-dd'));
insert into ORDERS values (6853174,1121,'0789428741',to_date('2008-10-25','yyyy-mm-dd'));
insert into ORDERS values (6853179,1121,'0198612583',to_date('2009-02-02','yyyy-mm-dd'));

   
d. ttIsqltablesコマンドを使用して、表が作成されたことを確認します。
   
  tables;
   
 

初期データベースを設定したら、アクティブ・スタンバイ・ペアの構成を定義して、現行のデータベースにアクティブ状態を割り当てることができます。

 

1 2 3 次へ >