RDB 29

[Oracle] WITH AS 구문

상위 n개 레코드 : 동물 보호소에 가장 먼저 들어온 동물의 이름을 조회하는 SQL 문을 작성해주세요. 상위 n개 레코드를 출력하는 sql문을 작성하는 문제가 프로그래머스에 있었다. mySQL 같은 경우에는 LIMIT으로 간단히 해결되지만 오라클의 경우에는 ROWNUM을 사용해야 한다. 서브 쿼리를 사용할 때 WITH AS 구문을 사용하면 가독성을 높일 수 있다. WITH절 : 오라클9 이후 버전부터 사용이 가능하며 이름이 부여된 서브 쿼리이다. VIEW와 쓰임새가 비슷한데 차이점이 있다면 VIEW는 한번 만들어놓으면 DROP 할 때까지 없어지지 않지만 WITH절의 경우 한번 실행할 쿼리내에 정의되어 있을 경우, 그 쿼리 문안에서만 실행된다. WITH 절을 이용하여 미리 이름을 부여해서 Query Blo..

RDB/Oracle 2020.07.08

[postgreSQL] psql \copy

Psql (PostgreSQL의 Command Line Interface) psql은 pgAdmin로 DB 접속이 어려울 때 terminal로 접근하여 사용하는 명령어 개념이다. 다양한 기능이 존재하는데 매번 \d, \dt만 사용해서 무슨 명령어가 있는지 잘 모른다. (많은 기능을 제공한다는 것만 안다..) 테스트를 위해 DB에 대량 더미 데이터를 입력하기 위해서 psql의 \copy 명령어를 사용해 보았다. \copy psql 명령어 중 \copy를 통해 대량 데이터를 임포트 하여 입력했다. 파일과 테이블 간에 데이터를 전송하는 편리한 방법이지만 한 번에 몇 천 개가 넘는 행을 추가할 때도 INSERT 보다 훨씬 빠르다. customer 테이블에 id와 name 컬럼에 홈 디렉터리 하위의 temp 디렉..

RDB/Postgresql 2020.06.17

[PostgreSQL] Numeric Types

PostgreSQL에서의 숫자 자료형을 계속 검색하길래.. 포스팅을 올린다. ㅠㅠ 8.1. Numeric Types Numeric types consist of two-, four-, and eight-byte integers, four- and eight-byte floating-point numbers, and selectable-precision decimals. Table 8-2 lists the available types. Table 8-2. Numeric Types NameStorage SizeDescriptionRange smallint 2 bytes small-range integer -32768 to +32767 integer 4 bytes typical choice for intege..

RDB/Postgresql 2020.01.13

[오라클]timestamp를 활용한 데이터 복구

