본문 바로가기

Database75

데이터베이스 특수문자 패스워드 및 인덱스 주말에 좀 더 찾아보긴 할 텐데.. 특수문자를 포함하여 패스워드를 설정한 후 tty에서 접근 혹은 db툴에서 접근하는 것이 아닌 웹서버에서 dbcp로 커넥션을 관리하는 방법.. jdbc.properites가 아닌 sever.xml 혹은 context.xml에 resource에서 처리? 이부분에서 특수문자인 경우 방화벽 및 grant 설정이 되어있어서 패스워드 실패하는 에러를 겪고, 패스워드를 황급히 해당 ip에 대해 생성한 후 pwd를 설정해주었다. 그 결과는 내일 확인할 수 있다. 개발 데이터베이스와 운영 데이터베이스에서 성능차이가 심하게 났다. 그 이유는 데이터베이스 설정의 charset 때문에 인덱스관련 문제가 있었다 . 2021. 10. 28.
[Oracle] Tablespace 우리가 조회하는 모든 데이터들은 Oracle에서 Data file이라는 물리적 파일 형태에 저장하고, 이런 Data file들이 모여서 Tablespace라는 논리적 공간을 형성합니다. Tablespace는 하나의 데이터베이스 안에 가장 큰 논리적 공간으로 상황에 따라 여러 개의 Tablespace로 분리하여 관리되고, Segment라는 논리적 저장공간의 집합이기도 합니다. Tablespace의 종류 Permanent Tablespace - 영구 테이블스페이스는 가장 일반적인 테이블스페이스로 데이터를 축적용도로 사용되는 공간입니다. USERS, SYSAUX, SYSTEM, EXAMPLES가 해당됩니다. Undo, Temporary와는 다르게 고의적으로 삭제하지 않는한 영구적으로 보존되는 객체들을 저장하기.. 2021. 8. 18.
테이블 생성시 추가 속성 1. SEGMENT CREATION IMMEDIATE - 테이블 생성 후 바로 조회가 가능하다. 만약 DEFREAD로 생성한 다면 바로 조회가 불가능하다. 2. PCTFREE - 사용 가능한 공간에서 데이터 행의 갱신을 대비하여 확보해 놓는 블록 값(%) 데이터 블록의 설정한 % 값만큼을 사용 가능한 공간으로 유지하여 각 블록에 있는 행을 갱신한다. 3. PCTUSED - 테이블의 각 데이터 블록에 대해 유지하려는 사용 공간의 최소 백분율이다. 데이터 블록의 사용 영역이 설정한 %값보다 적어야만 새로운 행을 삽입할 수 있다. 4. INITRANS - 하나의 데이터 블록에 지정될 초기 트랜잭션 값이며, 최소 수준의 동시성을 보장하는 옵션이다. 만약 1이 아닌 다른 값으로 설정 시 설정 값만큼 트랜잭션이 동.. 2021. 8. 4.
테이블 및 칼럼 조회 오라클 컬럼 조회 select * from cols : 테이블, 칼럼, 도메인, 등 정보 select * from cols where table_name ='user_table'; : 해당 테이블 칼럼 및 도메인 조회 테이블의 컬럼 코멘트 조회 select * from user_col_comments where table_name= '' 2021. 8. 2.
그룹 함수 (1) ANSI/ISO SQL 표준은 데이터 분석을 위해서 다음 세 가지 함수를 제공한다. 1) AGGREGATE FUNCTION GROUP AGGREGATE function이라고도 부르며 count, sum, avg, max, min 등등 의 각종 집계 함수 등이 포함된다. chinggin.tistory.com/489 집계 함수 (Aggregate Function) 집계 함수는 여러 행들의 그룹이 모여서 그룹당 단 하나의 결과를 돌려주는 다중행 함수를 집계 함수라고 하며 특성은 다음과 같다. - 여러 행들의 그룹이 모여서 그룹당 단하나의 결과를 돌려 chinggin.tistory.com 2) GROUP FUNCTION 결산 개념의 업무를 가지는 원가나 판마 시스템 경우는 소계, 중계, 합계, 총합계 등 여러 .. 2021. 5. 23.
집합 연산자 집합 연산자는 두 개 이상 테이블에서 조인을 사용하지 않고 연관된 데이터를 조회하는 방법 중에 집합 연산자(Set Operator)를 사용하는 방법이다. - 집합 연산자는 여러 개의 질의의 결과를 연결하여 하나로 결합하는 방식을 사용한다. 제약 조건 - SELECT 절의 칼럼수가 동일하고 SELECT절의 동일 위치에 존재하는 칼람의 데이터 타입이 상호 호환 가능해야 한다. 상호 호환 가능해야 한다는 건 암시적으로 타입이 변환이 가능함을 뜻한다. 꼭 동일할 필요는 없다. - ORDER BY 절은 맨 마지막 문장에서만 사용할 수 있다. - 만약 SELECT문의 리스트가 늘어나면 집합 연산 대상도 합쳐져서 UNION에서의 중복제거가 의미가 없어질 수 있다. - BLOB, CLOB, BFILE 타입의 칼럼의 대.. 2021. 5. 23.
파티션 테이블 ---추가 예정--- 테이블을 생성할 때 테이블에 있는 특정 칼럼의 값을 기준으로 데이터를 분할해 저장할 수 있는데, 이때 사용하는 것이 파티션 테이블이라고 한다. 논리적으로 테이블은 하나지만 물리적으로는 분할한 만큼의 파티션이 만들어져 입력되는 칼럼의 값에 따라 분할된 파티션 별로 데이터가 저장된다. 보통 대용량 데이터가 들어있는 테이블에서 데이터 조회시 성능 향상을 목적으로 이용된다. 그래서 보통 도메인 별로 데이터베이스 자체를 분할하는 샤딩을 사용하기도 하지만 거창하지 않는 수준에서는 파티션 테이블만으로도 좋은 효과를 볼 수 있다. 만약 매출 데이터 테이블에 몇천만건이상의 데이터가 적재되었다고 했을 경우 아무리 인덱스를 잘 태운다고 해도 좋은 인프라가 갖춰졌다고 해도 시간이 오래 걸릴 수밖에 없다... 2021. 5. 22.
[Oracle] Cursor 어떤 상황에 CURSOR를 사용할까? DB 프로그래밍을 한다면 커서는 결과 집합의 한 로우에 쉽게 접근할 수 있는 가장 쉬운 방법이다. SQL문 자체는 집합적으로 데이터를 처리하기에 각 ROW에 대한 연산을 하기 위해선 Cursor를 사용하여 쉽게 각 로우에 접근할 수 있다. 커서는 특정 SQL 문장을 처리한 결과 집합을 담고 있는 메모리 영역을 가리키는 포인터 개념이다. 오라클 서버에서는 SQL문을 실행할 때마다 처리를 위한 메모리 공간을 사용합니다. 사용자가 요청하는 데이터를 데이터베이스 버퍼 캐시에서 커서로 복사해온 다음 커서에서 원하는 데이터를 추출하여 후속 작업을 진행합니다. SQL커서는 묵시적 커서와 명시적 커서로 나뉘게 됩니다. 묵시적 커서는 오라클 내부에서 SQL 문장이 실행될 때 자동으로.. 2021. 5. 19.
[ORACLE] PL/SQL PL/SQL정의 오라클에서 제공하는 프로그래밍 언어 SQL과 PL/SQL을 함께 활용함으로 써 효과적인 데이터베이스 접근 가능 절차적인 데이터 처리가 가능 PL/SQL 런타임 구조 PL/SQL이 포함된 블록을 실행하면 오라클 서버 혹은 애플리케이션 서버 메모리에 상주하고 있는 PL/SQL 엔진이 해당 블록을 전달받게 된다. 이후 해당 블록에 있는 SQL 문장들을 Context 변환 과정을 거친 후 오라클 서버 프로세스에 전달되어 SQL 문장을 (Parse -> Bind -> Execute -> Fetch(select한정) )을 거쳐서 쿼리를 수행한 후 리턴합니다. 리턴한 결과를 다시 PL/SQL 엔진에게 전달하고 처리된 결과를 변수에 저장하기 때문에 변수를 선언해야 하고 데이터베이스에서 처리된 결과를 가.. 2021. 5. 16.
[Oracle 12c] Sequence 데이터베이스를 사용할 때 순서가 필요한 많은 양의 데이터가 저장이 되는 경우가 상당히 많습니다. 예를 들어, 고객의 주문번호나 학번들처럼 고유한 번호로 중복되서는 안 되고 연속적인 번호가 필요합니다. 이 경우 시퀀스를 사용하면 간편하게 고유하고 순차적인 번호를 자동으로 받아 처리할 수 있습니다. 정리하자면 시퀀스는 자동으로 순차적으로 증가하는 순번을 반환하는 데이터베이스 객체입니다. 문법 CREATE SEQUENCE sequence_name [INCREMENT BY n] --시퀀스 번호의 증가 값으로 기본값은 1이다. [START WITH n] -- 시퀀스 시작 번호로 기본값은 1이다. [MAXVALUE n | NOMAXVALUE] -- 생성할 수 있는 시퀀스 최대값이다 [MINXVALUE N | NOM.. 2021. 5. 16.