ttMigrateを使用した別のメジャー・リリースへの移動
別のメジャー・リリースへの移動は、移行によって行われます。移行には、1つのメジャーTimesTenリリースから新しいメジャーTimesTenリリースへのアップグレード、またはTimesTenが実行されているオペレーティング・システム・プラットフォームの変更が含まれます。
移行には、1つのデータベースからスキーマとデータをコピーし、新しいリリースで新しいデータベースを作成してから、スキーマを作成してデータを新しいデータベースに挿入することが含まれます。ttMigrate
ユーティリティは、データベースの移行を自動化するために使用されます。ttMigrate
ユーティリティの詳細は、Oracle TimesTen In-Memory DatabaseリファレンスのttMigrateを参照してください。
あるメジャー・リリースから別のメジャー・リリースにデータベースを移行する前に、必ず古いリリースのデータベースをバックアップしてください。詳細は、Oracle TimesTen In-Memory DatabaseリファレンスのttBackupとttRestore、およびこのドキュメントのデータベースのバックアップおよびリストアを参照してください。
ノート:
Oracle Clusterwareを使用したTimesTenのレプリケーションは、Oracle Linux for Armシステムではサポートされていません。Oracle Linux for Armを使用している場合、この例の出力にOracle Clusterwareのメッセージは表示されません。アップグレードを実行するには、次のステップに従ってください。
旧リリースの場合:
-
ttAdmin
ユーティリティを使用して、database1
データベースをクローズします。これにより、追加のユーザー接続が防止されます。% ttAdmin -close database1 RAM Residence Policy : manual Manually Loaded In RAM : True Replication Agent Policy : manual Replication Manually Started : False Cache Agent Policy : manual Cache Agent Manually Started : False Database State : Closed
-
すべてのアプリケーションをデータベースから切断します。
ttStatus
ユーティリティを実行して、データベースへの接続がないことを確認します(この例ではdatabase1
)。% ttStatus TimesTen status report as of Sat Oct 2 18:31:59 2021 Daemon pid 28436 port 6624 instance myinstance TimesTen server pid 28443 started on port 6625 ------------------------------------------------------------------------ ------------------------------------------------------------------------ Data store /scratch/ttuser/database1 Daemon pid 28436 port 6624 instance myinstance TimesTen server pid 28443 started on port 6625 There are 13 connections to the data store Shared Memory KEY 0x061014ae ID 491521 PL/SQL Memory Key 0x071014ae ID 524290 Address 0x5000000000 Type PID Context Connection Name ConnID Subdaemon 28440 0x0000000001893250 Manager 2047 Subdaemon 28440 0x0000000001914210 Rollback 2046 Subdaemon 28440 0x00007f55d80008c0 Deadlock Detector 2043 Subdaemon 28440 0x00007f55d807f330 Log Marker 2040 Subdaemon 28440 0x00007f55dc0008c0 Monitor 2044 Subdaemon 28440 0x00007f55dc07f330 AsyncMV 2039 Subdaemon 28440 0x00007f55e00008c0 Checkpoint 2042 Subdaemon 28440 0x00007f55e007f330 Aging 2041 Subdaemon 28440 0x00007f55e40008c0 Flusher 2045 Subdaemon 28440 0x00007f55e40a6970 HistGC 2038 Subdaemon 28440 0x00007f56600008c0 XactId Rollback 2036 Subdaemon 28440 0x00007f56641b9cb0 IndexGC 2037 Subdaemon 28440 0x00007f5668048360 Garbage Collector 2035 Closed to user connections RAM residence policy: Manual Data store is manually loaded into RAM Replication policy : Manual Cache Agent policy : Manual PL/SQL enabled. ------------------------------------------------------------------------ Accessible by group g900 End of report
-
ttVersion
ユーティリティを実行して、現在のリリースを確認します。% ttVersion TimesTen Release tt22.1.1.29.0 (64 bit Linux/x86_64) (myinstance:6624) 2021-09-12T07:34:06Z Instance admin: instanceadmin Instance home directory: /scratch/ttuser/myinstance Group owner: g900 Daemon home directory: /scratch/ttuser/myinstance/info PL/SQL enabled.
-
ttMigrate
ユーティリティを使用して、スキーマとデータをデータベースからコピーします(この例ではdatabase1
)。% ttMigrate -c database1 /tmp/database1.data Saving profile DEFAULT Profile successfully saved. Saving profile SYSTEM Profile successfully saved. Saving user PUBLIC User successfully saved. Saving table TTUSER.COUNTRIES Saving foreign key constraint COUNTR_REG_FK Saving rows... 25/25 rows saved. Table successfully saved. Saving table TTUSER.DEPARTMENTS Saving foreign key constraint DEPT_LOC_FK Saving rows... 27/27 rows saved. Table successfully saved. Saving table TTUSER.EMPLOYEES Saving index TTUSER.TTUNIQUE_0 Saving foreign key constraint EMP_DEPT_FK Saving foreign key constraint EMP_JOB_FK Saving rows... 107/107 rows saved. Table successfully saved. Saving table TTUSER.JOBS Saving rows... 19/19 rows saved. Table successfully saved. Saving table TTUSER.JOB_HISTORY Saving foreign key constraint JHIST_DEPT_FK Saving foreign key constraint JHIST_EMP_FK Saving foreign key constraint JHIST_JOB_FK Saving rows... 10/10 rows saved. Table successfully saved. Saving table TTUSER.LOCATIONS Saving foreign key constraint LOC_C_ID_FK Saving rows... 23/23 rows saved. Table successfully saved. Saving table TTUSER.REGIONS Saving rows... 4/4 rows saved. Table successfully saved. Saving view TTUSER.EMP_DETAILS_VIEW View successfully saved. Saving sequence TTUSER.DEPARTMENTS_SEQ Sequence successfully saved. Saving sequence TTUSER.EMPLOYEES_SEQ Sequence successfully saved. Saving sequence TTUSER.LOCATIONS_SEQ Sequence successfully saved.
-
データベースをメモリーからアンロードします。この例では、RAMポリシーがmanualであることを前提としています。RAMポリシーの詳細は、Oracle TimesTen In-Memory Databaseオペレーション・ガイドのRAMポリシーの指定を参照してください。
% ttAdmin -ramUnload database1 RAM Residence Policy : manual Manually Loaded In RAM : False Replication Agent Policy : manual Replication Manually Started : False Cache Agent Policy : manual Cache Agent Manually Started : False Database State : Closed
-
TimesTenメイン・デーモンを停止します。
% ttDaemonAdmin -stop TimesTen Daemon (PID: 28436, port: 6624) stopped.
-
移行されたオブジェクト・ファイル(この例では
/tmp/database1.data
)を新しいリリースのインスタンスからアクセス可能なファイル・システムにコピーします。
新しいリリースの場合:
データベースが新しいリリースで稼働したら、このデータベースのバックアップを作成して、データベースの有効なリストア・ポイントを作成します。データベースのバックアップを作成したら、データベースのttMigrate
コピー(この例では、/tmp/database1.data
)を削除できます。オプションで、旧リリースの場合、インスタンスを削除してインストール環境を削除できます。
アップグレードの実行後、TimesTenの新しいリリースを使用する前に、既存のODBCおよびOCIアプリケーションを再コンパイルおよび再リンクしてください。詳細は、Oracle TimesTen In-Memory Database C開発者ガイドのODBC APIの非互換性の概要を参照してください。