MySQL

MySQL 8.4 LTS 컴파일 설치

MySQL 8 에서 버전관리에 변화가 있었다. MySQL 도 이제는 LTS 버전과 그렇지 않은 버전으로 나누어 릴리즈 된다고 한다. MySQL 8.4 LTS 에서 변경사항이 있다. 설치는 Ubuntu 22.04 에서 진행 되었다. 의존성 패키지 설치 MySQL 8.4 는 GCC 10 버전 이상을 필요로 한다. 그래서 Ubuntu 20.04 에서는 설치할 수 없다. 다음과 같이 의존성 패키지를 설치한다. Configure WITH_BOOST, DOWNLOAD_BOOST 옵션이 없어졌다. 추가로 FIDO 관련해 설정을 해줘야 한다. 사용하지 않는다면 none 으로 지정해줘야 한다. 에러가 발생한다면 다시 해줘야 하는데, 다음과 같이 파일과 디렉토리를 […]

MySQL

MySQL 모니터링을 위한 계정 권한

MySQL 에서는 각종 지표등을 제공하는데, 이러한 지표를 얻기 위해서는 MySQL 계정이 있어야 한다. 대부분 MySQL 계정을 생성하고 권한을 주는데, 습관처럼 “ALL PRIVLEGES” 를 주는 경우가 많다. 하지만 모든 시스템에서 계정은 최소한의 필요한 권한만 주도록 하는 것이 보안의 시작이다. 이 문서는 MySQL 모니터링을 위한 계정 권한에 대해 다룬다. 계정생성 MySQL 8.0 기준으로 계정 생성은 다음과 같다. 이렇게 생성을 하고 난 후에 이제 GRANT 명령어를 이용해서 권한을 줘야 한다. 모니링을 위한 권한 부여 ‘ALL PRIVILEGES’ 로 모든 권한을 줘는 안되며 모니터링을 위한 […]

Oracle Database

listener.ora, tnsnames.ora 생성하기

오라클 데이터베이스 19c 를 Silent 설치를 하고 나면 listener.ora, tnsnames.ora 가 생성되지 않는다. 어떻게 수동으로 이것을 생성하는지에 대해서 알아보고 차이에 대해서 간단히 설명한다. 신기하게도 오라클 데이터베이스 19c를 Silent 설치하고 난 후에 이것을 생성하지 않는다고 하더라도 원격 클라이언트 접속에는 아무런 문제가 되지 않는다. 하지만 접속 서비스를 할당하고 접속을 쪼개고 싶다면 tnsnames.ora 파일이 반드시 있어야 한다. Oracle Net Listener Listener 는 정확하게는 ‘Oracle Net Listener’ 라고 한다. 리스너는 하나 혹은 그 이상의 지원하는 서비스에 대한 정보, 프로토콜 주소들을 리스닝하도록 설정된다. 리스너의 설정 […]

Oracle Database

오라클 기본 정보 확인

오라클을 설치하고 나면 정보를 확인해야 한다. 오라클은 많은 테이블, 뷰, 동적쿼리등을 지원하는데 워낙 많다보니까 다 알수는 없다. 필요한 정보를 위한 간단한 쿼리들을 소개 한다. 데이터베이스 컴포넌트들의 상태 확인 오라클 데이터베이스는 다양한 컴포넌트들로 구성되는데, 이에 대한 상태를 확인할 수 있다.

만일 INVALID 컴포넌트가 있다면 다음과 같이 해준다.

데이터베이스 이름 확인 데이터베이스 이름이 뭔지를 확인할 수 있다.

CDB 가 YES 면 데이터베이스가 CDB 로 생성되었다는 것을 말한다. NO 라면 non-CDB 데이터베이스다. DB_UNIQUE_NAME 은 쉘 환경변수에도 사용되고 있어 확인해 둘 […]

Oracle Database

오라클 데이터베이스 19c 샘플 스키마 생성

