단계 요약:
- tableau 사용자가 액세스할 수 있는 위치에 tnsnames.ora 파일을 복사합니다.
- 파일에 대한 사용 권한을 설정합니다.
- 필요한 경우 (1) 단계의 디렉터리를 가리키도록 TNS_ADMIN 환경 변수를 업데이트합니다.
1단계: 권한 없는 사용자(tableau)가 액세스할 수 있는 디렉터리에 tnsnames.ora 파일을 복사합니다.
버전 2019.3.x 이상의 경우:
tnsnames.ora 파일을 /etc 디렉터리에 복사합니다.
버전 2019.2.x 이하의 경우:
기본적으로 권한 없는 사용자의 이름은 'tableau'입니다. 모든 Tableau Server 프로세스는 이 계정으로 실행되며 이 계정이 tnsnames.ora 파일을 사용하려면 파일을 찾을 수 있어야 합니다.
이미 Oracle 커넥터를 설치한 경우 파일을 /opt/tableau/tableau_driver/oracle 디렉터리에 복사하는 것이 좋습니다.
'su'를 사용하여 계정을 변경하고 해당 디렉터리로 이동하는 방식으로 해당 사용자가 디렉터리에 액세스할 수 있는지 확인할 수 있습니다. 예를 들면 다음과 같습니다.
sudo su tableau
cd /opt/tableau/tableau_driver/oracle
이러한 단계에서 '사용 권한이 거부됨' 오류가 발생하는 경우 사용하려는 디렉터리의 사용 권한을 업데이트해야 합니다.
2단계: tnsnames.ora 파일에 대한 사용 권한 설정
2019.2.x 이하에서는 아래 단계를 수행합니다.
- tnsnames.ora 파일이 위치한 파일 경로로 이동합니다.
- chmod 666 tnsnames.ora 명령을 실행하여 파일에 사용 권한을 부여합니다.
- ls -l 명령으로 파일 사용 권한을 확인합니다.
참고: 환경 경로 끝에 후행 슬래시가 있어서는
안 됩니다. 경로의 형식이 올바르지 않은 경우 ORA-12154 오류가 발생할 수 있습니다.
2019.3 이상:tsnames.ora 파일을 Linux 컴퓨터의
/etc 디렉터리에 저장하십시오. 환경 변수가 필요하지 않습니다.
2020.2 이상:다음 텍스트를 사용하여 /var/opt/tableau/tableau_server/data/tabsvc/vizqlserver/Datasources/oracle.properties 파일을 만듭니다.
예:
oracle.net.tns_admin=/etcServer의 파일 시스템 안에 있는 tnsnames.ora 파일의 경로를 가리키기 위해 필요한 경우
/etc를 변경하십시오.
JDBC 속성 파일에 대한 자세한 내용은 다음 웹 페이지에서 확인할 수 있습니다.
https://kb.tableau.com/articles/howto/Customizing-JDBC-Connections?lang=ko-kr
3단계: TNS_ADMIN 환경 변수를 (1) 단계의 디렉터리를 가리키도록 설정
버전 2019.3.x 이상의 경우: 이 단계를 건너뛸 수 있습니다. 환경 변수가 필요하지 않습니다.
버전 2019.2.x 이하의 경우:
- 텍스트 편집기에서 Tableau Server 버전과 일치하는 파일을 엽니다.
- Tabelau Server 2018.1.x - 2019.2 -- /var/opt/tableau/tableau_server/.local/share/systemd/user/tabsvc_0.service
- 다음 줄을 추가합니다. 여기서, "/path/to/file-folder"는 1단계에서 tnsnames.ora 파일을 복사한 디렉터리입니다.
- Environment=TNS_ADMIN=/path/to/file-folder
- 파일 변경 내용을 저장합니다.
참고: 환경 경로에는 후행 슬래시가 없어야 합니다. 경로의 형식이 올바르지 않은 경우 ORA-12154 오류가 발생할 수 있습니다.
선택적 단계
tnsnames.ora 파일 찾기
Oracle 클라이언트가 서버에 설치되어 있는 경우 tnsnames.ora 파일을 다음 디렉터리에서 찾을 수 있습니다. $ORACLE_HOME/network/admin.
다음 명령으로 이 파일이 존재하는지 확인할 수 있습니다.
echo $ORACLE_HOME
명령은 파일 경로를 출력합니다.
sudo find / -iname tnsnames.ora
명령은 파일 시스템에 있는 모든 tnsnames.ora 파일의 위치를 나열합니다.
참고: Tableau Server에서 tnsnames.ora를 사용하기 위해 Oracle 클라이언트를 설치할 필요는 없습니다. 이 단계는 기존 설치에서 작업할 때 도움을 주기 위한 것입니다.
새 tnsnames.ora 파일을 처음부터 만들기
이 컴퓨터에 tnsnames.ora 파일이 없으며 클라이언트 워크스테이션에서 복사할 파일도 없는 경우 텍스트 편집기를 사용하여 새로 만드십시오. 다음 제한 사항에 주의하십시오.
다음은 항목에 사용 가능한 템플릿입니다. 대괄호로 묶인 요소는 데이터베이스 관리자에게 요청하여 받은 값으로 바꿔야 합니다.
참고: Windows 또는 Mac 컴퓨터의 TNSNames.ora 파일에는 ADDRESS_LIST 항목이 필수가 아니지만 Linux 컴퓨터의 tnsnames.ora 파일에는 이 변수가 필수입니다.
[net_service_name]=
(DESCRIPTION=
(ADDRESS_LIST=
(ADDRESS=[protocol_address_information])
)
(CONNECT_DATA=
(SERVICE_NAME=[service_name])
)
)
예를 들면 다음과 같습니다.
Production =
(DESCRIPTION =
(ADDRESS_LIST =
(ADDRESS = (PROTOCOL = TCP)(HOST = prod.corp.com)(PORT = 1521)
)
(CONNECT_DATA =
(SERVICE_NAME = orcl)
)
)