Database 28

PostgreSQL) 모든 테이블에서 특정 값 찾기

How to search a specific value in all tables (PostgreSQL)? https://stackoverflow.com/questions/5350088/how-to-search-a-specific-value-in-all-tables-postgresql ​ 모든 테이블 찾기 특정 값을 검색 할 때, 모든 테이블에서 찾아봐야 할 경우가 종종 있습니다. 이번에 특정 데이터의 완전 삭제 기능을 구현하고 있었는데 모든 테이블을 FK로 연결한 건 아니라서 관련된 데이터들이 모두 삭제 되었는지가 확실하지 않았습니다. FK 와 cascade 를 활용해서 싹 다 지워버리면 편하기야 하겠지만 의도치 않은 사이드이펙트가 나올 수도 있습니다. 특정 데이터를 삭제 할 경우 관련된 데이터를 무작정..

Database/PostgreSQL 2021.10.08

docker-compose 이용해 ELK Stack 구축하기

docker나 docker-compose가 아직 준비되어 있지 않다면 아래 글을 참고해서 먼저 설치 해 주세요. Ubuntu 20.04 LTS ) Docker 설치하기 Windows) Docker 설치하기 MacOS ) m1 맥북 docker 설치하기 저장소 클론 아래의 저장소에서 docker-compose 설정을 클론하면 아주 쉽게 docker-compose 를 이용한 ELK STACK을 구축 할 수 있습니다. git clone https://github.com/deviantony/docker-elk.git 그러고 해당 경로에 가서 docker-compose up -d 를 하면 실행 할 수 있습니다. docker-compose up -d 필요한 이미지를 다운 받고, 컨테이너가 모두 구동 됩니다. 키바나..

Docker로 Oracle Database 11g 띄우기

주의 Apple Silicon arm64 방식의 Mac 에서는 적용되지 않습니다. 저도 m1 맥북에어를 사용중이기 때문에 도커에서 오라클 데이터베이스를 띄워보려고 여러 노력을 해봤었지만 지금까지도 전혀 방법이 없습니다. Apple Silicon 환경에서의 오라클 데이터 베이스 사용은 아래 링크를 참고해주세요. Apple Silicon m1 맥북에서 Oracle Database 사용하기 ​ 서론 예전에 학원에 다닐 때 중간, 최종 프로젝트로 만들어 두었던 프로젝트들을 원래 windows 노트북에서 서버처럼 띄워 두었었는데 툭하면 윈도우 업데이트 등으로 종종 컴퓨터가 멋대로 재시작되는 경험을 하고, 외부에서 접속할때도 ssh 접속이 안되기 때문에 Windows Remote Desktop 등을 사용 하다가 이..

Database/Oracle 2021.09.20

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

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 쪽이 뭔가 의심이 갑니다. HOS..

Database/Oracle 2021.09.06

MacOS PostgreSQL 설치 하고 테이블 생성, 조회하기

MacOS PostgreSQL 설치 하고 테이블 생성, 조회하기 ​ PostgreSQL PostgreSQL은 확장 가능성 및 표준 준수를 강조하는 객체-관계형 데이터베이스 관리 시스템의 하나 입니다. 오픈소스 RDBMS로서 사용율은 Oracle, MySQL, Microsoft SQL에 이어 4위를 기록하고 있으며 특히 MacOS 서버의 경우에는 PostgreSQL이 기본 데이터베이스 입니다. ​ ​ 설치를 위해 brew에 postgresql 을 검색해 보았습니다. brew search postgresql brew install postgresql 을 입력 해서 default 버전인 13.3 버전을 설치하겠습니다. ​ 설치가 완료되었습니다. To start postgresql : 이라며 친절하게 시작하는 ..

Database/PostgreSQL 2021.08.04

Java 에서 Elastic Search 사용하기3. - 간단 검색하기

https://www.elastic.co/guide/en/elasticsearch/client/java-rest/master/_search_apis.html Search APIs | Java REST Client [master] | Elastic www.elastic.co 이번에는 엘라스틱 서치를 사용하는 이유인 검색을 해 보도록 하겠습니다. 일단 작성한 코드 먼저 보여드리겠습니다. client로 search 명령을 주면 , response를 return 합니다. 해당 response는 SearchHits 라는 Iterable 구현체를 가지고 있습니다. 지네릭 타입은 SearchHit 입니다. 해당 SerarchHit에서 각각 source를 getSourceAsMap() 메서드를 통해 받고, 모두 lis..

Database/Elastic Search 2021.06.08 (1)

Java 에서 Elastic Search 사용하기 - 2. Post Request (Create)

Java 에서 Elastic Search 사용하기2. - Post Request (Create) https://shanepark.tistory.com/139 Java 에서 Elastic Search 사용하기 - Get Request org.elasticsearch elasticsearch 7.12.1 org.elasticsearch.client elasticsearch-rest-high-level-client 7.12.1 Elastic Search client로는 High level client 와 Low level client가 있습니다. low level clie.. shanepark.tistory.com 이번에는 1편에 이어 CRUD 중 첫번째인 C 를 해보겠습니다. 일단 1편에서 GET 방식을 연..

Java 에서 Elastic Search 사용하기 - 1. Get Request