DB 작업 중 실수로 데이터를 삭제한 후 Commit을 진행했다. 다행히 오라클에서는 Commit후 복구할 수 있는 방법이 존재한다. 오라클은 Undo Tablespace에 커밋이후로부터 일정시간동안 임시로 테이블을 저장하고 있다. 유지되는 시간은 undo table 속성에 지정가능하다. 시스템 설정에 따라 복구할 수 있는 시간이 다르므로 확인해야한다. 커밋 후 특정시간 전 데이터를 보고 싶다면 as of timestamp 를 이용하면 된다. 단위는 SECOND, MINUTE, HOUR, DAY가 가능하다. select * from 테이블명 as of timestamp(systimestamp-interval '30' minute); DB복구로 사용한 쿼리 insert into codilist (selec..

RDB/Oracle 2019.06.10

[오라클] JAVA와 ORACLE의 연동

[SQLPLUS 진행] 1. 관리자 계정 로그인 sqlplus / as sysdba 2.사용자 생성 CREATE USER SUZI IDENTIFIED BY A123 DEFAULT TABLESPACE USERS TEMPORARY TABLESPACE TEMP QUOTA UNLIMITED ON USERS; 3. 권한 부여 GRANT CONNECT, RESOURCE TO SUZI; 4. SUZI로 로그인 CONN SUZI/A123; 5. 테이블 생성 CREATE TABLE SCORE (HAK VARCHAR2(10) PRIMARY KEY, NAME VARCHAR2(20) NOT NULL, KOR NUMBER(3), ENG NUMBER(3), MAT NUMBER(3)); [오라클과 자바를 연결할때 참고하는 사용설명..

RDB/Oracle 2019.01.30

[오라클] 불완전복구,log파일복구

[불완전복구 - 3. 백업control파일을 이용한 복구(아카이브로그가 아닌 ctl파일에서복구] ① 문제상황 레코드를 지워야하는데 테이블을 삭제해서 복구하는 경우 - 시간기반/취소기반 복구 테이블을 삭제해야하는데 테이블스페이스를 삭제해서 복구하는 경우 - 백업control파일을 이용한 복구 ② 서버가 SHUTDOWN하는 것과 같은 명령어 입력시 alert_testdb.log에 모두 기록됨. drop 명령어 입력시 정확한 시간을 모를 경우 해당 경로의 로그파일을 확인하면 된다. 경로 : C:\app\itwill\diag\rdbms\testdb\testdb\trace ③ 데이터베이스 시작 STARTUP MOUNT ④ 아카이브파일이 없는 상태에서 컨트롤파일을 사용해서 복구 진행 RECOVER DATABASE ..

RDB/Oracle 2019.01.30

[오라클] 완전복구, 불완전복구-시간기반,취소기반

[복구와 백업] [백업] 1.close 백업 2.open 백업 [복구] 1. no-archive mode-닫힌복구, 다른위치에 복구(imsy) 2. archive mode 완전복구(4가지) 1) 닫힌 데이터베이스 복구(System tablespace 문제시-shutdown) 2) 열린 데이터베이스 복구(일반 tablespace 문제시-offline) 3) 다른위치에 datafile복구(imsy) 4) 백업하지 않은 datafile복구 불완전복구(3가지) 1) 시간기반 복구 2) 취소기반 복구(아카이브 로그의 손실발생) 3) 백업control파일을 이용한 복구(아카이브로그가 아닌 ctl파일에서복구) log파일 복구(4가지) 1)대기 상태 그룹의 멤버문제 2)대기 상태 그룹의 문제(2가지: Open, Clo..

RDB/Oracle 2019.01.29

[오라클]INDEX REBUILD, 지연제약조건, 사용자/PROFILE/PRIVILEGE/ROLE 관리, SQLLDR

[INDEX REBUILD] 1. 테이블 소유자 조회 SELECT OWNER,TABLE_NAME, TABLESPACE_NAME FROM DBA_TABLES WHERE OWNER='HR' AND TABLE_NAME='EMPLOYEES'; 2. 블럭이 분할을 했을때 사용하지 못한 빈공간을 분석하는 명령어 ANALYZE TABLE HR.EMPLOYEES COMPUTE STATISTICS; 3. 레코드의 수 & 단편화 현상이 일어난 데이터의 수 조회 SELECT NUM_ROWS,CHAIN_CNT FROM DBA_TABLES WHERE TABLE_NAME='EMPLOYEES'; - NUM_ROWS < CHAIN_CNT 라면 REBUILD 작업 진행해줘야 한다. 4. HR에 USERS 테이블스페이스의 1메가 메모리..

RDB/Oracle 2019.01.28

[오라클]저장구조, tablespace, chaining, migration

[STORAGE RELATIONSHIP STRUCTURE] -DATABASE, TABLESPACES, DATAFILES : 사람 눈으로 보이는 영역 -RBS : ROLLBACK SEGMENT 의 약자. 현재 UNDO로 더 많이 씀 DATABASE : 테이블스페이스가 저장되어 공유되는 논리적 집합체 TABLESPACES : 오라클에서 물리적으로 존재하지 않는 논리적인 공간. SYSTEM, USERS, RBS, TEMP DATAFILES : DISK에 저장되는 물리적 DBF 파일 (SYSTEM01.DBF, USERS.DBF, TEMP.DBF) SEGMENTS : 오라클에서 물리적으로 존재하지 않는 논리적인 공간. EXTENT가 모여서 SEGMENT를 구성 EXTENTS : 블록이 모여서 EXTENT 를 구성..

RDB/Oracle 2019.01.25
반응형