전체 글

'DBA 업무'와 '알게되는 정보'를 기록하는 공간
함수란? 벤더에서 제공하는 함수인 내장함수와 사용자가 정의할 수 있는 함수로 나뉩니다.여기에서는 기본적으로 제공되는 SQL 내장 함수에 대해 설명합니다. 내장함수 단일행 값이 입력되는 단일행 함수와 여러 행의 값이 입력되는 다중행 함수로 나뉩니다.다중행 함수는 다시 집계 함수, 그룹 함수, 윈도우 함수로 나뉩니다. 단일행 함수 단일행 함수의 종류는 문자형, 숫자형, 날짜형, 변환형, NULL 관련 함수가 있습니다. 문자형 함수 문자형 함수는 문자 데이터를 매개 변수로 받아들여서 문자나 숫자 값의 결과를 돌려주는 함수입니다. 문자형 함수 함수 설명 LOWER(문자열) 문자열의 알파벳 문자를 소문자로 바꾸어 준다. UPPER(문자열) 문자열의 알파벳 문자를 대문자로 바꾸어 준다. ASCII(문자) 문자나 숫..
WHERE 조건절의 개요자료를 검색할 때 SELECT 절과 FROM 절만을 사용하여 기본적인 SQL 문장을 구성한다면, 테이블에 있는 모든 자료가 출력되기 때문에실제로 원하는 자료를 확인하기 어렵습니다.따라서 WHERE 절을 사용하여 원하는 자료들로 결과를 제한할 수 있습니다.SELECT [DISTINCT/ALL] 컬럼명 [ALIAS명] FROM 테이블명 WHERE 조건식;WHERE 절은 FROM 절 다음에 위치하며, 조건식은 아래 내용으로 구성됩니다.1. 컬럼명 ( 보통 조건식의 좌측에 위치 )2. 비교 연산자3. 문자, 숫자, 표현식 ( 보통 조건식의 우측에 위치 )4. 비교 컬럼명 ( JOIN 사용 시) 연산자의 종류WHERE 절에 조건식을 사용할 때, 사용되는 연산자 입니다. 구분 연산자 의미 비..
원인 해당 멤버가 비정상 적으로 종료하는 경우 발생합니다. 해결방안[방안 1] 비정상 종료한 멤버를 클러스터에서 제거합니다.gSQL> ALTER DATABASE DROP INACTIVE CLUSTER MEMBERS; [방안 2] 비정상 종료한 멤버를 클러스터에 조인합니다.gSQL> startup gSQL> ALTER SYSTEM JOIN DATABASE; gSQL> ALTER DATABASE REBALANCE;
원인 클러스터 멤버가 비정상 종료하여, 원격지에 접속한 세션이 비정상 종료로 트랜잭션이 롤백되는 경우 발생합니다. 해결방안 [방안 1] 비정상 종료한 멤버를 클러스터에서 제거한 후, 쿼리를 수행합니다.gSQL> ALTER DATABASE DROP INACTIVE CLUSTER MEMBERS; [방안 2] 비정상 종료한 멤버를 클러스터에 다시 조인한 후, 쿼리를 수행합니다.gSQL> startup gSQL> ALTER SYSTEM JOIN DATABASE; gSQL> ALTER DATABASE REBALANCE;
원인 구문 수행 중, 클러스터 멤버들의 연결 관계가 깨졌을 경우 발생합니다. 해결방안 [방안 1] 해당 멤버를 다시 구동한 뒤 JOIN 합니다. 이 후 구문을 다시 수행합니다.gSQL> startup gSQL> ALTER SYSTEM JOIN DATABASE; gSQL> ALTER DATABASE REBALANCE; [방안 2] 해당 멤버를 클러스터에서 제거한 후 구문을 다시 수행합니다.gSQL> ALTER DATABASE DROP INACTIVE CLUSTER MEMBERS;
원인 해당 멤버에 접근할 수 없는 경우 발생합니다. gSQL> SELECT MEMBER_ID, PHYSICAL_CONNECTION FROM X$CLUSTER_MEMBER@LOCAL; MEMBER_ID PHYSICAL_CONNECTION --------- ------------------- 1 ACTIVE 2 ACTIVE 3 ACTIVE 4 INACTIVE 4 rows selected.gSQL> create table t1 (c1 int); ERR-HY000(56003): has inactive member ( G1N2 ) 해결방안 [방안 1] INACTIVE 인 멤버를 클러스터에서 제거한 후, 쿼리를 수행합니다.gSQL> ALTER DATABASE DROP INACTIVE CLUSTER MEMBERS;g..
원인 X$CLUSTER_LOCATION 에서 해당 멤버의 정보가 없는 경우 발생합니다. gSQL> select * from x$cluster_location@local; MEMBER_NAME HOST PORT ----------- ------------ ----- G1N1 192.168.0.50 10000 G2N1 192.168.0.50 20000 2 rows selected.gSQL> alter cluster location g1n3 host '192.168.0.50' port 10000; ERR-HY000(56001): location information of member 'G1N3' does not exist : 해결방안 [방안 1] X$CLUSTER_LOCATION 에서 조회되는 멤버에 대해서 ..
원인 X$CLUSTER_LOCATION 에서 해당 멤버의 정보가 이미 있는 경우 발생합니다. gSQL> select * from x$cluster_location@local; MEMBER_NAME HOST PORT ----------- ------------ ----- G1N1 192.168.0.50 10000 G2N1 192.168.0.50 20000 2 rows selected.gSQL> create cluster location g1n1 host '192.168.0.50' port 30000; ERR-HY000(56000): location information of member 'G1N1' already exists : 해결방안 [방안 1] X$CLUSTER_LOCATION 에서 조회되는 멤버명과..
TCL 이란? TRANSACTION CONTROL LANGUAGE 로 트랜잭션을 제어하는 언어입니다. 트랜잭션은 데이터베이스의 논리적 연산단위입니다.하나의 트랜잭션에는 하나 이상의 SQL 문장이 포함되며 분할할 수 없는 최소의 단위입니다. 즉 ALL OR NOTHING 입니다. 트랜잭션 대상이 되는 SQL 문은 UPDATE, INSERT, DELETE 등 데이터를 수정하는 DML 문 입니다.SELECT 문장은 직접적인 트랜잭션 대상은 아니지만, SELECT FOR UPDATE 등 배타적 LOCK 을 요구하는 문장은 트랜잭션 대상이 될 수 있습니다. 트랜잭션의 특성 특성 설명 원자성 (Atomicity) 트랜잭션에서 정의된 연산들은 모두 성공적으로 실행되던지 아니면 전혀 실행되지 않은 상태로 남아있어야 한..
DML 이란? DATA MANIPULATION LANGUAGE 로 데이터 입력, 수정, 삭제, 조회 언어를 의미합니다. INSERT 테이블에 데이터를 입력하는 방법은 두 가지 유형이 있으며 한 번에 한 건만 입력됩니다.해당 칼럼명과 입력되어야 하는 값을 서로 1:1로 매핑해서 입력하면 됩니다.데이터 유형이 문자 유형일 경우 데이터를 ' ' 로 감쌉니다.INSERT INTO 테이블명 (COLUMN_LIST) VALUES (COLUMN_LIST 에 넣을 VALUE_LIST); INSERT INTO 테이블명 VALUES (전체 COLUMN 에 넣을 VALUE_LIST); UPDATE 입력한 정보 중에 잘못 입력되거나 변경이 발생하여 정보를 수정해야 하는 경우가 발생합니다.UPDATE 테이블명 SET 수정되어야..
꽁담
꽁담