DATABASE(oracleDB 11g) 100

[Oracle DBA]데이터베이스 유지 관리

데이터베이스 유지 관리 유지관리 point Self Management (자동화된 작업) Proactive Mgt (Alert) Reactive Mgt (ADR) ; adrci AWR 위 관리를 하기 위한 토대를 마련해주는 것 성능 정보에 대한 내장 Repository 각 오라클 데이터베이스에 내장된 Reporsitory 데이터 수집, 분석 및 권장 해결 방안을 위한 Insfrastructure v$sysstat... ex) 'Physical reads' 1000 (인스턴스 기동 후의 누적값) => utlbastat, utlestat => statspace : spcreate spreport => AWR 주요통계 및 workload 정보의 스냅샷을 sysaux 테이블스페이스에 저장 모니터링 진단 진단한 ..

[Oracle DBA]데이터 동시성 관리

데이터 동시성 관리 Lock 여러 세션이 동시에 같은 데이터를 변경할 수 없도록 하는 장치 row level X table level RX Mode 0 : NONE 2 : RS 3 : RX 4 : S 5 : SRX 6 : X RS(select) : RS, RX, S, SRX : select for update => table lock RX(insert, update, delete) : RS, RX S : RS, S SRX : RS X #terminal 1 SCOTT@orcl2> lock table emp in exclusive mode; Table(s) Locked. -- 테이블에 아무런 lock이 걸려있지 않으므로 테이블 전체에 lock이 된다. -- 아주 강한 lock이다. (나혼자 작업) -- X ..

[Oracle DBA]유저 보안 관리

유저 보안 관리 DATABASE User 생성 미리 정의된 DB 관리 계정 sys : sysdba, sysoper로만 접속 가능 DBA DD의 소유자 OWR의 소유자 system : DBA tool 등에 만드는 테이블의 소유자 sys보다는 권한이 적다. dbsnmp : OMA와 통신을 하기 위한 유저(EM 관리작업) sysman : EM 관리 작업에 필요한 사용자 db user 생성시 DBA가 해야하는 일련의 작업들 패스워드로 인증하는 유저 생성 OS 인증 가능한 User 생성 하고 테스트하기 패스워드 관리를 위해 필요한 FUNCTION 생성 PROFILE 설정 필요한 권한 부여 패스워드로 인증하는 유저 생성 SYS@orcl2> CREATE USER user1 IDENTIFIED BY newuser PA..

[Oracle DBA]데이터베이스 저장 영역 구조 관리

데이터베이스 저장 영역 구조 관리 Tablespace Data의 성격(세션)을 나눈다. SYSTEM TEMP UNDOTBS USERS Example HR_Data dba_table_spaces dba_datafiles(datadictionary) Segment 저장공간을 차지하는 객체 Table Data Index undo dba_rollback_segs temporary dba_segments segment의 할당된 첫번째 extent : segment header block HWM이 저장된다 Free list 가 존재한다. Extent dba_extents, user_extents Database Block 테이블에 데이터가 저장되는 방식 행구조 rowheader 1col header 1col val..

[Oracle DBA]Oracle 네트워크 관리

Oracle 네트워크 관리 오라클 네트워크 구성(Client가 Server에 Connection을 할때의 구조) Client측과 Server 측 양쪽에 각각 Oracle Net이 존재 항상 Listener가 실행되어 있어야한다. Server 측에 Listener를 띄울수 있는 listener.ora(리스너 구성 파일)이 존재해야한다 protocol (TCP를 쓸건지 뭘쓸건지) 서버의 IP Adress(Hostname) Listener의 Port 번호 = 1521 (1024~65536) Service_name(SID) Client 측에는 tnsnames.ora(Client 쪽 구성파일)이 있어야한다 tns : 네트워크에 접속해 줄수 있도록 해주는 이름 ex) orcl2(connection alias) co..

[Oracle DBA]ASM Instance 관리

ASM Instance 관리 ASM 스토리지관리도구와 스토리지의 통합 ASM 사용 (Automatic Storage Management) SAME(Striping and Mirroring Everything) : 기능을 제공하는 stoage 관리 도구 소프트웨어적으로 RAID를 구성 striping을 하면 I/O 성능이 개선 mirroring을 하면 데이터를 다중화, 데이터를 복구하기 용이 +DATA(Disk Group) : 논리적 구조 그 안에 4개의 공간이 존재한다면(각각2G) 데이터파일(100M)을 생성할때, 25M 씩 여러 디스크에 걸쳐서 만들어진다 : Striping RAID와는 달리 자신의 사이즈에 스트라이핑하는 것이 아닌, 데이터 파일 단위의 스트라이핑을 진행한다.(단위는 Au: Alloca..

[Oracle DBA]오라클 데이터베이스 Instance 관리

오라클 데이터베이스 Instance 관리 SYS@orcl2> show parameter dump NAME TYPE VALUE ------------------------------------ ----------- ------------------------------ background_core_dump string partial background_dump_dest string /u01/app/oracle/diag/rdbms/orc -- 우리가 보려하는 alert 파일의 경로를 확인 할 수 있다. [orcl2:~]$ tail -f /u01/app/oracle/diag/rdbms/orcl2/orcl2/trace/alert_orcl2.log -- 삭제해도 재생성 된다. 1.NOMOUNT Instance만 ..

[PL/SQL]혼합, DDL, DB 이벤트 트리거(TRIGGER) 생성

혼합, DDL, DB 이벤트 트리거(TRIGGER) 생성 혼합 트리거- 실행되는 문장 앞,뒤 실행되는 문장이 영향을 주는 각 행앞 또는 뒤 이 네가지 지점에 대한 작업을 각각 지정하는데 사용 할 수 있는 테이블의 단일 트리거이다.- 혼합 트리거는 DML트리거여야만 한다.- 테이블이나 뷰에 정의 DDL문의 트리거- 다음의 구문을 사용12345CREATE [OR REPLACE] TRIGGER trigger_nameBEFORE | AFTER -- Timing[ddl_event1 [OR ddl_event2 OR ...]]ON {DATABASE | SCHEMA}trigger_bodycs - DB가 시작 종료, 에러가 발생할때 등의 상황에서 사용된다. 데이터베이스 이벤트 트리거- 데이터 보안 향상에 도움이 된다.-..

[PL/SQL]트리거의 기초

트리거의 기초 트리거란?- 데이터베이스에 save되어있고 select된 event에대한 응답으로 실행되는 PL/SQL block.- TABLE, VIEW, SCHEMA, DATABASE에 정의가능. 트리거 이벤트 유형- DML- DDL- DATABASE 작업(SERVERERROR, LOGON/OFF, STARTUP/DOWN ...) 트리거 사용의 예시- SECURITY- AUDIT(감사)- 무결성(데이터/참조)- TABLE의 복제- EVENET LOGGING- 데이터들의 자동적인 계산 문장트리거- 무조건 명령어 단위로 트리거 실행EX)DEPT 테이블에서 DEPTNO = 50인 조건의 명령어 실행시 실행됨. 행트리거- 조건을 만족하는 행 갯수 별로 트리거가 실행EX)DEPT 테이블에서 DEPTNO = 50..