본문 바로가기

Oracle

ROLLBACK SEGMENT 기존의 rollback segment를 이용하여 undo data를 관리하던 manual 형식외에 undo segment에 의하여 자동으로 관리해 주는 auto 방식도 있다. 두 가지 방식 모두를 사용할 수 있지만, undo segment를 자동으로 생성, 할당, 튜닝까지 해주는 auto 방식을 권한다. 1) UNDO SEGMENT의 개념 • UNDO SEGMENT는 Data의 변경사항, 즉 transaction이 data를 수정하기 전의 값을 저장함으로써 언제든지 기존의 data로 recovery시키는 역할을 한다. • 즉, 내부적으로 UNDO SEGMENT는 변경전 data에 대한 값과 위치 값인 File ID, BLOCK ID, 등의 정보를 담고 있다. • 이러한 UNDO 기능 외에도 사용자에게 R.. 더보기
Shared Server 구성 1. Shared Server 구성 절차 1) server 측 SQL> alter system set dispatchers="(protocol=TCP)(dispatchers=2)"; System altered. SQL> alter system set max_dispatchers=4; System altered. SQL> show parameter dispatch NAME TYPE VALUE ------------------------------------ ----------- ------------------------- dispatchers string (protocol=TCP)(dispatchers=2) max_dispatchers integer 4SQL> alter system set shared_.. 더보기
특정 session kill 1. sys로 접속 $>sqlplus "/as sysdba" 2. 특정 세션의 정보 조회 SQL> select sid , serial# , username , status from v$session where username = 'SCOTT' SID SERIAL# USERNAME STATUS ---------- ---------- ------------------------------ -------- 144 194 SCOTT INACTIVE 3. 강제로 session kill SQL> alter system kill session '144,194'; -->(sid,serial#) System altered. 4. 해당 유저로 SQL을 실행하면 아래와 같이 에러가 난다. SQL> select * from .. 더보기
유용한 dictionary TABLE_NAME COMMENTS ------------------------------ --------------------------------------------- DBA_USERS Information about all users of the database DBA_TABLESPACES Description of all tablespaces DBA_DATA_FILES Information about database data files DBA_FREE_SPACE Free extents in all tablespaces DBA_OBJECTS All objects in the database DBA_SEGMENTS Storage allocated for all database segments DBA.. 더보기
How to Recover from delete on a table using 10g logminer (by example)? Applies to: Oracle Server - Enterprise Edition - Version: 9.2.0.1 to 10.2.0.3 Information in this document applies to any platform. Goal How to Recover from delete on a table using 10g logminer? Solution In 10g when you are using the LogMiner against the same database that generated the redo log files, LogMiner scans the control file and determines the redo log files needed, based on the request.. 더보기
로그마이너 패키지 설치&실습 > 시나리오 :: SCOTT계정으로 들어간 넘이 테이블의 데이터를 잘못 수정하여 테이블을 망가트린 뒤 커밋 명령을 실행하다.. SCOTT계정이 명령어를 친 시점 = LSN 23 관리자가 문제점을 발견한 시점 = LSN28 테이블을 망가뜨린 시점과 사용한 명령어를 찾아내는 기능을 로그 마이너라고 한다..!!!! 1. UTL_FILE_DIR 딕셔너리 화일의 경로지정(딕셔너리 화일에 REDO 로그 화일의 정보를 기록한다.) Oracle>mkdir DICT SQL>alter system set UTL_FILE_DIR='/Oracle/DICT' scope=spfile; //인스턴스 재시작 필요..;; SQL>show parameter utl; NAME TYPE VALUE -----------------------.. 더보기
Reorg 시나리오 1. 요구 되는 전체 I/O의 최소화 성능향상 2. 낭비된 디스크 공간(table,index) 최적화 3. 과다하게 확장된 스페이스의 교정 작업 4. 복잡하고 불필요하게 분산된 데이터베이스 오브젝트를 효율적으로 물리적인 디스크 공간으로 최적화 1 Object 분석 각종 Object 상태,segment size 등 분석 2 Shutdown 후 Cold Backup 수행 문제발생시 복구를 위해 전체 백업을 수행 3 Export (전제조건: 여유공간 확보) row=n (추후에 권한,스크립트 등이 필요한 경우 사용) full=y (특정유저가 차지하는 비율이 90%이상이므로 full로 백업) (추후에 문제가 생기더라도 이용하기 위한 목적도 있음) 4 noarchive mode 적용 init.ora 파일 수정 (a.. 더보기
hot backup 실습 현재 DB는 archive mode로 운영중인 상태이다. SQL> select tablespace_name from user_tables where table_name='TEST'; TABLESPACE_NAME ------------------------------ USERS SQL> connect internal Connected. USERS라는 테이블스페이스는 아래와 같이 C:\ORACLE\ORADATA\DB\USERS01.DBF 데이터파일 1개만 가지고 있음을 알 수 있다. SQL> select b.name from v$tablespace a, v$datafile b 2 where a.ts# = b.ts# and a.name='USERS'; NAME ---------------------------.. 더보기
Flashback Database Flashback Database 테스트 1) create table emp_test as select * from emp 14 record(s) affected 2) select count(*) from emp_test COUNT(*) ----------- 14 3) select current_scn from v$database CURRENT_SCN -------------- 629890 4) truncate table emp_test 0 record(s) affected 5) select * from emp_test 6) Flashback Database 를 준비하기 위해 Instance 를 종료시킨다 Flashback Database 를 준비하기 위해 Insatnce 를 Mount 시킨다. Reco.. 더보기
DB link 로칼 DB tnsnames.ora 에 추가 1. local DB에 db2 라는 alias 로 tnsnames.ora에 추가 $>vi $ORACLE_HOME/network/admin/tnsnames.ora db2 = (DESCRIPTION = (ADDRESS = (PROTOCOL = TCP)(HOST = 192.168.0.106)(PORT = 1521)) (CONNECT_DATA = (SERVICE_NAME = orcl) ) ) 2. link 생성 sys유저로 접속하여 직접 public으로 링크를 생성하게 되면 모든 사용자가 링크를 사용할수 있다. 그렇지 않고 특정유저만 사용하길 원하면 해당유저에 링크를 만들수 있는 권한을 줘야 한다. 그리고 그 유저가 직접 링크를 만들고 쓰면 된다. 이때도 유저가publ.. 더보기