뷰는 1뎁스만 만들기 가급적 sql로 작성해서 쓰기
뷰안에 뷰 금지..
뷰쓰면 튜닝이 어려워서 권장하지 않음
11. stored procedure
PL/SQL을 활용하여 작성
배치에서 주로 쓰이고 요즘같이 was환경에서는 잘 안씀
절차적 언어일때 활용성이 좋음
2티어에서 쓰고 3티어에서는 잘안씀
호출 방식 3가지
parse call
excute call
fetch call
pl/sql은 가급적 one sql ( 집합적 처리 ) 방식이 효과가 좋음, loop문을 select 문 한방에 해결할 수 있도록 만드는 것이 중요함
12. stored function
이것도 절대 쓰지말라고 하심..
sql엔진과 pl/sql엔진이 따로 있는데 context switching 때문에 성능 저하가 있음.
그래서 stored function은 스칼라 서브쿼리로 바꿔야하는데 펑션이 너무 길다 그러면
selet fn_depnNm() from dual 이런식으로 쓰는게 그나마 context switching 이 일어나지 않음
내장함수와는 다름( to_char 이런거는 상관없음 사용자 정의만.. )
13. trigger
트리거는 웬만하면 사용금지..
행 트리거 = 행의 변경된 수 만큼 수행
명령문 트리거 = 한번의 명령어 수행
트리거는 commit 쓰지 않음 - 프로그램 딴에서 트랜잭션을 관리하도록 해야함
14. sequence
채번 시 활용
채번 테이블
트랜잭션 발생 시만 사용, 대량이 채번에 접근하는 경우 권장하지 않음
시퀀스
dbms에서 관리, 서버 셧다운 시 중간에 일련번호가 캐싱된 수만큼 생략될 수도 있음
max + 1
메인키값 말고 다른 컬럼에 채번이 필요한 경우 (고객번호(pk) + 순번)
15.directory
os의 파일 시스템과 연동하기 위한 설정
16. db link
가급적 응용 프로그램은 사용 자제, 관리상의 목적으로 임시 활용해야함. 보안감사에는 걸림
7장. Direct Path IO와 RAC 캐시 퓨전
일반적으로 버퍼를 쓰기 때문에 대용량 작업할때 Direct Path IO가 훨씬 유용하다.
PPT DDL 조건일 때 작동한다.
Parallel Full Scan - Read Parallel DML - Write Temp I/O Direct export - Read Direct Path Insert - Write LOB (nocache 옵션)
/*+Append*/ 힌트 줘야 함 => 메모리 경유하지 않고 디스크에서 읽어서 바로 처리
insert into select => nologging 모드로 redo log 파일도 안쓰게하면 엄청 빠름
intas 는 nologging 하면 alias로 들어가서 alter table로 따로 줘야함
ctas는 nologging 하면 nologging 모드로 테이블 생성
6. rac 캐시 퓨전
인스턴스가 기동될때 hash 펑션을 돌려서 마스터 노드를 결정한다.
마스터 노드와 다른 인스턴스(노드)간의 영역을 주고받기 때문에 오버헤드가 많이 발생할 수 있음.
rac 설계 관점 중요 2가지
1. fail over
2. load_balancing => 같은 읽기
8장. Job & Scheduler
오라클 패키지가 잡을 실행시켜 주는 스케줄러
snp백그라운드 프로세스가 dmbs_job 패키지로 설정된 작업을 수행
잡은 dba_jobs 테이블에서 확인가능
job은 interval(반복주기)이 많지 않아서 좀 허접함.. 그래서 스케줄러 씀
스케줄러는 user_scheduler_jobs 테이블에서 확인가능
11장. Archive mode
온라인 백업 가능 - 운영 디비는 모두 아카이브 모드
오프라인 - 개발디비는 노 아카이브 모드
archive log list; 로 확인가능 - sqlplus에서 가능
아카이브 모드로 만들고 alter database archivelog; 하면 아래 사진처럼 arc 파일 만들어짐.
운영에서만 쓰는거라 거의 쓸일이 없긴함.
12장. 백업 & 리커버리기본
데이터 파일, 컨트롤 파일, 레도로그 파일 3개 백업 리커버리 하는 것
운영디비는 hot backup방식 사용
불완전복구( Incomplete Recovery )
TSPITR(TablespacePoint-In-TimeRecovery ) 방식으로진행
데이터베이스는Mount상태에서수행
데이터베이스Open 시reset logs 옵션으로기동필요
reset logs옵션으로기동시 SCN은1번부터다시시작
은행에서 밤 12시부터 일정시간동안 이체 중지되는게 begin backup 받고 있어서 그럼
데이터 파일, 컨트롤 파일 => alter tablespace begin backup ~ end backup
보통 백업&리커버리는 엔지니어가 하는거라서 할 일이 없긴한데 개념 파악해두면 소통할 때 좋다고 했음.
13장. Data Pump
바이나리 파일로 export import하는 것으로 data pump로 명명한다.
스키마, 테이블스페이스가 달라도 import 가능
expdp, impdp
원격서버일 경우 유저아이디/패스워드@tnsname 이렇게 주면 됨.
'교육' 카테고리의 다른 글
데이터와 사람들 SQLP29기 교육 1주차(2025.01.04) 정리 (0) | 2025.01.08 |
---|---|
데이터와 사람들 DBA 교육 5일차 정리 (0) | 2024.11.23 |
데이터와 사람들 DBA 교육 3일차 정리( 5장. 사용자 관리, 6장. 오브젝트 관리, INDEX, 파티션 ) (1) | 2024.11.10 |
데이터와 사람들 DBA 교육 2일차 정리(2장 데이터파일과 테이블스페이스, 3장 데이터 저장 구조, 9장 오라클 넷 서비스(Oracle Net Service)) (0) | 2024.11.03 |
224눌림목 매매(구름대 돌파 + 볼린저 상단선 돌파) 종목 네오위즈홀딩스 (2) | 2023.11.21 |
댓글