Docker로 Oracle Database 11g 띄우기

주의 본 글은 맥북 M1 / M2에 해당하는 글이 아닙니다. x86/64 윈도우 및 리눅스에만 해당됩니다. 애플 실리콘은 arm64 아키텍처를 사용하기 때문에 다른 방법이 필요합니다. 오라클 사용이 필요한 맥북 사용자분들은 다음의 링크를 참고 해 주세요. [MacOS] M1 맥북 도커로 ORACLE DB 실행하기 서론 예전에 학원에 다닐 때 중간, 최종 프로젝트로 만들어 두었던 프로젝트들을 원래 windows 노트북에서 서버처럼 띄워 두었었는데 툭하면 윈도우 업데이트 등으로 종종 컴퓨터가 멋대로 재시작되는 경험을 하고, 외부에서 접속할때도 ssh 접속이 안되기 때문에 Windows Remote Desktop 등을 사용 하다가 이번에 집에 있는 노트북의 윈도우를 밀어 버리고 ubuntu를 설치했습니다. 다..

Data/Oracle 2021.09.20
Oracle Database가 갑자기 안될 때 TNS-12541, TNS-12560, TNS-00511 에러 해결

방금 까지만 해도 잘 되던 Oracle Dabase가 재부팅 이후에 갑자기 안됩니다. 딱히 건든 게 없는 것 같은데 정말 멘붕이 옵니다. 하나씩 이유를 찾아 해결 해 보도록 합시다. ​ 일단 리스너의 상태를 확인 해 봅니다. lsnrctl status​ 에러가 세개나 나옵니다. ​ TNS-12541: TNS:no listener TNS-12560: TNS:protocol adapter error TNS-00511: No listener 64-bit Windows Error: 2: No such file or directory​ 그런데 Connecting to 쪽이 뭔가 의심이 갑니다. HOST=DESKTOP-어쩌구 라고 써있는데, 저는 방금 그걸 알기 쉽게 변경했었거든요. 이게 문제였다는게 어느 정도 감..

Data/Oracle 2021.09.06
Oracle 중복되는 데이터에는 같은 숫자 주며 순서 맥이기 . 윈도우 함수 DENSE_RANK()

json 에서 issue 들을 받아오는 페이지가 있습니다. 아직 페이징 처리가 되지 않고 있기 때문에 데이터가 많은데요 위에서 보이는 것 처럼 Collection 들을 가지고 있다 보니 쿼리 결과문에서 겹치는 부분이 꽤 있습니다. 페이징을 위해 rownum 을 보통 먹이곤 했는데, rownum을 줬다가는 같은 PK를 가진 친구들도 각기 다른 rownum을 가지기 때문에 제대로 된 페이징 처리가 될 수 없습니다. 이럴때는, 오라클의 윈도우 함수를 이용해서 번호를 주면 됩니다. 일단 기존의 쿼리문과 결과문입니다. select rownum as rn,a.* from ( SELECT ISSUE.ISSUE_SID AS ISSUE_ID ,ISSUE_NO ,ISSUE.PROJ_NO ,ISSUE_TITLE ,ISSUE..

Data/Oracle 2021.06.03
Oracle) ORA-01031: insufficient privileges 해결하기

Error report - ORA-01031: insufficient privileges 01031. 00000 - "insufficient privileges" *Cause: An attempt was made to perform a database operation without the necessary privileges. *Action: Ask your database administrator or designated security administrator to grant you the necessary privileges View를 만들려고 하는데 권한이 없다는 에러로 애를 먹었습니다. 제가 사용자를 만들때 뷰를 만들 수 있는 권한을 주지 않았기 때문이었습니다. 오라클 시스템 계정 (syste..

Data/Oracle 2021.04.16
JSP 수업) 데이터 베이스 10개 문제 풀어보기 - 조인 쿼리 작성

Oracle 데이터 베이스 10개 문제 풀어보기 ​ 1. 남녀 성별 인원수 조회 SELECT * FROM (select COUNT(*) AS MEN from member where SUBSTR(mem_regno2,1,1) = '1' OR SUBSTR(mem_regno2,1,1) ='3' ), (select COUNT(*) AS WOMEN from member where SUBSTR(mem_regno2,1,1) = '2' OR SUBSTR(mem_regno2,1,1) ='4' ) ​ 2. 지금까지 한번도 상품을 구매한 적이 없는 회원의 인적사항 조회(아이디, 이름, 이메일) select mem_id, mem_name, mem_mail from ( s..

Data/Oracle 2021.04.07