説明
このステートメントは、パスオブジェクトを作成するために使用されます。
権限要件
パスオブジェクトを作成するには、
CREATE ANY DIRECTORYシステム権限が必要です。OceanBaseデータベースの権限の詳細については、Oracleモードの権限分類を参照してください。ファイル操作のセキュリティを確保するため、ファイルパスオブジェクトを作成する際には、システム変数
secure_file_privを指定されたセキュリティディレクトリに設定する必要があります。詳細については、secure_file_privを参照してください。
構文
CREATE [ OR REPLACE ] DIRECTORY directory AS 'path_name';
パラメータの説明
パラメータ |
説明 |
|---|---|
| OR REPLACE | OR REPLACE を指定すると、対応するパスオブジェクトが既に存在する場合、既存のパス定義を新しいファイルシステムパスで置き換えます。 |
| directory | 作成するパスオブジェクトの名前を指定します。最大長は30バイトです。 |
| path_name | ファイルシステムパスを指定し、共有ファイルシステムのアブソリュートパス名を定義します。パス名は大文字小文字を区別します。
注意OceanBaseデータベースは、ファイルシステム上にユーザーのためのパスを作成しません。ユーザーが |
例
以下の手順に従って、パスオブジェクトを作成します。
グローバルセキュリティパスを設定します。
注意
セキュリティ上の理由から、システム変数
secure_file_privを設定する際は、ローカルソケット接続でデータベースに接続し、このグローバル変数を変更するSQLステートメントを実行する必要があります。詳細については、secure_file_privを参照してください。ローカルUnixソケットを介してOceanBaseデータベースに接続します。例:
obclient -S /home/admin/test421/oceanbase/run/sql.sock -usys@oracle001 -p******グローバルセキュリティパスを設定します。
obclient [SYS]> SET GLOBAL secure_file_priv = "/usr/sqldump";
ログアウトします。
説明
secure_file_privはGLOBAL変数であるため、\qを実行してログアウトし、変更を有効にする必要があります。obclient [SYS]> \qデータベースに再接続します。
obclient -hxxx.xxx.xxx.xxx -P2881 -utest_user001@oracle001 -p******パスオブジェクト
sql_file_dirを作成します。obclient [TEST_USER001]> CREATE OR REPLACE DIRECTORY sql_file_dir AS '/usr/sqldump';