DBA

개인 학습, 작업 기록용입니다. 올바르지 않은 정보가 있다면 댓글주시면 감사하겠습니다!

DATABASE 27

[Postgresql] pg 아키텍쳐1 - Shared Memory, Local Memory, Process

Shared Memory 데이터베이스 기동 시 공용 메모리 공간인 Shared Memory가 할당모든 backend 프로세스들에 의해 공유되는 공간 1) Shared Buffers데이터 변경 사항을 Block 단위로 저장하여 물리적 I/O를 하지 않아 데이터 처리를 빠르게 함postgres=# show shared_buffers; shared_buffers---------------- 128MB --* Shared buffer 크기 : 128MB = 16384 * 8KBpostgres=# select name, setting from pg_settings where name = 'shared_buffers'; name | setting----------------+--------- sh..

DATABASE/Postgresql 2024.10.21

[PostgreSQL] routines ( function, procedure ..) 기본 권한 설정과 관리

postgresql 의 경우 객체가 생성될 때 일부 유형의 객체에 대해 기본 권한을 부여한다.이 중 함수와 프로시저는 생성시 모든 사용자가 실행가능하여 기본 권한 설정을 관리해주어야 한다. 표 5.2. Summary of Access PrivilegesObject TypeAll PrivilegesDefault PUBLIC Privilegespsql CommandDATABASECTcTc\lDOMAINUU\dD+FUNCTION or PROCEDUREXX\df+FOREIGN DATA WRAPPERUnone\dew+FOREIGN SERVERUnone\des+LANGUAGEUU\dL+LARGE OBJECTrwnoneSCHEMAUCnone\dn+SEQUENCErwUnone\dpTABLE (and table-like..

DATABASE/Postgresql 2024.09.30

[MariaDB] CONNECT Engine 설치 및 ORACLE , MSSQL 연결하기

Connect Engine이란 ? MariaDB는 스토리지 엔진을 통해 외부 원격 데이터에 접근 가능합니다. connect engine은 외부 데이터 소스와 MariaDB 간의 연결을 위한 엔진으로 XML, CSV 나 MySQL, ORACLE, SQL Server 등 타 DBMS의 테이블을 MariaDB에서 직접 쿼리할 수 있도록 연결기능을 제공합니다. Connect Engine 설치 및 ORACLE , MSSQL 연결 1. Connect Engine 설치 [root@dbteam01 /]# yum install MariaDB-connect-engine . . . . Installed: MariaDB-connect-engine.x86_64 0:10.11.6-1.el7.centos Complete! [roo..

[MariaDB] 기본 디렉토리 datadir 변경하기 (CentOS7)

환경 : CentOS7 / 10.11.6-MariaDB MariaDB 설치하면 기본 데이터 디렉토리는 /var/lib/mysql 로 설정됩니다. 1. 기본 데이터 디렉토리 위치 확인 mariaDB 접속하여 select @@datadir; 조회하면 현재 기본 데이터 디렉토리를 확인 할 수 있습니다. [root@dbteam01 /]# mysql -u root -p Enter password: Welcome to the MariaDB monitor. Commands end with ; or \g. Your MariaDB connection id is 19 Server version: 10.11.6-MariaDB MariaDB Server Copyright (c) 2000, 2018, Oracle, MariaD..

[MariaDB] CentOS MariaDB 설치 Requires: pv 에러 발생

yum install epel-release MariaDB 설치 진행 중 에러 발생 MariaDB의 10.11 repo를 생성 후 yum 통해 설치 진행 yum install MariaDB-server MariaDB-client 트랜잭션 체크하고 쭉쭉 진행하다가 Requires: pv 오류 만남 해결방법 1 yum clean metadata yum update clean all yum update ###내용확인용 [root@dbteam01 ~]# yum update Loaded plugins: fastestmirror, langpacks Loading mirror speeds from cached hostfile * base: mirror.kakao.com * extras: mirror.kakao.com..

[Oracle] 오라클 서비스 시작, 중지, 기동 확인 쉘 스크립트

OS 환경 : CentOS7 오라클 중지 스크립트 ( oracle_stop.sh ) 1. 리스너 중지 2. 남아있는 오라클 세션 kill 3. 오라클 셧다운 4. 정상 셧다운 확인 - DB 인스턴스 조회하여 해당 구문 error코드값으로 확인 0이면 쿼리 정상 수행 ( DB 올라온 상태 ) 0아니면 ERROR ( DB 내려간 상태) #!/bin/sh #리스너중지 /bin/su - oracle -c "lsnrctl stop" #오라클세션 kill ps -ef |grep LOCAL|grep oracle|grep -v grep |awk '{print $2}'|xargs kill -9 #오라클 셧다운 /bin/su - oracle -c "sqlplus '/as sysdba'"

DATABASE/Oracle 2024.01.09

[Oracle] SQL*Plus spool 활용하여 데이터 csv 파일 생성하기

sqlplus spool 명령어를 활용하여 조회한 데이터를 csv 파일 생성 spool 이란? 데이터를 파일로 저장하는 명령어 사용법 - SPOOL 파일명.확장자(csv, txt 등) : 데이터를 파일명.확장자 형식의 파일로 저장한다 - SPOOL OFF : SPOOL 종료 SPOOL /경로/파일명.확장자 -- 쿼리 작성 및 sql 파일명 SPOOL OFF; 사용예제 --csvtest.sql 작성 --SET 명령어 활용하여 불필요한 옵션 제거 set LINESIZE 1000 SET TRIMSPOOL ON SET PAGESIZE 0 SET FEEDBACK OFF SET TERMOUT OFF SPOOL /orabackup/test.csv SELECT 'a' ||','||'b' as ee FROM dual; ..

DATABASE/Oracle 2024.01.05

[Oracle] USER, PUBLIC SYNONYM, PROFILE 이관시 DATAPUMP 사용법

오라클 개발 서버에 운영과 동일한 환경을 세팅하기 위한 작업 진행 중 public synonym과 profile 정보도 함께 가지고 오고자 작업 진행함. USER, PUBLIC SYNONYM, PROFILE, ROLE 등 특정 스키마에 포함된 object 가 아닌 경우에는 expdp full = y include = public_synonym, profile을 조건 사용한다. full=y : 데이터베이스의 모든 스키마 대상 INCLUDE = 추출에 포함할 데이터베이스 개체 유형 PROFILE 테스트 -- test profile 생성 create profile TEST_PROFILE LIMIT IDLE_TIME UNLIMITED LOGICAL_READS_PER_CALL UNLIMITED PRIVATE_SG..

DATABASE/Oracle 2023.12.28

[Oracle] NUM_INDEX_KEYS 힌트 사용시 INDEX 힌트 함께 사용하기

인덱스 구성된 컬럼을 사용할때 IN 조건절로 사용하게 되는 경우가 있음 인덱스 구성 컬럼 중 IN 조건절로 쓰이는 컬럼이 액세스 조건으로 사용되는지 필터조건으로 사용되는지에 따라 성능이 다르며 사용되는 경우에 따라 유리한 방법이 있다. ( ex) in 조건 개수가 많지않고 데이터가 여러 블록에 존재하는 경우, 액세스 조건으로 사용시 유리할 수 있음 ) 이럴때 num_index_keys 힌트를 사용하여 in 조건 컬럼을 액세스 조건으로 사용할지 필터 조건으로 사용할지 제어가능하다. -- 인덱스의 n번째 컬럼까지 액세스 조건으로 사용 /*+ num_index_keys(t ix_01 n) */ 개인 운영 노트) num_index_keys 힌트만으론 사용한 인덱스를 강제로 고정하지 않음 얼마전, 속도 저하 쿼리..

DATABASE/Oracle 2023.12.20