TimesTenでは、メタデータ(データ・ストアの内容に関する情報)をデータ・ストアのシステム表に格納します。
アプリケーションは、システム表の読取りはできますが、更新はできません。 アプリケーションでシステム表と同じ名前の表を定義している場合は、そのシステム表の名前の前にSYS
を付けることによって、アプリケーションでシステム表を読み取ることができます。 たとえば、SELECT * FROM SYS.TABLES
は、TABLESシステム表から行を選択します。 レプリケーション表を使用する場合は、名前の前にTTREP
を付けます。
システム表に固有の情報:
ユーザーがシステム表をロックすると、他のユーザーがデータを定義したり、SQLPrepare
ODBC関数またはConnection.prepareStatement
JDBCメソッドを実行できなくなります。
名前列内の最後の文字は常に空白です。 このため、名前列の列長は31ですが、オブジェクト名の最大長は30になります。
64ビット・システムでは、TimesTenシステム表は特定のフィールドをデータ型TT_BIGINTとして宣言します。 これらの列をODBCプログラムで検索する場合、アプリケーションはSQL_C_BINARYを使用して列をバインドする必要があります。 SQL_C_BINARYの詳細は、『Microsoft ODBC 2.0 -Programmer's Reference and SDK Guide』を参照してください。
注意: 一部の表には、SYS number という名前の列が含まれます。これらの列にはTimesTenで内部的に使用される列が含まれるため、この章では説明しません。 |
Timestenのいくつかのシステム表およびシステム・ビューは、内部的な使用または将来の使用のために予約されています。 これらの表の詳細は、この章では扱いません。
PL/SQLシステム表は内部的な使用のために予約済です。 かわりに、PL/SQLシステム・ビューを使用します。 TimesTenのPL/SQLシステム表は、次のとおりです。
PL/SQLがデータベースで有効な場合は、パッケージUTL_RECOMPの操作用に作成された次のような表やビューがあります。
次のPL/SQLシステム・ビューは内部的な使用のために予約済です。
デフォルトでは、PUBLICは各種のシステム表やシステム・ビューに対してSELECT権限を持ち、各種のPL/SQLオブジェクトに対してEXECUTE権限を持ちます。次の問合せを使用すると、オブジェクトのリストを表示できます。
SELECT * FROM sys.dba_tab_privs WHERE grantee='PUBLIC';
他のシステム表およびシステム・ビューにアクセスするには、表やビューの説明に記載がないかぎり、ADMINまたはSELECT ANY TABLE権限が必要です。