データベースアプリケーションユーザーの設定
データベースインストールユーザーは、データベーススキーマを作成して必要なデータを読み込むのに使用します。データベースアプリケーションユーザーは Windchill からトランザクションを実行します。
インストール時にデータベースアプリケーションユーザーを作成しておらず、使用する予定がない場合は、このセクションの手順をスキップできます。ただし、Windchill Business Reporting などの特定のモジュールは、インストールプロセス中にデータベースアプリケーションユーザーが作成されたかどうかに関係なく、データベースアプリケーションユーザーを必要とします。このようなシナリオでは、このセクションの手順を完了する必要があります。
PTC ソリューションインストーラを使用して Windchill ソリューションをインストールするときにデータベースアプリケーションユーザーを作成した場合は、次の手順に従って設定を完了させてください。
1. windchill シェルから次のコマンドを実行し、Windchill db.properties ファイルを適切な値に修正します。
◦ xconfmanager -s wt.pom.dbUser=<WINDCHILL_APP_USER_NAME> -t "db/db.properties" -p
◦ xconfmanager -s wt.pom.dbPassword=<WINDCHILL_APP_USER_PASSWORD> -t "db/db.properties" -p
◦ xconfmanager -s wt.pom.dbSchemaUser=<WINDCHILL_INSTALL_USERNAME> -t "db/db.properties" -p
2. Windchill と、これに関連するサービスを起動します。メソッドサーバーの出力から、データベースアプリケーションユーザー名 <Windchill_アプリケーションユーザー名> がデータベース接続として使用されていることを確認します。
Windchill ソリューションのインストール時にデータベースアプリケーションユーザーを作成しなかった場合は、PTC ソリューションインストーラ (PSI) によるソリューションのインストールが終了した後で、データベース固有のスクリプトとデータベースクライアントを使用して、データベースアプリケーションユーザーを作成することができます。データベースクライアントを Windchill サーバーにインストールするか、スクリプトをコピーしてデータベースサーバーから実行する必要があります。データベースアプリケーションユーザーを手動で作成するには、次の手順に従います。
Oracle
1. Windchill のシェルを開きます。
2. ディレクトリを <Windchill>\db\sql (または sql3) に変更します。スクリプトは両方のフォルダにあり、Windchill のシングルバイトまたはマルチバイト設定に依存しません。
3. Sqlplus ユーティリティを使用して、データベース管理者ユーザーとして Windchill データベースにログインします。
|
次のスクリプトを実行するユーザーには、<Windchill>\db\sql (または sql3) フォルダへの読み取り/書き込み権限が必要です。
|
4. create_wc_app_user.sql ファイルを実行してアプリケーションユーザー、データベース役割、ログイン後のトリガを作成します。
|
Windchill メンテナンスリリースバージョンを名前に付け加えて、アプリケーションユーザーと役割を作成することをお勧めします。たとえば、WindchillAppUser_10M0XX、WindchillAppRole_10M0XX などにします。これは、名前とターゲットの Windchill バージョンを一意に関連付けるのに役立ちます。
|
スクリプトを実行し、出力した結果の例を次に示します。
Windchill Install database User Name: <WINDCHILL_INSTALL_USERNAME>
Windchill Application database Role Name: <WINDCHILL_APP_DATABASE_ROLE>
Windchill Application database User Name: <WINDCHILL_APP_USERNAME>
Windchill Application database User Password: <WINDCHILL_APP_USER_PASSWORD>
Default Tablespace Name: users
Temporary Tablespace Name: temp
5. データベースにユーザーとしてログインし、アプリケーションユーザーと役割が正しく作成されたことを確認します。
6. windchill シェルから次のコマンドを実行し、Windchill db.properties ファイルを適切な値に修正します。
◦ xconfmanager -s wt.pom.dbUser=<WINDCHILL_APP_USER_NAME> -t "db/db.properties" -p
◦ xconfmanager -s wt.pom.dbPassword=<WINDCHILL_APP_USER_PASSWORD> -t "db/db.properties" -p
◦ xconfmanager -s wt.pom.dbSchemaUser=<WINDCHILL_INSTALL_USERNAME> -t "db/db.properties" -p
7. Windchill と、これに関連するサービスを起動します。メソッドサーバーの出力から、データベースアプリケーションユーザー名 <Windchill_アプリケーションユーザー名> がデータベース接続として使用されていることを確認します。
SQL Server
• Cognos 用データベースを作成:
1. 「Databases」フォルダを右クリックして「New Database」を選択します
a. 「New Databases」ダイアログの「General」タブで、ターゲットデータベースのわかりやすい名前を入力します
b. 「Options」タブをクリックし、「Collation」のドロップダウンリストをクリックし、適切な照合順序を選択します
a. Cognos のデータベースは以下の SQL_Collation を使用して設定する必要があります。
▪ SQL Server 2008 R2: SQL_Latin1_General_CP1_CI_AS
▪ SQL Server 2012: Latin1_General_100_CI_AS
c. 「OK」をクリックしてデータベースを作成します
d. 「Databases」フォルダを右クリックして「refresh」を選択することで、新規作成したデータベースを表示します
2. SSMS (SQL Server Management Studio) から新しい照会ウィンドウを開き、変数 <データベース名> を新規作成したデータベース名 (大文字と小文字を区別) に置き換えて、ユーザー 'sa' として以下の文を実行します。
use [master]goALTER DATABASE [<データベース名>] SET READ_COMMITTED_SNAPSHOT ONONgo
3. SSMS から別の新規照会ウィンドウを管理者ユーザー 'sa' として開き、変数 <データベース名> を新規作成されるデータベースに置き換えた後で以下のコードセグメントを実行することで、この新規データベースにログイン、ユーザー、スキーマを作成します。
USE [master]
GOCREATE LOGIN [<データベース名>] WITH PASSWORD=N'<データベース名>', DEFAULT_DATABASE=[<データベース名>],CHECK_EXPIRATION=OFF,CHECK_POLICY=OFFGOUSE [<データベース名>]GOCREATE USER [<データベース名>] FOR LOGIN [<データベース名>]GOEXEC sp_addrolemember N'db_owner', N'<データベース名>'GOCREATE SCHEMA [<データベース名>] AUTHORIZATION [<データベース名>]GOALTER USER [<データベース名>] WITH DEFAULT_SCHEMA=[<データベース名>]GO
|
この場合、簡潔にするため、データベースのユーザー名とパスワードはデータベース名と同じものに設定されています。
|
4. windchill シェルから次のコマンドを実行し、Windchill db.properties ファイルを適切な値に修正します。
|
以下のコマンドを実行する際には、作成された Cognos データベースのユーザー名を <データベース名> の代わりに使用する必要があります。
|
◦ xconfmanager -s wt.pom.dbUser=<DBNAME> -t "db/db.properties" -p
◦ xconfmanager -s wt.pom.dbPassword=<WINDCHILL_APP_USER_PASSWORD> -t "db/db.properties" -p
◦ xconfmanager -s wt.pom.dbSchemaUser=<WINDCHILL_INSTALL_USERNAME> -t "db/db.properties" -p
5. Windchill と、これに関連するサービスを起動します。メソッドサーバーの出力から、Windchill Business Reporting データベースのユーザー名 <データベース名> がデータベース接続に使用されていることを確認します。
SQL Server Windchill データベースアプリケーションユーザーに対する「定義を表示」権限の付与
SQL Server Windchill データベースアプリケーションユーザーを使用するシステムの場合、このデータベース役割に「定義を表示」アクセス許可を付与する必要があります。このアクセス許可を付与するには SQL Server Management Studio アプリケーションでターゲットのデータベース役割のプロパティダイアログを使用するか、次のような SQLCMD を使用します。
sqlcmd -S <SQLSERVER_INSTANCE> -U sa -{ <SA_Password> -d <Windchill_DB> -Q
"GRANT VIEW DEFINITION ON SCHEMA::[WINDCHILL_SCHEMA_USER] TO [WINDCHILL_APP_DB_ROLE]"
例:
D:\sqlcmd -S host01 -U user1 -P pass1 -d test1 -Q "GRANT VIEW DEFINITION ON
SCHEMA::[test1] TO [test1_role]"
データベースアプリケーションユーザーを使用して設定されている場合の Windchill コンポーネントまたは機能の追加
Windchill インストールがデータベースアプリケーションユーザーを使用して設定されている場合に、スキーマを変更する新しい Windchill 機能またはコンポーネントを追加するには、次の手順に従います。
1. データベースインストールユーザーを使用して Windchill を設定します。
◦ Windchill サーバーを停止します。
◦ Windchill シェルで次のステートメントを実行して、Windchill のデータベースインストールユーザーが反映されるよう Windchill データベースのプロパティを更新します。
xconfmanager -s wt.pom.dbUser=< WINDCHILL_INSTALL_USERNAME > -t
"db/db.properties" -pxconfmanager -s wt.pom.
dbPassword=<WINDCHILL_INSTALL_PASSWORD>
-t "db/db.properties" -p
◦ Windchill サーバーを起動します。
2. 新しい機能またはコンポーネントを Windchill インストールに追加します。
3. Oracle データベースの場合のみ: 新しく作成したデータベースオブジェクトへのアクセスを付与します。
◦ Sqlplus を使用してデータベース管理者ユーザーとしてデータベースにログインし、<WT_HOME>/db/sql/update_wc_app_role_privs.sql というスクリプトを実行して新しいスキーマオブジェクトに特権を付与します。
4. 指示に従って、以下の値を指定します。
◦ Windchill インストールデータベースユーザー名: <WINDCHILL_インストールユーザー名>
◦ Windchill アプリケーションデータベースロール名: <Windchill_アプリケーションデータベースロール>
5. データベースアプリケーションユーザーを使用して Windchill を設定します。
◦ Windchill サーバーを停止します。
◦ Windchill シェルで次のステートメントを実行して、Windchill のデータベースインストールユーザーが反映されるよう Windchill データベースのプロパティを更新します。
xconfmanager -s wt.pom.dbUser=< WINDCHILL_APP_USER_NAME> -t "db/db.properties"
?pxconfmanager -s wt.pom.dbPassword=<WINDCHILL_APP_USER_PASSWORD> -t
"db/db.properties" -p
◦ Windchill サーバーを起動します。