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はプライベートなシャードとしてマークされています)。