3.4.5 オンプレミスOracle Database用の新しいユーザーの作成
pyquser.sql
スクリプトは、オンプレミス・データベース用に新しいOML4Pyユーザーを作成するための便利な方法です。
pyquser.sqlスクリプトについて
pyquser.sql
スクリプトは、オンプレミスOML4Pyサーバー・インストールのコンポーネントです。このスクリプトはインストールのserver
ディレクトリにあります。スクリプトを実行するには、sysdba権限が必要です。
pyquser.sql
スクリプトでは、新しいユーザーに必須のオンプレミスOracleデータベースの権限を付与し、オプションでPYQADMINデータベース・ロールを付与します。PYQADMINロールは、Embedded Python Executionで使用するためにOML4Pyスクリプト・リポジトリでスクリプトを作成および管理するのに必要です。
pyquser.sql
スクリプトは次の5つの位置引数を取ります。
- ユーザー名
- ユーザーの永続表領域
- ユーザーの一時表領域
- 永続表領域割当て制限
- PYQADMINロール
スクリプトを実行すると、ユーザーのパスワードを入力するよう求められます。
新しいユーザーの作成
pyquser.sql
スクリプトを使用するには、抽出されたOML4Pyサーバーのインストール・ファイルが格納されているディレクトリのserver
サブディレクトリに移動します。データベース管理者としてスクリプトを実行します。
次の例では、SQL*Plusおよびsysdbaユーザーを使用してpyquser.sql
スクリプトを実行します。
例3-1 新しいユーザーの作成
この例では、割当て制限が無制限の永続表領域USERSと一時表領域TEMPでユーザーoml_userを作成し、PYQADMINロールをoml_userに付与します。
sqlplus / as sysdba
@pyquser.sql oml_user USERS TEMP unlimited pyqadmin
Enter value for password: <type your password>
プラガブル・データベースの場合は、次のとおりです。
sqlplus / as sysdba
alter session set container=<PDBNAME>
@pyquser.sql oml_user USERS TEMP unlimited pyqadmin
出力は、次のようなものです。
SQL> @pyquser.sql oml_user USERS TEMP unlimited pyqadmin
Enter value for password: welcome1
old 1: create user &&1 identified by &password
new 1: create user oml_user identified by welcome1
old 2: default tablespace &&2
new 2: default tablespace USERS
old 3: temporary tablespace &&3
new 3: temporary tablespace TEMP
old 4: quota &&4 on &&2
new 4: quota unlimited on USERS
User created.
old 4: 'create procedure, create mining model to &&1';
new 4: 'create procedure, create mining model to pyquser';
old 6: IF lower('&&5') = 'pyqadmin' THEN
new 6: IF lower('pyqadmin') = 'pyqadmin' THEN
old 7: execute immediate 'grant PYQADMIN to &&1';
new 7: execute immediate 'grant PYQADMIN to pyquser';
PL/SQL procedure successfully completed.
この例では、USERS表領域と一時表領域TEMPで割当て制限が20 MBのユーザーoml_user2を作成しますが、PYQADMINロールはありません。
sqlplus / as sysdba
@pyquser.sql oml_user2 USERS TEMP 20M FALSE
Enter value for password: <type your password>