Oracle を使用した Codebeamer データベースのインポートとエクスポート
Codebeamer スキーマからダンプを作成する最も簡単な方法は、
Oracle Data Pump
ツールを使用することです。
管理者ユーザーが sysdba である場合、ユーザー名を入力するプロンプトで sys as sysdba と入力する必要があります。
ダンプの作成
コマンドラインから次のコマンドを実行します。
expdp <adminUserName>/<adminPassword> schemas=<schemaName> parallel=<numberOfCPUCores-1> directory=<data_pump_dir> dumpfile=CB_DUMP_%U.dmp logfile=DB_DUMP_exp.log
Codebeamer は Oracle 19.3 をサポートしています。それより新しいバージョンが使用されている場合は、VERSION パラメータも VERSION = 19.3 のように設定する必要があります。
デフォルトでは、directory の値は data_pump_dir です。ユーザーは、次のコマンドを実行して使用可能なディレクトリを確認できます。
SELECT owner, directory_name, directory_path
FROM all_directories
ディレクトリを作成するには、次のコマンドを実行します。
CREATE DIRECTORY <directory_name> AS 'absolute_path';
ダンプファイルは <data_pump_dir> にあります。
ダンプのインポート
Oracle ダンプには、データだけでなく、データの構造と保存場所も含まれます。
テーブルスペース
Oracle ダンプには、オブジェクトのテーブルスペース情報が含まれます。既存または新規のテーブルスペースに再マッピングする必要があります。
新規テーブルスペースの作成
サンプル SQL:
CREATE TABLESPACE <name of new tablespace> DATAFILE '<absolute path of data directory>' SIZE 100M AUTOEXTEND ON NEXT 100M MAXSIZE 31000M;
初期サイズが 100 メガバイト、最大サイズが 31,000 メガバイトのテーブルスペースが作成されます。
スキーマ
Oracle ダンプには、オブジェクトのスキーマ情報が含まれます。既存または新規のスキーマに再マッピングする必要があります。
新規スキーマの作成
新規のデータベーススキーマを作成するには、次のコマンドを実行します。
CREATE USER C##CBROOT IDENTIFIED BY CBROOT DEFAULT TABLESPACE <name of tablespace for the schema> QUOTA UNLIMITED ON <name of tablespace for the schema>;
GRANT CREATE SESSION TO C##CBROOT;
GRANT CREATE TYPE TO C##CBROOT ;
GRANT CREATE TABLE TO C##CBROOT ;
GRANT CREATE CLUSTER TO C##CBROOT ;
GRANT CREATE TRIGGER TO C##CBROOT ;
GRANT CREATE OPERATOR TO C##CBROOT ;
GRANT CREATE SEQUENCE TO C##CBROOT ;
GRANT CREATE INDEXTYPE TO C##CBROOT ;
GRANT CREATE PROCEDURE TO C##CBROOT ;
GRANT CREATE VIEW TO C##CBROOT ;
GRANT EXECUTE ON CTXSYS.CTX_DDL TO C##CBROOT ;
GRANT EXECUTE ON DBMS_LOB TO C##CBROOT ;
/*The following permissions is necessary to import the dump but it is not necessary to use codebeamer. If there is an admin user who can import the dump then it is not necessary to execute the following permissions*/
GRANT IMPORT FULL DATABASE TO C##CBROOT;
GRANT READ, WRITE ON DIRECTORY data_pump_dir TO C##CBROOT;
ダンプのインポート
データベースダンプをインポートするには、次のコマンドを実行します。
impdp <adminUserName>/<adminPassword> directory=<data_pump_dir> schemas=<schemaName> dumpfile=<dump file name>_%U.dmp logfile=DB_DUMP_imp.log job_name=job1 PARALLEL=<numberOfCPUCores-1>
Optional parameters:
REMAP_SCHEMA=<schema name in dump>:<schema name in database>
REMAP_TABLESPACE=<table space name in dump>:<table space name in database>
スキーマ統計の収集
スキーマのインデックス情報を再表示する必要があります。データベーススキーマに関する統計情報を収集するには、次のコマンドを実行します。
BEGIN
DBMS_STATS.GATHER_SCHEMA_STATS (
ownname => '<schema name>',
estimate_percent => 100,
method_opt => 'FOR ALL COLUMNS SIZE AUTO',
degree => 1,
granularity => 'ALL',
cascade => TRUE,
options => 'GATHER'
) ;
END ;