ORA_SHARDSPACE_NAME疑似列
ORA_SHARDSPACE_NAME
疑似列を使用すると、シャーディング・キーのかわりにシャード間で問合せを実行できます。
カタログからシャード間問合せを実行するには、共有DDLを有効にしてカタログ内にユーザーを作成する必要があります。次に、これらのユーザーにプライベートなシャード表へのアクセス権を付与する必要があります。
プライベートなシャード表を参照する問合せは、それらに関連する疑似列ORA_SHARDSPACE_NAME
を使用して、カタログ内のシャード間で実行されます。特定のシャードに対してシャード間問合せを実行するには、述語ORA_SHARDSPACE_NAME = <shardspace_name_belonging_to_name>
を使用して問合せをフィルタ処理する必要があります。
例
SELECT CUST_NAME, CUST_ID FROM CUSTOMER WHERE ORA_SHARDSPACE_NAME = 'EUROPE'
この問合せは、Europeという名前のシャード領域に属するシャードのいずれかで実行されます。問合せは、パラメータMULTISHARD_QUERY_DATA_CONSISTENCY
の値に応じて、シャード領域Europeのプライマリ・シャードまたはそのスタンバイのいずれかで実行されます。
次の問合せについて考えてみます。
SELECT CUST_NAME, CUST_ID FROM CUSTOMER
これは、すべてのシャードで実行されます(表CUSTOMER
はプライベートなシャードとしてマークされています)。