|
1 | 1 | ## 계정 생성{#uid} |
2 | 2 |
|
| 3 | +<Xclude product="db2"> |
| 4 | + |
3 | 5 | 데이터베이스 모니터링을 하기 위해 필요한 권한을 가진 계정을 생성하세요. root(admin) 계정으로 로그인해 계정을 생성하세요. |
4 | 6 |
|
| 7 | +</Xclude> |
| 8 | + |
| 9 | +<InDoc product="db2"> |
| 10 | + |
| 11 | +DB2의 사용자 계정은 운영 체제의 사용자 계정과 연동됩니다. 따라서 **OS user**를 생성한 후 DB에서 권한을 부여해야 합니다. |
| 12 | + |
| 13 | +</InDoc> |
| 14 | + |
5 | 15 | <InDoc product="altibase"> |
6 | 16 |
|
7 | 17 | ```sql title="SQL" |
@@ -104,21 +114,58 @@ grant select, execute to DB_User; |
104 | 114 | grant showplan to DB_User; |
105 | 115 | ``` |
106 | 116 |
|
| 117 | +</InDoc> |
| 118 | + |
| 119 | +<InDoc product="db2"> |
| 120 | + |
| 121 | +### 모니터링을 위한 OS user 생성하기 |
107 | 122 |
|
| 123 | +DB를 설치한 계정과 같은 그룹으로 모니터링 계정을 생성하세요. |
| 124 | + |
| 125 | +1. DB를 설치한 계정의 그룹 이름을 확인하세요. |
| 126 | + |
| 127 | + ```bash |
| 128 | + db2 get dbm cfg | grep "SYSADM_GROUP" |
| 129 | + ``` |
| 130 | + |
| 131 | +1. **1**에서 확인한 그룹 이름의 `gid`를 확인하세요. |
| 132 | + |
| 133 | + ```bash |
| 134 | + cat /etc/passwd | grep {group_name} |
| 135 | + ``` |
| 136 | + |
| 137 | +1. **2**에서 확인한 `gid`로 OS 계정을 생성하세요. |
| 138 | + |
| 139 | + ```bash |
| 140 | + useradd -g {gid} {DB_User} |
| 141 | + ``` |
| 142 | + |
| 143 | +### 권한 부여하기 |
| 144 | + |
| 145 | +DB 설치 계정으로 DB에 접속하여 다음과 같이 권한을 부여하세요. |
| 146 | + |
| 147 | +```sql title="v11.1 or later" |
| 148 | +GRANT EXECUTE ON FUNCTION SYSPROC.MON_GET_CONNECTION TO USER {DB_User}; |
| 149 | +GRANT EXECUTE ON FUNCTION SYSPROC.MON_GET_DATABASE TO USER {DB_User}; |
| 150 | +GRANT EXECUTE ON FUNCTION SYSPROC.MON_GET_TRANSACTION_LOG TO USER {DB_User}; |
| 151 | +GRANT EXECUTE ON FUNCTION SYSPROC.MON_GET_BUFFERPOOL TO USER {DB_User}; |
| 152 | +GRANT EXECUTE ON FUNCTION SYSPROC.MON_GET_ACTIVITY TO USER {DB_User}; |
| 153 | +GRANT SELECT ON TABLE SYSIBMADM.MON_LOCKWAITS TO USER {DB_User}; |
| 154 | +``` |
108 | 155 |
|
109 | 156 | </InDoc> |
110 | 157 |
|
111 | 158 | :::note |
112 | 159 |
|
113 | | -<Xclude product="postgresql,mysql,altibase,mssql"> |
| 160 | +<Xclude product="postgresql,mysql,altibase,mssql,db2"> |
114 | 161 |
|
115 | 162 | * 이미 있는 계정을 사용하고 싶다면 [DB 유저 파일 생성](#create-db-user)으로 넘어가세요. 권한이 없을 경우 모니터링을 시작할 수 없습니다. |
116 | 163 |
|
117 | 164 | * 예시 코드에서 `whatap`은 DB 사용자 계정 이름입니다. 사용자가 이용하는 사용자 계정 이름으로 변경하세요. |
118 | 165 |
|
119 | 166 | </Xclude> |
120 | 167 |
|
121 | | -<InDoc product="postgresql,mysql,altibase,mssql"> |
| 168 | +<InDoc product="postgresql,mysql,altibase,mssql,db2"> |
122 | 169 |
|
123 | 170 | * 권한을 가진 계정이 있다면 이 단계를 생략하고 [다음 단계](#check-accesskey)로 넘어가세요. |
124 | 171 |
|
|
0 commit comments