org.elasticsearch elasticsearch 7.12.1 org.elasticsearch.client elasticsearch-rest-high-level-client 7.12.1 Elastic Search client로는 High level client 와 Low level client가 있습니다. low level client는 버전에 영향을 받지 않고 유연하지만, 사용하기 좀 더 어렵습니다. High level client는 Low level client를 한번 추상화 해서 사용합니다. https://www.elastic.co/guide/en/elasticsearch/client/java-rest/master/java-rest-high.html Java High Level REST Cl..

Logstash를 이용해 Oracle 데이터를 Elastic search와 동기화 하기

ElasticSearch의 버전을 확인합니다. number 에 써있는 7.12.1이 버전입니다 ! https://www.elastic.co/downloads/ Elastic 제품을 다운로드 | Elastic Elasticsearch, Logstash, Kibana 및 Beats를 무료로 다운로드하고 몇 분 내에 Elastic APM, Elastic App Search, Elastic Workplace Search 등을 시작하세요. www.elastic.co 위의 다운로드 링크에서 Logstash를 찾아갑니다. 7.13.1 버전 까지 나왔나 보네요. 아래에 보니 이전 버전을 확인 할 수 있습니다. 제가 서버로 쓰고 있는 컴퓨터에 맞게 7.12.1 WINDOWS 버전을 다운 받았습니다. 압축을 풀어줍니다. ..

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..

Database/Oracle 2021.06.03

Windows) Kibana 설치하기 + Elastic Search 연동하기

Elastic Search 는 lucene 기반의 분석 엔진입니다. 쿼리를 짜서 '검색'을 하는 개념이기 때문에 Search 컨셉을 가지고 있습니다. Elastic Search는 시간이 갈수록 증가하는 문제를 처리하는 분산형RESTful 검색 및 분석 엔진입니다 위의 Elastic Stack을 구성하기 위해 Kibana를 설치해 보겠습니다. https://www.elastic.co/kr/downloads/kibana Download Kibana Free | Get Started Now | Elastic Download Kibana or the complete Elastic Stack (formerly ELK stack) for free and start visualizing, analyzing, and ..

Database/Elastic Search 2021.05.16 (1)

ajax로 elastic search DB에서 데이터 받아오기 예제

학원 최종 프로젝트에 검색 기능을 넣으려다가 선생님께 추천 받아 elastic search를 사용해 보고 있습니다. 기왕 DB를 구축해 사용하는거, 채팅 메시지에 대해서는 RDBMS 말고 Elastic Search를 활용하려 생각하고 있습니다. 그것을 위해 여러가지 실험을 해보다가 한번 ajax로 비동기 데이터를 전달 받아 화면에 렌더링 하는 테스트를 시행해 보았습니다. 간단하게 위의 코드만 작성했고, 해당 index/type/ (gaia/message/) 에는 몇가지의 더미 데이터를 미리 넣어두었습니다. 테스트를 해봤는데.. CORS policy로 인해 꽤나 고생했습니다. 위의 에러 해결이 필요하신 분은 아래 링크를 참고해주세요. https://shanepark.tistory.com/113 No 'Ac..

Database/Elastic Search 2021.05.15 (1)

No 'Access-Control-Allow-Origin' header is present on the requested resource. 해결하기

Access to XMLHttpRequest at '' from origin 'http://localhost' has been blocked by CORS policy: No 'Access-Control-Allow-Origin' header is present on the requested resource. ajax를 이용해 elastic search의 데이터를 불러오는 테스트를 해보고 있었는데 에러가 발생했습니다. CORS(Cross-Origin Resource Sharing) 설정 때문인데요, POSTMAN이나 Web Browser에서 명령을 내릴때 잘 된다고 해서 ajax로 신호를 보내도 동일한 response를 기대한 제가 잘못이었습니다. 웹은 SOP(Same Origin Policy) 정책을 따..

Elasticsearch 3) Elasticsearch 외부 접속 허용하기

저는 집에서 DB 서버를 돌리고 외부에서 접속 할 예정입니다. MongoDB도 그랬는데 Elasticsearch도 기본적으로는 외부 접속이 막혀있었습니다. 127.0.0.1:9200 로 바인딩 되어있는 것을 변경해 주어야 합니다. 일단 설정파일을 변경해 주어야 되는데, 요 파일이 가장 의심됩니다. 열어봅니다. 럭키! 여기 내용이 있네요 network.host: 0.0.0.0을 추가해주고, 아래cluster.initial_master_nodes: ["node-1", "node-2"] 의 주석을 풀어줍니다. 컨트롤 + C 로 서버를 종료 한 뒤에, 새로 켜봅니다. 예~ 접속이 됩니다! 이후 공유기 포트포워딩에 9200 포트, 9300 포트 열어서 외부 아이피 접속까지 성공적으로 테스트 마쳤습니다.

Windows) Elasticsearch 2) Postman 설치하기 및 CRUD 예제

ElasticSearch를 활용하기 위해 Tool 을 설치합니다. Oracle에는 SQL Developer MYSQL에는 Sequel Pro MongoDB는 Robo 3T 가 있죠 이번에는 Api 를 테스트하기 위해 Postman을 설치할 예정입니다. https://www.postman.com/downloads/ Download Postman | Try Postman for Free Try Postman for free! Join 13 million developers who rely on Postman, the collaboration platform for API development. Create better APIs—faster. www.postman.com 위의 링크에서 다운 받습니다. 본인의 ..

반응형