일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | 5 | 6 | 7 |
8 | 9 | 10 | 11 | 12 | 13 | 14 |
15 | 16 | 17 | 18 | 19 | 20 | 21 |
22 | 23 | 24 | 25 | 26 | 27 | 28 |
29 | 30 | 31 |
- 관광
- MLBB
- 영어 유머
- 게임
- 게임기
- Imba Auto Chess
- 오라클
- 영어공부
- 독해연습
- English Joke
- 골든게이트
- 여행
- 심플한 게임
- 영어독해
- 이솝우화
- 왕좌의게임
- 가볼만한곳
- 체스-TD
- java program
- 모바일레전드
- OGGMA
- oracle
- english study
- Mobile Legends
- 롤
- Python
- 영어유머
- 오큘러스
- Chess-TD
- 임바 오토체스
- Today
- Total
목록오라클 (20)
Almost-Native
지난번에 세로로 출력되는 쿼리결과를 가로로 콤마(,) 붙여서 나오게 하는 PL/SQL 함수를 간단하게 만들어서 사용하는 방법을 포스트 했었습니다. 위에 처럼 나오는 것을 아래처럼 수평으로 붙여서 출력하는 함수 f_output_horizontal() 을 만들어봤었습니다. 그런데, 이렇게 함수를 만들지 않아도 유사한 기능을 가진 내장함수가 오라클에서 이미 제공되고 있습니다. LISTAGG() 함수입니다. 이 함수는 Oracle 11gR2(11.2) 이상부터 사용할 수 있습니다. listagg() 함수는 withing group, over 등의 추가적인 구문을 더 붙여서 다양한 형태의 출력도 지원됩니다.
Oracle DB 에 접속하는 파이썬 프로그램을 실행시 아래와 같은 에러가 발생하는 경우, $ /usr/bin/python3.9 aaa1.py Traceback (most recent call last): File "/home/oracle/Python1/aaa1.py", line 5, in oracledb.init_oracle_client() File "src/oracledb/impl/thick/utils.pyx", line 478, in oracledb.thick_impl.init_oracle_client File "src/oracledb/impl/thick/utils.pyx", line 400, in oracledb.thick_impl._raise_from_info oracledb.exceptions..
오라클 골든게이트에서 Heartbeat Table 생성 작업중 아래와 같은 에러가 발생하는 경우, Code: OGG-08100 Severity: INFO Title: ORA-01031: insufficient privileges 원인은 ogg 유저에 create procedure, create view 권한이 없어서 발생하는 것입니다. Oracle GoldenGate User 에 프로시져와 뷰생성 권한을 주면 됩니다. SQL> grant create procedure, create view to ggadmin;
Python 프로그램에서 Oracle Database 에 접속해서 DB 작업을 할 수 있도록 도와주는 라이브러리에 cx_Oracle 과 python-oracledb 가 있습니다. 서로 다른 것은 아니고, 원래 있던 cx_Oracle 이 버전업을 하면서 이름을 python-oracledb 라고 바꾼것입니다. 즉, 라이브러리명이 바뀌면서 기능이 좀 추가된 형태라고 보면 됩니다. 따라서, 라이브러리에서 제공하는 함수들의 이름이나 기본적인 사용방법은 거의 그대로이거나 약간씩 다른 부분이 있는 정도 입니다. python-oracledb 로 가면서 가장 크게 바뀐 부분은 "thin 모드" 와 "thick 모드"가 생겼다는 점 입니다. thin 모드 / thick 모드 의 차이는 Oracle Client 를 사용하느..
이전 페이지에서 파이썬 python-oracledb 라이브러리를 이용해서 BLOB 데이터를 오라클DB에 Insert 하고, Select 하는 프로그램을 만들어 봤습니다. 앞에서는 156MB 크기의 동영상 파일을 가지고 테스트했는데, 이 파일의 크기가 1GB 가 넘어가면 이런 방식으로 할 수가 없습니다. 파일크기가 1GB 이상인 경우에는 한번에 처리할 수 없기 때문에 잘라서 등록하고, 조회할 때도 잘라서 조회해야 합니다. 자르지 않고 한번에 처리할려고 하는 경우, 아래와 같은 에러가 발생합니다. oracledb.exceptions.DatabaseError: DPI-1057: buffer size of 1710915901 is too large (max 1073741822) 자르는 단위를 chunk 라고 합..
Phyton 에서 python-oracledb 라이브러리를 이용해서 BLOB 데이터를 등록(Insert) 하고, 조회(Select) 하는 샘플 프로그램입니다. Oracle DB 에서 BLOB 데이터 타입은 이미지, 동영상 등의 Binary Data 를 저장할 때 사용됩니다. 테스트를 위해 아래와 같이 오라클DB 에 미리 BLOB_TBL 이라는 테이블을 만들어두었습니다. BLOB_TBL 테이블의 BB 컬럼에 156MB.mov 동영상 파일을 Insert 한후, 이를 다시 Select 하여 156MB_output.mov 동영상 파일로 출력하겠습니다. 파이썬 소스코드는 아래와 같습니다. import oracledb # create table BLOB_TBL ( id NUMBER, bb BLOB ) lob (bb..
이전 페이지에서 파이썬 cx_Oracle 라이브러리를 이용해서 BLOB 데이터를 오라클DB에 Insert 하고, Select 하는 프로그램을 만들어 봤습니다. 앞에서는 156MB 크기의 동영상 파일을 가지고 테스트했는데, 이 파일의 크기가 1GB 가 넘어가면 이런 방식으로 할 수가 없습니다. 파일크기가 1GB 이상인 경우에는 한번에 처리할 수 없기 때문에 잘라서 등록하고, 조회할 때도 잘라서 조회해야 합니다. 자르지 않고 한번에 처리할려고 하는 경우, 아래와 같은 에러가 발생합니다. cx_Oracle.DatabaseError: DPI-1057: buffer size of 1710915901 is too large (max 1073741822) 자르는 단위를 chunk 라고 합니다. 이번 실습에서는 1.6..
Phyton 에서 cx_Oracle 라이브러리를 이용해서 BLOB 데이터를 등록(Insert) 하고, 조회(Select) 하는 샘플 프로그램입니다. Oracle DB 에서 BLOB 데이터 타입은 이미지, 동영상 등의 Binary Data 를 저장할 때 사용됩니다. 테스트를 위해 아래와 같이 오라클DB 에 미리 BLOB_TBL 이라는 테이블을 만들어두었습니다. BLOB_TBL 테이블의 BB 컬럼에 156MB.mov 동영상 파일을 Insert 한후, 이를 다시 Select 하여 156MB_output.mov 동영상 파일로 출력하겠습니다. 파이썬 소스코드는 아래와 같습니다. import cx_Oracle # create table BLOB_TBL ( id NUMBER, bb BLOB ) lob (bb) sto..