설치 및 업그레이드 > 설치 및 구성 안내서 > 고급 구성 > 데이터베이스 응용 프로그램 사용자 구성
  
데이터베이스 응용 프로그램 사용자 구성
데이터베이스 설치 사용자는 데이터베이스 스키마를 작성하고 필요한 데이터를 로드하는 데 사용됩니다. 데이터베이스 응용 프로그램 사용자는 Windchill에서 트랜잭션을 실행합니다.
설치하는 동안 데이터베이스 응용 프로그램 사용자를 작성하지 않았으며 사용할 의도가 없는 경우에는 이 단원의 단계를 생략해도 됩니다. 하지만 Windchill Business Reporting과 같은 특정 모듈에는 데이터베이스 응용 프로그램 사용자가 필요합니다(설치 중 사용자를 작성하지 않은 경우에도 필요). 이러한 시나리오에서는 다음 절차를 완료해야 합니다.
PTC Solution Installer를 사용하여 Windchill 솔루션을 설치할 때 데이터베이스 응용 프로그램 사용자를 작성한 경우 구성을 완료하려면 다음 단계를 수행하십시오.
1. Windchill 셸에서 다음 명령을 실행하여 Windchilldb.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_USER_NAME>이라는 데이터베이스 응용 프로그램 사용자 이름이 사용되었는지 확인합니다.
Windchill 솔루션을 설치할 때 데이터베이스 응용 프로그램 사용자를 작성하지 않은 경우, PSI(PTC Solution Installer)가 솔루션 설치를 완료한 후 데이터베이스 관련 스크립트와 데이터베이스 클라이언트를 사용하여 데이터베이스 응용 프로그램 사용자를 작성할 수 있습니다. 데이터베이스 클라이언트가 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_release_version, WindchillAppRole_release_version). 이렇게 하면 이름을 고유하게 식별하고 대상 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 셸에서 다음 명령을 실행하여 Windchilldb.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_USER_NAME>이라는 데이터베이스 응용 프로그램 사용자 이름이 사용되었는지 확인합니다.
SQL Server and Azure SQL Database
* 
SQL 및 Azure SQL 데이터베이스를 설치하기 전에 SQL 명령줄 도구가 설치되어 있는지 확인합니다.
1. $WT_HOME\db\sqlServer 셸을 열고 디렉터리를 Windchill로 변경합니다.
2. 응용 프로그램 사용자 및 데이터베이스 역할을 작성하려면 다음 배치 파일을 실행합니다.
Windows: <WT_HOME>\Windchill\db\sqlServer>create_wc_app_user.bat
Linux: <WT_HOME>/Windchill/db/sqlServer>create_wc_app_user.sh
D:\ptc\Windchill\db\sqlServer> create_wc_app_user.bat
이 스크립트를 실행하는 사용자에게 $WT_HOME\db\sqlServer 폴더에 대한 읽기/쓰기 권한이 있어야 합니다.
* 
WindchillAppUser_release_version 및 WindchillAppRole_release_version와 같이 이름에 Windchill MOR 버전을 추가하여 앱 사용자 및 역할을 작성하는 것이 좋습니다. 이 방법을 사용하면 고유 이름을 식별하고 대상 Windchill 버전과 연관시킬 수 있습니다.
스크립트 실행 출력의 예:
SQL Server Host Name: <DB HOST Name>
SQL Server Instance Name (for Named Instance only):
SQL Server Admin User name (default is sa):
Password for user sa:
Windchill Install Database User Name: <WINDCHILL_INSTALL_USERNAME>
Default database name for user s:
Windchill Application Database Role Name: <WINDCHILL_APP_DATABASE_ROLE>
Windchill Application Database User Name: <WINDCHILL_APP_USER_NAME>
Windchill Application Database User Password: <WINDCHILL_APP_USER_PASSWORD>
해당 사용자로 데이터베이스에 로그온하여 응용 프로그램 사용자와 역할이 정확하게 작성되었는지 확인합니다.
3. 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
4. Windchill 및 관련 서비스를 시작합니다.
메서드 서버 출력에서 데이터베이스 연결에 데이터베이스 응용 프로그램 사용자 이름 <WINDCHILL_APP_USER_NAME>이 사용되었는지 확인합니다.
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" -p
xconfmanager -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_INSTALL_USERNAME>
Windchill 응용 프로그램 데이터베이스 역할 이름: <WINDCHILL_APP_DATABASE_ROLE>
5. 데이터베이스 응용 프로그램 사용자를 사용하여 Windchill을 구성합니다.
a. Windchill 서버를 중지합니다.
b. 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
c. Windchill 서버를 시작합니다.