Python 애플리케이션 구축
Autonomous Database에 액세스하는 Python 애플리케이션을 구축하려면 먼저 Autonomous Database의 지속적인 가용성 및 고성능 기능을 활용할 수 있는 데이터베이스 액세스를 지원하도록 개발 시스템을 구성합니다.
개발 시스템을 구성한 후에는 응용 프로그램에서 데이터베이스 연결 및 SQL 문을 코딩하여 이러한 기능을 활용합니다.
참고:
다음 항목을 읽는 대신 "체험해보기"를 위해 Oracle Autonomous Database Dedicated for Developers and Database Users Workshop에서 Lab 4: Build Python Application Stacks를 살펴볼 수 있습니다.관련 항목
Python 개발 시스템 구성
Python 응용 프로그램이 Autonomous Database의 지속적인 가용성 및 고성능 기능을 활용할 수 있도록 개발 시스템을 구성하려면 다음 단계를 수행합니다.
- Python을 다운로드하고 설치합니다.
- Oracle Instant Client를 다운로드하고 설치합니다.
- cx_Oracle를 다운로드하고 설치합니다.
- 데이터베이스에 대한 클라이언트 인증서를 다운로드하고 Oracle Instant Client에서 사용할 수 있도록 설정합니다.
시작하기 전에
성공적으로 구성하려면 개발 시스템이 특정 기준을 충족해야 합니다.
-
인터넷 접속이 있어야 합니다.
-
Autonomous Database에 대한 네트워크 액세스 권한이 있어야 합니다.
개발 시스템이 이 요구사항을 충족하는지 확인하는 방법은 데이터베이스에 액세스하도록 개발 시스템 구성을 참조하십시오.
Python 다운로드 및 설치
-
Oracle Linux:
Oracle Linux 7에는 Python 2.7이 포함되어 있으므로 이 명령을 실행하기만 하면 됩니다.
sudo yum -y install oracle-release-el7
-
기타 OSes 및 아키텍처:
python.org 다운로드 페이지로 이동하여 OS 및 아키텍처에 대한 최신 Python 2.7 또는 Python 3.5(이상) 버전을 다운로드하여 설치합니다.
Oracle Instant Client 다운로드 및 설치
Oracle Instant Client 라이브러리 버전 19.6 이상이 필요합니다.
시스템의 OS 및 아키텍처에 대한 Oracle Instant Client 기본 패키지를 다운로드하고 설치합니다.
-
Oracle Linux:
다음 명령을 실행하여 Oracle Instant Client 기본 패키지를 다운로드하고 설치합니다.
sudo yum -y install oracle-release-el7 sudo yum -y install oracle-instantclient19.3-basic
(모든 Instant Client 패키지 목록을 보려면
http://yum.oracle.com/repo/OracleLinux/OL7/oracle/instantclient/x86_64/index.html
으로 이동하십시오.) -
기타 OSes 및 아키텍처:
-
Oracle Instant Client 다운로드 페이지로 이동하고 시스템의 OS 및 아키텍처에 대한 다운로드를 선택합니다.
-
다운로드 페이지에서 Oracle Technology Network 라이센스 계약에 동의하고 최신 버전의 기본 패키지를 다운로드한 다음 다운로드 페이지 하단의 지침에 따라 설치합니다.
-
cx_Oracle 다운로드 및 설치
Python의 pip
패키지를 사용하여 PyPI(Python 패키지 인덱스)에서 cx_Oracle
를 설치합니다.
-
Oracle Linux:
다음 명령을 실행하여
pip
패키지를 다운로드한 다음 이 명령을 사용하여cx_Oracle
를 설치합니다.sudo yum -y install oracle-release-el7 curl https://bootstrap.pypa.io/get-pip.py -o get-pip.py sudo python get-pip.py python -m pip install cx_Oracle --upgrade
-
기타 OSes 및 아키텍처:
다음 명령을 실행합니다.
python -m pip install cx_Oracle --upgrade
데이터베이스에 대한 클라이언트 인증서 다운로드 및 설치
-
데이터베이스에 대한 클라이언트 인증서가 포함된 zip 파일을 컴퓨터의 보안 디렉토리에 다운로드합니다.
이 zip 파일은 Oracle Cloud 콘솔의 데이터베이스 세부정보 페이지에서 다운로드할 수 있습니다. 이 페이지에 액세스할 수 있도록 허용하는 Oracle Cloud 사용자 계정이 있으면 다음과 같이 인증서를 다운로드하십시오. 해당 계정이 없는 경우 zip 파일을 보호하는 데 사용된 비밀번호와 함께 데이터베이스 관리자로부터 zip 파일을 가져와야 합니다.
-
웹 브라우저에서 Oracle Cloud에 사인인하고 Autonomous Database에 대한 세부정보 페이지로 이동합니다.
-
DB 연결을 누릅니다.
-
데이터베이스 접속 페이지에서 다운로드를 누릅니다.
-
전자 지갑 다운로드 대화상자의 암호 필드에 전자 지갑 비밀번호를 입력하고 암호 확인 필드에서 비밀번호를 확인합니다.
비밀번호는 길이가 8자 이상이어야 하며 하나 이상의 문자 및 하나 이상의 숫자 또는 하나 이상의 특수 문자를 포함해야 합니다.
-
다운로드를 눌러 클라이언트 인증서 zip 파일을 보안 디렉토리에 저장합니다.
-
-
zip 파일을 다운로드한 후 다음 단계를 수행합니다.
-
클라이언트 인증서 zip 파일의 압축을 풉니다.
-
클라이언트 인증서에 제공된
sqlnet.ora
파일을 편집하여"?/network/admin"
를 클라이언트 인증서의 압축을 푼 디렉토리의 전체 경로로 바꿉니다. 예를 들어, 다음과 같이 변경합니다.(DIRECTORY="?/network/admin")
대상은 다음과 같습니다.
(DIRECTORY="/users/jdoe/adbcredentials")
-
클라이언트 인증서의 압축을 푼 디렉토리의 전체 경로로 값을 설정하여
TNS_ADMIN
환경 변수를 생성합니다.
-
코드 데이터베이스 연결 및 SQL 문
Autonomous Database에 대한 Python 애플리케이션 연결을 지원하도록 개발 시스템을 구성한 후 다음 지침에 따라 데이터베이스에 대한 애플리케이션 연결의 고성능 및 지속적인 가용성을 달성하십시오.
- 접속 풀 사용.
- FAN 사용(빠른 응용 프로그램 통지).
- 수행할 작업과 가장 잘 일치하는 미리 정의된 데이터베이스 서비스를 사용합니다. 미리 정의된 데이터베이스 서비스에 대한 자세한 내용은 Predefined Database Service Names for Autonomous Database를 참조하십시오.
예:
pool = cx_Oracle.SessionPool("appuser",
SampleEnv.GetMainPassword(),
"tp_tls",
events=True,
threaded=True)
이 예에서는 tp_tls
데이터베이스 서비스에 대한 연결용 풀을 만들고 events
매개변수를 True
로 설정하여 FAN을 사용으로 설정합니다.
추가 리소스
cx_Oracle에 대한 자세한 내용은 cx_Oracle Documentation 페이지를 참조하십시오.
다양한 cx_Oracle 기능을 보여 주는 코드 예제를 보려면 python-cx_Oracle samples 폴더로 이동하십시오.