説明
このステートメントは、パスオブジェクトを作成するために使用されます。
権限要件
パスオブジェクトを作成するには、
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を設定する場合は、ローカルUnixソケット経由でデータベースに接続し、このグローバル変数を変更する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';