4.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スクリプトを実行します。
                  
例4-6 新しいユーザーの作成
この例では、割当て制限が無制限の永続表領域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 FALSEEnter value for password: <type your password>