본문 바로가기

빅데이터과정/RAC

#46_140818_RAC_TAF # TAF(Transparent Application Failover) yudb_taf= (DESCRIPTION = (address_list= (load_balance=on) (failover=on) (ADDRESS = (PROTOCOL = TCP)(HOST = 192.168.10.110)(PORT = 1521)) (ADDRESS = (PROTOCOL = TCP)(HOST = 192.168.10.120)(PORT = 1521)) ) (CONNECT_DATA = (SERVICE_NAME = yudb) (failover_mode=(type=select)(method=basic) ) )) l TAF(Transparent Application Failover)- 내가 접속한 노드의 instance가 다운됐을 때.. 더보기
#46_140818_RAC_GLOBAL ENQUEUE WAITS # GLOBAL ENQUEUE WAITS l SQ enqueue에서 order와 noroder- SQ enqueue : sequence에서 cache로 설정된 다음 sequence 값을 할당 받을 때 사용하는 enqueue n RAC환경에서 sequence를 생성할 때 order, noorder 파라미터의 테스트 SQL#1> connect scott/tigerSQL#1> create sequence seq9 start with 1 increment by 1 maxvalue 100 cache 20 order;SQL#1> select seq9.nextval from dual;NEXTVAL---------- 1# 2번째 노드SQL#2> select seq9.nextval from dual;NEXTVAL----.. 더보기
#45_140814_RAC_GC EVENT # GC EVENT l 대기 이벤트들을 class로 묶어 놓은 리스트 확인방법 SQL#1> select distinct wait_class from v$event_name;WAIT_CLASS----------------------------------------------------------------ConcurrencySystem I/OUser I/OAdministrativeOtherConfigurationSchedulerCluster -> RAC 관련 대기이벤트들의 클리스ApplicationIdleNetworkCommit n buffer busy wait 대기 이벤트가 어느 클래스인지 확인 SQL#1> select name, wait_class from v$event_namewhere name='b.. 더보기
#45_140814_RAC_CACHE FUSION # CACHE FUSION l RAC 환경에서 데이터 전송- GRD(Shared pool에 존재) : 내가 찾고자 하는 데이터 버퍼가 어느 노드에 있고 어느 스토리지에 있는지 위치정보와 락정보가 들어있는 공간 n Cache fusion 테스트를 위한 환경구성SQL#1> create table rac_test( id number ); 2SQL#1> insert into rac_test values(1);SQL#1> commit;SQL#1> select dbms_rowid.rowid_relative_fno(rowid) as fno, dbms_rowid.rowid_block_number(rowid) as blkno from rac_test; 2 3- rac_test 테이블의 file 번호와 block 번호 알.. 더보기
#44_140813_RAC_TUNING # RAC TUNING l RAC튜닝 환경구성 1. vmware로 시스템 접속- oracle/oracle- startx 2. owi.zip 파일을 $ORACLE_HOME 폴더에 압축을 푼다 3. install 수행16:32:57 SQL#1> @installElapsed: 00:00:00.00 SID SERIAL# SPID---------- ---------- ------------ 153 32 10768Elapsed: 00:00:00.00Input data file name(for default tablespace ex. c:\owi\owi01.dbf): +datase mode on?[ON/OFFVerbo]: on 4. 다른 instance 설치# rac1 putty 에서$ scp owi.zip rac2.. 더보기
#44_140813_RAC_DATAFILE 복구 # DATAFILE 복구 l Storage 3가지 1. ASM(Automatic storage management)- 공유 스토리지 2. Cluster file system- 공유 스토리지 3. Raw divice- 각 노드의 file system n Archive log file 확인하는 쿼리- SQL> select name from v$archived_log; l RAC 환경에서 복구 순서- archive file이 공유 storage에 있다면 하나의 instance만 올려서 수행가능하다- 그러나 만약 archive file이 raw device면 각각의 노드의 file system에 저장되는데 이 때는 하나의 노드에 모든 archive file을 모아서 수행해야 한다 1. 모든 instance sh.. 더보기
#43_140812_RAC_전자지갑 # 전자지갑 l RAC 환경에서 전자지갑- 테이블의 특정 data를 못보게 할 때 사용 n 전자지갑 테스트 >> cd /u01/app/oracle/product/10.2.0/db_1/network/admin( cd $ORACLE_HOME/network/admin) 으로 이동해서 sqlnet.ora 파일에 아래의 내용을 추가한다 $ vi sqlnet.ora NAMES.DIRECTORY_PATH= (TNSNAMES, EZCONNECT)cd $ORACLE_HOME/network/admin NAMES.DIRECTORY_PATH= (TNSNAMES)ENCRYPTION_WALLET_LOCATION= (SOURCE=(METHOD=FILE)(METHOD_DATA= (DIRECTORY=/u01/app/oracle/pro.. 더보기
#43_140812_RAC_INSTANCE STOP START # INSTANCE STOP START l RAC Instance를 stop, start 하는 방법 1. SQL#1> shutdown immediate- 1번만 내려간다- 다른 instance에 영향을 주지 않는다 2. shutdown transactional- 인스턴스에 DML 작업을 하고 있는 Session의 commit 혹은 rollback 수행한 이후에 종료한다 3. srvcl 명령어- 동시에 인스턴스를 내렸다가 올리는 명령어- $ srvctl start instance -d yudb -i yudb1,yudb2- $ srvctl stop instance -d yudb -i yudb1,yudb2- $ srvctl start database -d yudb -o open: open 부분에 nomount.. 더보기
#43_140812_RAC_UNDO TABLESPACE # UNDO TABLESPACE l Undo tablespace- rollbackk을 지원하는 역할을 한다- flashback query, flashback table 을 지원하는 undo data를 저장한다 n Undo tablespace 확인- undo tablespace가 각각의 인스턴스에 분리되어 있는지 확인 # 1번 Session SQL#1> show parameter undo_tablespace NAME TYPE VALUE------------------------------------ ----------- ---------------------------undo_tablespace string UNDOTBS1 # 2번 Session SQL#2> show parameter undo_tables.. 더보기
#43_140812_RAC_REDO LOG FILE # REDO LOG FILE 1. 노드간 select를 하는 경우의 데이터 흐름- Scott이 노드1번에 접속하고 아래와 같은 쿼리를 보냈다면 버퍼캐시에 데이터가 있으면 가져다 쓰고 아니면 디스크에서 캐시로 전달해서 쓴다select ename,sal from emp where ename=’KING’- 이 상황에서 2번 노드에서 아래와 같이 쿼리를 날린다면 1번 노드에서KING의 데이터를 조회했기 때문에 1번 노드에서 데이터를 가져온다. 이것은 양쪽 노드간에 interconnect가 되어있기 때문이다.select ename, sal, from emp where ename=’KING’ 2. 노드간 update 하는 경우의 데이터 흐름- 만약에 아래와 같이 node1에서 업데이트를 한 상태에서 아직 commi.. 더보기
#44_140811_RAC_환경구성 # RAC 환경구성 l Application Cluster의 약자)- 진짜 응용 프로그램의 집단 l RAC 사용해야 하는 이유 1. 가용성 : 내가 접속한 인스턴스가 다운이 돼도 지속적인 서비스를 지원받을 수 있는 것2. 확장성 : 하나의 storage에 여러 개의 server를 계속해서 확장가능 하게 하는 것 l Shared Storage- Raw Device : 가장 보편적으로 사용- Clustered File System : 적용 사례가 늘어나고 있음- ASM(Automatic Storage Management) : 오라클이 자동으로 OS의 storage를 관리 n RAC 환경구성 1. rac1 폴더에서 rac1.vmx 파일을 텍스트 파일로 open- 경로명에서 D:\ 를 C:\ 로 변경 2. ra.. 더보기