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>