오라클 데이터베이스 19c 를 Silent 설치를 할 경우에 대부분 데이터베이스를 생성하고 끝나게 된다. 하지만 오라클은 샘플 스키마를 제공하고 있는데, HR 관련 된 내용의 샘플 스키마를 제공 한다. 이것을 설치해보자. SQLcl 활용 SQL Plus 에 기능을 더한 SQLcl 를 활용할 것이다. SQLcl 은 $ORACLE_HOME/sqldeveloper/sqldeveloper/bin 디렉토리가 있다. 여기에 sql 스크립트가 존재하는데 이것이 SQLcl 이다.

“set sqlformat ansiconsole” 를 할 경우에 결과를 보다 보기 좋게 해준다. PDB 로 세션 변경 오라클 데이터베이스 19c 의 경우에 CDB, PDB 개념이 존재한다. 실제 사용자 데이터베이스는 […]

Oracle Database

Oracle Database 19c 설치

오라클 데이터베이스 19c (Oracle Database 19c) 설치에 대한 문서다. 설치는 Slient Mode 로 설치되었으면 PDB 를 기반으로 하였다. PDB, CDB 에 대한 설명은 오라클 문서를 참고. 환경 Oracle Linux 8.3 Kernel: 5.4.17-2102.200.13.el8uek.x86_64 Memory: 7.7Gib Swap: 12Gi Root Partition: 32GB 호스트 네임 변경

Selinux 를 Permissive 로 변경

HugePages 비활성화. 오라클은 HugePages 를 비활성화할 것을 권장하고 있다.

PreInstallation RPM 설치 오라클은 시스템 계정, 설치 디렉토리, 시스템 리소스 설정등을 필요로 하는데 PreInstallation RPM 은 이것을 자동으로 해준다.

이것은 […]

MariaDB

데이터베이스를 위한 시스템 설정 – HugePage Size

Oracle, MariadB, MySQL 등과 같은 관계형 데이터베이스를 다루다보면 시스템 튜닝에 대해서 많이 접하게 된다. 특히나 리눅스 시스템에서 이들 데이터베이스 시스템이 제대로 작동하기 위한 운영체제 차원에서 필요한 작업을 많이 하게 된다. 이러한 운영체제 차원에서 작업은 여러가지가 있어서 알아야 하는 내용도 많고 세팅해야 하는 것도 많다. 대부분 인터넷이나 가이드 북을 이용해 어찌어찌 설정을 한다고 하지만 많은 사람들이 그것이 왜 필요한지 깊게 이해하는 사람들은 드물다. 그래서 아주 간단하게 데이터베이스 시스템을 다루는데 있어 리눅스 운영체제에서 필요로 하는 작업에 필요한 배경지식에 대해서 다루어 보고자 한다. […]

MariaDB

MariaDB 10.5.8 컴파일 설치

MariaDB 10.5.8 컴파일 설치를 해보도록 한다. 컴파일 설치를 위한 환경은 다음과 같다. CentOS 8(x86_64) Latest version 최소 설치(Minimal Installation) 환경 CentOS 8 에 최소 설치 환경이 매우 중요 하다. 최소 설치 환경이 아니라면 이 문서 내용 그대로 할 수는 없을 수도 있다. 컴파일 환경 구축 CentOS 8 을 최소설치하게 되면 패키지 저장소 또한 최소한으로 활성화가 된다. CentOS 8 은 패키지를 위한 저장소를 많이 분할해 놨는데 다음과 같다.

최소설치한 후 활성화된 저장소는 다음과 같다.

RedHat 배포판의 경우 프로그래밍 라이브러리들은 […]

Oracle Database

Oracle JDBC Memory Management

이 문서는 Oracle JDBC Memory Management 를 번역한 것 입니다. 일부 오역과 오타가 있을 수 있습니다. Introduction 데이터베이스 애플리케이션들은 아주 많은 양의 메모리를 사용할 수 있다. 큰 스케일의 JDBC 애플리케이션들은 그들이 사용하는 아주 많은 메모리 때문에 성능상의 문제를 발생시킬 수 있다. 오라클 데이터베이스 10i, 11g JDBC 드라이버는 의도적으로 성능 향상을 위한 많은 메모리 사용과 트레이드 오프 관계다. Oracle Database 12c 드라이버는 메모리를 좀 더 절약하지만 여전히 아주 큰 애플리케이션은 메모리 문제를 일으킬 수 있다. 이 화이트 페이퍼는(White paper) 다양한 드라이버들이 […]