安裝與升級 > 安裝與組態指南 > 進階組態 > 配置資料庫應用程式使用者
  
配置資料庫應用程式使用者
資料庫安裝使用者是用於建立資料庫結構描述及載入所需資料。資料庫應用程式使用者可從 Windchill 執行交易。
如果您並未在安裝期間建立資料庫應用程式使用者,且不想使用該項目,則可以略過本節中的步驟。但是,某些模組 (例如 Windchill Business Reporting) 需要資料庫應用程式使用者,即使某個模組不是在安裝流程期間建立也是如此。在這些情況下,您必須完成下列程序。
如果您已在使用 PTC Solution Installer 安裝 Windchill 解決方案時建立了資料庫應用程式使用者,請執行下列步驟來完成組態:
1. Windchill shell 執行下列指令,以適當的值修改 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_APP_使用者_名稱>>。
如果您並未在安裝 Windchill 解決方案時建立資料庫應用程式使用者,則可在 PTC Solution Installer (PSI) 完成安裝解決方案之後,使用資料庫特定指令集與資料庫用戶端建立一個使用者。您必須將資料庫用戶端安裝在 Windchill 伺服器上,或者應從資料庫伺服器複製並執行指令集。使用下列步驟來手動建立資料庫應用程式使用者:
Oracle
1. 開啟 Windchill shell。
2. 將目錄變更為 <Windchill>\db\sql (或 sql3)。指令集位於這兩個資料夾中,且它們並不取決於單一或多位元組 Windchill 組態。
3. 使用 Sqlplus 公用程式,以資料庫管理使用者的身分登入 Windchill 資料庫。
* 
執行下列指令集的使用者必須對 <Windchill>\db\sql (或 sql3) 資料夾擁有讀取/寫入權限。
4. 執行 create_wc_app_user.sql 檔案來建立應用程式使用者、資料庫角色以及登入後觸發程式。
* 
PTC 建議您將 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 shell 執行下列指令,以適當的值修改 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_APP_使用者_名稱>>。
SQL Server
建立適用於 Cognos 的資料庫:
1. 「資料庫」資料夾上按一下滑鼠右鍵,然後選取「新建資料庫」
a. 「新建資料庫」對話方塊的「一般」標籤中,為目標資料庫輸入有意義的名稱
b. 按一下「選項」標籤,然後按一下「定序」的下拉清單並選取適當的定序
a. Cognos 需要使用 SQL_Collation 來配置其資料庫:
SQL Server 2008 R2:SQL_Latin1_General_CP1_CI_AS
SQL Server 2012:Latin1_General_100_CI_AS
c. 按一下「確定」以建立資料庫
d. 「資料庫」資料夾上按一下滑鼠右鍵,然後選取「重新整理」以檢視新建立的資料庫
2. 以使用者 'sa' 的身份,經由 SSMS (SQL Server Management Studio) 開啟「新建查詢」視窗並執行下列陳述式,以新建立的資料庫名稱 (區分大小寫) 取代 <DBNAME> 變數。
use [master]goALTER DATABASE [<DBNAME>] SET READ_COMMITTED_SNAPSHOT ONONgo
3. 以 admin 使用者 'sa' 的身份,經由 SSMS 開啟另一個「新建查詢」視窗,然後在以新建立的資料庫取代變數 <DBNAME> 之後執行下列程式碼區段,以便在這個新的資料庫中建立登入、使用者與結構描述。
USE [master]
GOCREATE LOGIN [<DBNAME>] WITH PASSWORD=N’<DBNAME>’, DEFAULT_DATABASE=[<DBNAME>],CHECK_EXPIRATION=OFF,CHECK_POLICY=OFFGOUSE [<DBNAME>]GOCREATE USER [<DBNAME>] FOR LOGIN [<DBNAME>]GOEXEC sp_addrolemember N’db_owner’, N’<DBNAME>’GOCREATE SCHEMA [<DBNAME>] AUTHORIZATION [<DBNAME>]GOALTER USER [<DBNAME>] WITH DEFAULT_SCHEMA=[<DBNAME>]GO
* 
在此情況下,為簡單起見,資料庫使用者名稱與密碼會設為與資料庫名稱相同。
4. Windchill shell 執行下列指令,以適當的值修改 Windchill db.properties 檔案:
* 
執行下列指令時,應使用所建立的 Cognos 資料庫使用者名稱來替代 <DBNAME>。
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 資料庫使用者名稱 <DBNAME>。
授與 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 Shell 中執行下列陳述式來更新 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_APP_資料庫_角色>
5. Windchill 配置資料庫應用程式使用者:
停止 Windchill 伺服器。
Windchill Shell 中執行下列陳述式來更新 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 伺服器。