설치 및 업그레이드 > 설치 및 구성 안내서 > 고급 구성 > 데이터베이스 응용 프로그램 사용자 구성
  
데이터베이스 응용 프로그램 사용자 구성
데이터베이스 설치 사용자는 데이터베이스 스키마를 작성하고 필요한 데이터를 로드하는 데 사용됩니다. 데이터베이스 응용 프로그램 사용자는 Windchill에서 트랜잭션을 실행합니다.
설치하는 동안 데이터베이스 응용 프로그램 사용자를 작성하지 않았으며 사용할 의도가 없는 경우에는 이 단원의 단계를 생략해도 됩니다. 하지만 Windchill Business Reporting과 같은 특정 모듈에는 데이터베이스 응용 프로그램 사용자가 필요합니다(설치 중 사용자를 작성하지 않은 경우에도 필요). 이러한 시나리오에서는 다음 절차를 완료해야 합니다.
PTC Solution Installer를 사용하여 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_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_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_APP_USER_NAME>이라는 데이터베이스 응용 프로그램 사용자 이름이 사용되었는지 확인합니다.
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. SSMS(SQL Server Management Studio)에서 새 질의 창을 열고 다음 문을 사용자 'sa'로 실행하고, <DBNAME> 변수를 새로 작성된 데이터베이스 이름 (대/소문자 구분)으로 대체합니다.
use [master]goALTER DATABASE [<DBNAME>] SET READ_COMMITTED_SNAPSHOT ONONgo
3. SSMS에서 다른 새 질의 창을 관리 사용자 'sa'로 열고, 변수 <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 셸에서 다음 명령을 실행하여 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 셸에서 다음 문을 실행하여 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_INSTALL_USERNAME>
Windchill 응용 프로그램 데이터베이스 역할 이름: <WINDCHILL_APP_DATABASE_ROLE>
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 서버를 시작합니다.