본문 바로가기

데이터베이스51

728x90
반응형
[티베로] 메모리 설정을 출력하는 쿼리 티베로(Tibero)에서 메모리 설정을 확인할 수 있는 쿼리는 아래와 같다. SELECT * FROM v$sga; 참고문서 "Appendix G. Shared Memory 크기 산정", 티베로 공식 문서. @원문보기 2023. 7. 30.
[PostgreSQL] 인코딩 확인 아래의 쿼리(Query)를 이용하면 PostgreSQL 데이터베이스의 인코딩을 확인할 수 있다. SELECT pg_encoding_to_char(encoding), datcollate, datcollate FROM pg_database 참고문서 "53.15. pg_database", PostgreSQL, 2023년 7월 11일. @원문보기 2023. 7. 29.
[오라클] 중복 데이터를 확인하는 방법 중복 데이터 확인 방법 오라클 데이터베이스에서 중복 데이터를 확인해야 하는 경우 아래와 같이 쿼리(Query)를 작성하여 확인할 수 있다. SELECT {COLUMN_A, ...}, COUNT(*) AS CNT FROM {TABLE_NAME} GROUP BY {COLUMN_A, ...} HAVING COUNT(*) > 1 2023. 7. 11.
[Oracle 21c XE] 초기 설치 중 "ERROR: ORA-12560: TNS:프로토콜 어댑터 오류" 해결 방법 오류 발생 시점 오라클 데이터베이스를 설치하여 테스트할 것이 있는데 설치 후 데이터베이스에 접속하려고 해도 "ERROR: ORA-12560: TNS:프로토콜 어댑터 오류"가 떠서 접속이 되지 않았다. 해결 방법 데이터베이스와 TNS 리스너가 서비스에 나타나 있음에도 불구하고 접속이 되지 않는 문제가 발생했다. 그래서 나는 이런 저런 해결 방법을 시도하다가 완전 삭제 후 재설치로 해결했다. 완전 삭제를 위해서는 아래와 같은 순서로 데이터를 삭제해야 한다. 오라클 삭제 레지스트리 삭제 파일 경로 삭제 삭제가 완료되면 재부팅 후 설치를 진행한다. 참고문서 "[SQL200제] - Oracle DB 18c 삭제 방법", 이지업클래스 (easyupclass), 2021년 7월 16일. @원문보기 "sqlplus로 .. 2023. 7. 9.
[미디어위키] 데이터베이스 SQLite 설정 값 예시 미디어위키(MediaWiki)에서 데이터베이스를 SQLite 설정할 때 아래와 같은 설정으로 구성할 수 있다. ## Database settings $wgDBtype = "sqlite"; $wgDBserver = ""; $wgDBname = "my_wiki"; $wgDBuser = ""; $wgDBpassword = ""; # SQLite-specific settings $wgSQLiteDataDir = "/var/www/data"; $wgObjectCaches[CACHE_DB] = [ 'class' => SqlBagOStuff::class, 'loggroup' => 'SQLBagOStuff', 'server' => [ 'type' => 'sqlite', 'dbname' => 'wikicache', 't.. 2023. 3. 28.
[윈도우] MariaDB 데이터를 SQL 파일로 백업하는 스크립트 데이터베이스 백업은 아주 중요하다. 백업하는 방법은 여러가지가 있겠지만 본 글에서는 특정 데이터를 SQL 파일로 가공하는 방법을 설명한다. 백업 스크립트 SQL 파일로 MariaDB 데이터베이스를 백업하는 스크립트는 아래와 같다. 필자의 경우 아래와 같이 파일명에 작업일시를 붙여서 파일을 저장하도록 스크립트를 작성한다. @echo off set YEAR=%date:~0,4% set MONTH=%date:~5,2% set DAY=%date:~8,2% set HOUR=%time:~0,2% set MINUTE=%time:~3,2% set SECOND=%time:~6,2% set date_format=%YEAR%%MONTH%%DAY%%HOUR%%MINUTE%%SECOND% mysqldump -u[계정명] -p[.. 2023. 3. 8.
[2강] 스프링 프레임워크 개발환경 구축 및 예제 실행 0. 학습 목표 본 글에서는 스프링 프레임워크 개발환경을 구축하고 제가 만든 예제를 실행하는 것을 학습합니다. 제가 만든 예제는 조금씩 업데이트 될 것이며 실무적으로 스프링 기반 개발을 할 때 도움이 될 것입니다. 글과 사진으로 설명하는 것보다 동영상이 더 편하신 분들은 아래의 영상을 참고해주세요. 2강. 스프링 프레임워크 개발 환경 구축 및 예제 실행 1. 통합개발환경 설치 1-1. 통합개발환경 다운로드 스프링 프레임워크 통합개발환경(Integrated Development Environment, IDE)으로 STS(Spring Tool Suite 4)를 사용합니다. STS를 설치하기 위해 아래의 주소로 이동하여 STS 4.3.1 버전을 다운로드 받습니다. STS 4.3.1 다운로드 주소: https:.. 2023. 2. 9.
[티베로] 오류 설명 - 'JDBC-90603:Invalid Operation: disconnected from the server.' 오류의 의미 티맥스 티베로(Tmax Tibero)를 데이터베이스로 활용하는 프로그램을 운영하다보면 'JDBC-90603:Invalid Operation: disconnected from the server.'라는 오류를 볼 수 있다. 이 오류는 티베로 데이터베이스 서버가 세션(연결)을 끊어서 발생한다. 오류 원인 'JDBC-90603'는 세션(연결)이 없어져서 발생한다. 이 오류가 반복적으로 발생하는 경우 세션 관련 설정을 확인한다. 조치 방법 이 오류가 발생하면 데이터베이스 서버가 정상인지를 확인해야 하며 응용 프로그램에게는 적절한 예외처리 기능이 구현되어 있어야 한다. 주로 티베로 데이터베이스 세션을 새로 생성(연결)하는 기능으로 처리한다. 참고문서 "제31장 90000 ~ 90999", Tibero.. 2023. 2. 5.
[티베로] 오류 설명 - 'JDBC-90405:I/O error while reading from the server. - End Of Stream' 오류의 의미 티맥스 티베로(Tmax Tibero) 데이터베이스를 활용하는 프로그램을 개발하다보면 'JDBC-90405:I/O error while reading from the server. - End Of Stream'라는 오류를 볼 수 있다. 이 오류는 티베로 데이터베이스 서버가 통신 중에 연결을 끊어 버려서 발생한다. 오류 원인 'JDBC-90405'의 경우 다양한 원인이 있을 수 있으므로 가장 의심이 되는 것부터 조치하는 것이 좋다. 세션과 메모리, 운영체제, 티베로 버전, 쿼리, 네트워크 설정, 네트워크 하드웨어 상태 등 다양한 원인으로 오류가 발생할 수 있다. 조치 방법 이 오류가 발생하면 데이터베이스 서버가 정상인지를 확인해야 하며 응용 프로그램에게는 적절한 예외처리 기능이 구현되어 있어야 .. 2023. 2. 4.
[티베로] 세션 목록 확인하고 세션 강제 종료하기 세션 목록을 확인하고 강제로 세션을 끊어야 하는 상황이 종종 생긴다. 나의 경우 티맥스 티베로(Tmax Tibero) 또는 데이터베이스 서버의 운영체제나 하드웨어 자체에 문제가 생겨서 백엔드(Back-End) 쪽 프로그램과 연결이 끊어진 경우를 테스트할 때 세션 강제 종료를 한다. 세션 목록 조회 세션 목록을 조회하는 쿼리(Query)는 아래와 같다. 이 쿼리를 실행하면 아래의 사진처럼 결과가 나타난다. SELECT * FROM V$SESSION 세션 강제 종료 아래의 쿼리를 실행하면 특정 세션이 종료된다. 종료할 세션을 특정하기 위한 파라미터로 'SID'와 'SERIAL#'을 받는데 세션 목록에서 확인가능하다. ALTER SYSTEM kill SESSION(SID, SERIAL#); 2023. 2. 3.
[티베로] SQLGate for Tibero Developer 6개월 사용 후기 티베로를 GUI(Graphical User Interface)로 제어하는 도구가 여러가지 있겠지만 나는 그 중에서 최근에 SQLGate for Tibero를 몇달 써봤다. 무료 라이센스로 사용한거라 제약이 있었지만 꽤 사용하기 편했다. 당장 무료로 사용가능한 도구를 사용해야 했기에 지금까지 써보지 않았던 SQLGate를 써봤는데 쓸만 했다. 웨어밸리 사의 오렌지라는 도구 위주로 썼었던 나에게는 조금 불편한 것도 있었지만 이제 나에게 SQLGate는 다음에 예산이 생겨서 유료 라이센스 구매가 가능할 때 긍정적으로 도입을 검토할 수 있는 도구이다. 2023. 1. 23.
[티베로] LPAD, RPAD - 부족한 문자열 길이를 특정 문자로 채우거나 특정 길이를 넘는 문자열을 자르기 입력된 값을 보고 원하는 형식으로 바꿔줘야 하는 경우가 있다. 특히, 문자열 길이를 맞춰야 하는데 부족한 길이에 해당하는 영역을 특정 문자로 채우는 함수로 티베로에서는 LPAD 함수와 RPAD 함수를 제공한다. 1. RPAD 함수 RPAD 함수를 쓰면 지정한 길이로 문자열을 자르고 부족하면 오른쪽부터 채운다. 문법은 아래와 같다. RPAD(문자열, 길이, 문자) 2. RPAD 함수 예제 아래와 같이 RPAD 함수를 사용할 수 있다. 2-1. 지정한 길이보다 입력값이 긴 경우 SELECT RPAD('20230117010101000', 14, '0') FROM dual 2-2. 지정한 길이보다 입력값이 짧은 경우 SELECT RPAD('20230117', 14, '0') FROM dual 3. LPAD 함수.. 2023. 1. 18.
[MySQL] 3306 포트를 사용 중인 프로그램을 종료하는 방법 MySQL을 설치할 때 3306 포트를 사용하도록 설정했는데 나중에 MySQL을 실행하려고 보니 해당 포트가 이미 사용 중이어서 사용이 되지 않을 때 해결하는 방법을 안내한다. 동영상 설명 3306 포트를 사용 중인 프로그램을 종료하는 방법 해당 포트를 사용 중인 프로그램 확인 아래의 명령어를 입력하여 해당 포트를 사용 중인 프로그램을 확인한다. 제일 오른쪽에 나타난 PID 번호를 기억해둔다. netstat -ano | findstr 포트번호 아래의 명령어를 입력하여 해당 PID의 프로그램을 확인한다. tasklist | findstr PID번호 해당 프로그램 종료 프로그램을 종료하면 해당 포트가 비어지기 때문에 설치한 MySQL을 실행할 수 있다. 대게 3306 포트의 경우 서비스 프로그램에 가서 My.. 2023. 1. 10.
[MariaDB] HeidiSQL로 CSV로 저장한 데이터를 불러오는 방법 1. CSV 파일은 무엇인가? 다양한 분야에서 많이 활용하는 파일형식으로 CSV(Comma-Separated Values)가 있다. 간단한 구조이고 라이센스 프로그램에서 주로 데이터를 다른 형식으로 저장할 때 흔히 지원하는 파일 구조이다. 서로 다른 프로그램에서 공통적으로 사용할 수 있는 파일 형식이기에 자료를 공유할 때 흔히 CSV로 주고 받는다. 2. HeidiSQL로 CSV을 MariaDB에 입력하는 방법 CSV 파일의 정보를 읽어서 MariaDB에 입력하는 기능을 HeidiSQL은 지원한다. CSV 파일을 읽을 때 사용할 옵션도 충분히 제공하기에 CSV 파일을 가공할 필요가 없어서 편리하다. 사용하는 방법은 아래와 같다. 2.1. CSV 파일 가져오기 활성화 HeidiSQL을 실행하여 '도구' -.. 2022. 12. 2.
[MariaDB] 전역 로그 설정 및 로그 확인 로깅 기능을 활용하는 이유 MariaDB 환경에서 디버깅(Debugging)을 위해 로그(Log)를 확인하고 싶은 경우가 있다. 로그 기능을 별도로 설정하지 않은 경우에는 가장 쉽게 확인할 수 있는 방법이 전역 로그 기능을 활성화하는 것인데 본 글에서는 전역 로그 기능을 활성화하고 로그를 확인하는 방법을 다룬다. 전역 로그 활성화 먼저 아래의 쿼리(Query, 질의어)를 입력하여 전역 로그 기능이 활성화 되었는지 확인한다. SHOW VARIABLES LIKE 'general%'; 'general_log'의 값이 'OFF'이면 전역 로그가 비활성화 되어 있는 상태이다. 이 경우 아래의 쿼리를 입력하여 전역 로그 기능을 활성화한다. SET GLOBAL general_log=ON; 로그 확인 'general_.. 2022. 11. 24.
[프로그래머스/오라클] 12세 이하인 여자 환자 목록 출력하기 해답 문제 주소 https://school.programmers.co.kr/learn/courses/30/lessons/132201 해답 소스 주소 https://github.com/EngineeringCode/study-coding-test-with-oracle/blob/main/programmers/high_score_kit/select/132201_patient.sql 배경 지식 SQL SELECT 문법 조건문(CASE WHEN, DECODE) 조회 테이블 PATIENT 조회 조건 12살 이하 여자 환자 전화번호가 없는 경우, 'NONE'으로 출력 정렬 방식 나이를 내림차순 정렬 나이가 같다면 환자이름으로 오른차순 정렬 SQL 해답 SELECT PT_NAME, PT_NO, GEND_CD, AGE, DEC.. 2022. 11. 7.
[프로그래머스/오라클] 과일로 만든 아이스크림 고르기 해답 문제 주소 https://school.programmers.co.kr/learn/courses/30/lessons/133025 해답 소스 주소 https://github.com/EngineeringCode/study-coding-test-with-oracle/blob/main/programmers/high_score_kit/select/133025_ice_cream.sql 동작 환경 Oracle RDBMS 배경 지식 SQL SELECT 문법 JOIN 조회 테이블 FIRST_HALF ICECREAM_INF 조회 조건 아이스크림의 상반기 총 주문량이 3,000보다 높은 것 아이스크림의 주성분이 과일일 것 정렬 방식 총 주문량을 내림차순으로(큰 순서대로) SQL 해답 SELECT O.FLAVOR FROM (S.. 2022. 11. 6.
[오라클/티베로] 사용자 정보 및 목록 확인 사용자 목록 확인 아래의 명령어를 입력하면 전체 사용자 목록이 나타난다. SELECT * FROM all_users; 사용자 정보 확인 좀 더 자세한 사용자의 정보를 확인하고 싶다면 아래의 명령어로 확인할 수 있다. SELECT * FROM DBA_USERS; 참고문서 [1] "6.101 DBA_USERS", 1412 of 2693 pp., Oracle Database Online Documentation 12c Release 1 (12.1), Oracle. @원문보기 2022. 9. 14.
티베로 6를 시작하는 명령어와 중지하는 명령어 티베로 시작 명령어 명령 프롬프트를 관리자 권한으로 실행한 다음 아래의 명령어를 입력하면 아래의 사진처럼 티베로가 시작된다. tbboot 티베로 중지 명령어 티베로를 중지하는 방법도 시작하는 방법과 유사하게 관리자 권한으로 명령 프롬프르틀 실행한 다음 아래의 명령어를 입력하면 아래의 사진처럼 중지된다. 티베로 상태에 따라 중지할 때 옵션이 나타나는데 적당한 것을 선택하면 된다. tbdown 2022. 9. 6.
티베로(Tibero) 버전 확인 방법 티베로의 버전을 확인하는 방법은 여러가지가 있지만 나는 쿼리(Query, 질의어)로 확인하는 것을 선호한다. 쿼리로 티베로 버전을 확인하는 방법은 아래와 같다. 티베로 버전 확인 쿼리 티베로에 접속하여 아래의 쿼리를 실행하면 아래의 사진처럼 티베로 버전이 나온다. SELECT * FROM vt_version; 2022. 8. 11.