GOLDILOCKS 는 ANALYZE TABLE, ANALYZE SYSTEM 구문으로 OPTIMIZER 가 최적화된 플랜을 만드는데 도움을 줄 수 있습니다. ANALYZE SYSTEM시스템의 통계 정보를 분석합니다.1. CPU 가 초당 처리할 수 있는 오퍼레이션 수2. NETWORK 가 초당 처리할 수 있는 오퍼레이션 수 ( 클러스터 인 경우 )를 측정합니다. ANALYZE SYSTEM 은 장비나, 네트워크가 변경되는 경우 한번만 수행하면 됩니다.분석된 데이터는 DBA_STAT_SYSTEM 테이블에 저장됩니다.gSQL> ANALYZE SYSTEM COMPUTE STATISTICS; analyzed. gSQL> SELECT * FROM DBA_STAT_SYSTEM; CPU_OPS NETWORK_IOPS N..
Database
GOLDILOCKS 는 XA 트랜잭션간 데이터 소실을 방지하기 위해 2단계 커밋을 지원합니다. 사진은 G1, G2 그룹에 대해 글로벌 트랜잭션이 발생한 뒤 커밋을 수행했을 때의 로직입니다. Prepare Commit 단계1. APP 는 G1N2 노드에 Prepare Commit Protocol 을 전송합니다.2. G1N2 노드는 자기자신 노드에 Prepare Commit 을 수행함과 동시에 Global Coordinator 인 G1N1 장비로 Prepare Commit Protocol 을 전송합니다.3. G1N1 장비는 트랜잭션에 참여하는 모든 노드의 cserver 에 Prepare Commit Protocol 을 전송합니다.4. 응답받은 각 장비는 Prepare Commit 을 수행 후 G1N2 장비로..
ORACLE 에서는 한줄에 출력되는 길이 조정을 위해 다음과 같이 설정할 수 있습니다. 한줄에 1024 글자가 출력되며, 1024 개의 레코드가 출력된 후 컬럼명이 출력됩니다.SQL> SET LINESIZE 1024 SQL> SET PAGESIZE 1024SQL> SHOW LINESIZE linesize 1024 SQL> SHOW PAGESIZE pagesize 1024 이래도 잘리는 경우해당 컬럼의 바이트 수가 짧아서 발생되는 문제 이며예로 TABLE_NAME 의 컬럼의 바이트 수를 80바이트로 늘리기 위해서는 아래와 같이 수행하면 됩니다.SQL> COL COLUMN_NAME FORMAT A80;
CentOS 에 ORACLE 을 설치하는 방법입니다.터미널에 X 기능을 추가한 뒤 Xwindows 기능을 이용하여 설치를 진행합니다. 서버 CentOS Linux release 7.5.1804 데이터베이스 Oracle Database 12c Release 2 (12.2.0.1.0) 다운로드 방법 1. 사이트에 접속한 뒤 다운로드를 진행합니다.http://www.oracle.com/technetwork/database/enterprise-edition/downloads/oracle12c-linux-12201-3608234.html 2. 다운로드 한 zip 파일을 서버로 전송합니다. 설치 방법 1. zip 파일을 해제합니다.$ ls linuxx64_12201_database.zip $ unzip linuxx..
데이터베이스 정규화란데이터 중복을 최소화 혹은 없애기 위한 작업을 의미합니다. 정규화의 단계는 1NF 부터 시작해서 2NF, 3NF, BCNF, 4NF, 5NF 단계로 이루어 집니다. 주로 3NF 단계에서 정규화 작업은 끝이나며,너무 많은 정규화 작업은 JOIN 으로 인하여 성능을 떨어트릴 수 있으므로 주의하여야 합니다. 요즘 한창 이슈인 코인에 대해서 예시를 들어보겠습니다. 1NF각 열의 데이터가 하나의 값만 가지고 있는 경우를 의미합니다. 특정 테이블에 아래와 같은 데이터가 있다고 가정합니다. 사용자 고유 식별번호 사용자 이름 보유 코인 1001 홍길동 비트코인 1002 임꺽정 비트코인, 리플 1003 성춘향 리플혹은 다음과 같을 수도 있습니다. 사용자 고유 식별번호 사용자 이름 보유 코인 1 보유 ..
Mysql 은 mysqldump 유틸리티를 통하여 데이터베이스 혹은 테이블을 Export, Import 할 수 있습니다. 구문은 다음과 같습니다.mysqldump -u [USER_NAME] -p [PASSWORD] [DB_NAME] [TABLE_NAME] 1. mysql 의 데이터베이스를 덤프$ mysqldump -u root --password mysql > mysql.sql Enter password: 2. mysql 데이터베이스의 T1 테이블을 덤프 혹은 여러개의 테이블을 덤프할경우$ mysqldump -u root -p mysql T1 > t1.sql Enter password: $ mysqldump -u root -p mysql T1 T2 > t1_t2.sql Enter password: Dum..
MySQL 에서는 SHOW 명령어로 데이터베이스의 정보를 조회할 수 있습니다. 많은 옵션들을 지원하고 있지만, 지극히 주관적으로 자주 사용되는 옵션에 대해서 정리해보겠습니다. 옵션 설명 DATABASES 데이터베이스 목록 CREATE DATABASE [DATABASE_NAME] 해당 데이터베이스 생성 SQL 구문 출력 ENGINES 플러그인된 데이터베이스 엔진의 정보 및 사용가능 여부 출력 TABLES 데이터베이스의 테이블 목록 CREATE TABLE [TABLE_NAME] 해당 테이블 생성 SQL 구문 출력 TABLES LIKE [TABLE_NAME] 데이터베이스의 해당 테이블 목록 INDEX FROM [TABLE_NAME] 해당 테이블의 인덱스 정보 출력 COLUMNS FROM [TABLE_NAME]..
MySQL 에서 쿼리 수행 시 다음과 같은 오류가 나오면서 구문이 수행되지 않은 경우 해결방법입니다.ERROR 1820 (HY000): You must reset your password using ALTER USER statement before executing this statement. SET PASSWORD 구문을 사용하여 비밀번호를 설정한 뒤 구문을 수행합니다.mysql> SET PASSWORD = PASSWORD('root'); Query OK, 0 rows affected, 1 warning (0.05 sec) mysql> COMMIT; Query OK, 0 rows affected (0.00 sec) mysql> SELECT 1; +---+ | 1 | +---+ | 1 | +---+ 1 ..
GOLDILOCKS CLUSTER 는 트랜잭션의 종류에 따라 명칭 및 동작 방식이 다릅니다. 명칭 트랜잭션의 범위 동작 방식 Global Transaction 전체 노드의 전체 멤버 트랜잭션의 상태를 Prepare 로 변경 트랜잭션이 기록한 모드 로그가 디스크로 반영 후 응답을 Global Coordinator 에 전송 :: 복구 시 리두로그로부터 Commit 혹은 Rollback 을 판단 Global Coordinator 는 클라이언트에 응답 Global Commit 클러스터 전체 노드의 전체 멤버에 커밋프로토콜 전송 전송한 멤버로부터 응답을 받을 때 까지 대기 비동기로 수행 가능 Domain Transaction 특정 노드의 전체 멤버 트랜잭션의 상태를 Prepare 로 변경 트랜잭션이 기록한 모든 ..
GOLDILOCKS 는 유저와 스키마가 1 : N 관계를 가질 수 있습니다.http://mozi.tistory.com/101?category=999095 스키마 소유권 부여MOZI 유저에 SCHEMA1, SCHEMA2, SCHEMA3 스키마 소유권을 부여하는 방법입니다.gSQL> CREATE SCHEMA SCHEMA1 AUTHORIZATION MOZI; Schema created. gSQL> CREATE SCHEMA SCHEMA2 AUTHORIZATION MOZI; Schema created. gSQL> CREATE SCHEMA SCHEMA3 AUTHORIZATION MOZI; Schema created. 유저가 소유하고 있는 스키마는 USER_SCHEMAS 테이블로 조회할 수 있습니다.gSQL> SEL..