DATABASE(이하 DB)는 조직의 필요한 정보로써 DATABASE MANAGEMENT SYSTEM(이하 DBMS)라는 DB관리 시스템에 의해
관리되며 인증과정을 거쳐 로그인한 후에 SQL질의어를 통해서만 해당 정보에 정상적으로 접근할 수 있다.
일반적으로 DB는 *DMZ를 거쳐 조직의 가장 내부에 위치해있고, DBMS 자체가 가장 강력한 보안기능을 제공하기 때문에
해킹보다는 DB에 접근 권한을 가진 사용자가 권한을 남용하여 정보를 유출하거나 변조하는것이 제일큰 위협이다.(외부자<내부자)
그래서 정부에서는 각종 규제를 만들어 개인정보 등 중요한 정보들을 관리하는 개인정보처리시스템에 대한 철저한 관리를 요구.
*DMZ*
--------------------------------------------------------------------------------------------------------------------------------------
외부의 위협에 노출을 막고자 하는 내부 서비스(서버나 특정 자원들)을 보호 하기위한 안전지대이다.
예를 들면, 서비스 사용자 -> 서버로 접근 중인 상황에 DMZ 를 사용한다면 물리적인 경로는 서비스 사용자 -> DMZ -> 서버 로
연결이 된다.이렇게 외부에서는 서비스를 하고 있는 서버의 정보를 단편적으로라도 알 수 없게 만들어 악의적인 공격 등에
보호하고자 하는 보안 기법.
일반 가정의 네트워크(소규모)에서는 특정 서비스를 외부로 내보내고 있는 상황이 아니므로(주로 컨텐츠를 받는 쪽이므로)
DMZ 설정은 필요없고 VPN 이나 공유기등이 DMZ 기능을 가진 것은 네트워크 장비들이 가지고 있는 기능 중의 하나이므로,
사용하고 안하고는 관리자의 몫입니다. 필요하다면 하고 그렇지 않다면 꺼 놓는 것이 좋습니다.
--------------------------------------------------------------------------------------------------------------------------------------
*제 4조 (접근제어), 제 5조 (접소기록의 위.변조 방지), 제 9조 (개인정보 표시 제한 보호조치)
DB 접근제어는 사용자가 DBMS에 로그인하거나 SQL을 수행하려고 할 때 미리 정의된 보안규칙에 따라 권한 여부를 판단하여
통제하는 솔루션이다. 일반적으로 SQL을 통제할 뿐만 아니라 로깅이 필요한 SQL에 대해서 SQL 수행과 관련된 정보를 저장하는
기술도 제공함.
*DB 보안강화를 할려면 다음과 같이 조취해야함
--------------------------------------------------------------------------------------------------------------------------------------
1) DBMS를 설치한 계정을 엄격하게 관리하고,DB 파일 및 BINATY 파일에 대한 접근은 엄격히 제한해야 한다.
2) 불필요한 기능은 설치하지 않거나 , 설치되었다면 DISABLE 해야한다.
3) 최소한의 권한만을 부여하고, DBMS내에서 작업을 수행하는 내부 사용자나, 자동으로 수행하는 태스크 및 서버의
프로세서들에 대하여 DB에 접근하여 작업할 수 있는 꼭 필요한 권한만을 부여해야 한다.
--------------------------------------------------------------------------------------------------------------------------------------
DBMS에 대해서 기본적으로 제공하는 기능을 이용해서 권한을 설정하는 것이 필요하다. 물론 DB접근제어 솔루션을 통해
접근제한을 관리하지만 해당 솔루션을 우회하여 접근하는 경우가 있으므로 DBMS에서 제공하는 기능을 이용하여 권한 설정을
하는 것이 심층방어의 원칙이다.
*DBMS 자체보안 강화 사례(ORACLE)
------------------------------------------------------------------------------------------------------------------------------
오라클의 권한은 시스템 계열 권한과 객체 계열 권한으로 구분된다. 먼저 시스템 계열의 권한을 조회하는 방법은 다음과 같다.
SQL> select name from sys.system_privilege_map order by name;
객체 관련 조회는 다음과 같다.
SQL> select name from sys.table_privilege_map order by name;
특정 계정에 부여된 권한을 조회하는 방법은 다음과 같다.
SQL> select * from dba_sys_privs where grantee='SCOTT';
오라클 계정에 만든 후에, 기본적으로 CONNET,RESOURCE 룰을 부여하는데
해당 룰에 포함된 권한을 조회하는 방법은 다음과 같다.
SQL> select privilege from dba_sys_[rovs wjere grantee='CONNECT';
SQL> select privilege from dba_sys_[rovs wjere grantee='RESOURCE';
-------------------------------------------------------------------------------------------------------------------------------
*PASSWD의 경우 가능하면 최소 8자리 이상으로 특수문자와 수자 등을 포함하는게 좋다.
오라클10R2에서 생성한 간단한 패스워드의 경우에는 BRUTE FROCE ATACKK(무차별 대입 공격)에
의하여 일반적인 노트북으로도 38초만에 간단히 해독이 가능하다.
*구성 방법
접근제어 방법 |
특성 |
Agent |
서버자체에 접근제어 및 로깅 기능을 포함하는 에이전트 이식 DB에 접근하는 모든 접근루트를 제어할수 있다 |
Gateway : IN-LINE |
DB로 접속하는 모든 사용자들을 통제가능 구성시 세션이 잠시 끊기고 장애시 서비스 지연가능성 있음 |
Gateway : PROXY |
하나의 구성으로 H/W추가없이 모든 DB 통제가능 하지만 우회가 가능함 |
sniffing |
구성위치는 DB와 S/W사이에 구성하고 우회차단이 가능하다. 네트워크 선로상의 패킷이나 트래픽을 TAP과 미러링방식을 통해 분석, 로깅하는 방법으로 감사에 비중을 두는 보안방식임 TAP구성시에 세션이 잠시 끊기지만 미러링은 끊기지 않는다. |
FOD(Fail Over Device)란?
FOD는 IPS, QoS 등과 같은 In-Line 장비와 연동하여 In-Line 장비의 전원, 링크, 어플리케이션 등에 문제가 생겼을 때
자동으로 트래픽을 우회시켜 네트워크의 안정성을 유지시켜주는 장치입니다.
'dbsafer' 카테고리의 다른 글
보안솔루션의 네트워크 구성방ㅇ식들 (0) | 2015.04.02 |
---|---|
DB접근제어의 개요 (0) | 2015.01.14 |
webreport ozview를 사용하지 못할때 (0) | 2015.01.14 |
PC.AGENT 설치후 PNP 업데이트 오류 (0) | 2015.01.13 |
dbsafer pc.agent환경설정 (0) | 2015.01.13 |
보통 oz view를 사용하지 못할땐 license가 잘못되어있을때 이런 증상이 나타남
[root@dbsafer dbsafer_pkg]# ozlicense_피시앤시큐어_141204-150303_temp_5.0S_De.zip [root@dbsafer dbsafer_pkg]# unzip ozlicense_피시앤시큐어_141204-150303_temp_5.0S_De.zip압축을 풀면 2개의 xml파일이 나타난다.
[root@dbsafer ozlicense]# ls ozlicense_5.0_temp_2015-03-04_Designer.xml ozlicense_5.0_temp_2015-03-04_Server.xml2개의 xml파일중에 Server.xml파일을 이름을 바꿔 본래 라이센스 리렉토리에 넣어주면 된다.
(기존에 있던 라이센스 파일은 _bak처리해주고, 요 라이센스 참조파일을 수정하게 되면 다시는 사용할수없다)
[root@dbsafer ~]# cd /home/reportsvr/license/ [root@dbsafer license]# ls ozlicense.xml OZSpecialLicense_PNP.jar본래의 라이센스 파일이 보인다. 바꿔주면 된다.
[root@dbsafer license]# mv ozlicense.xml /home/reportsvr/license/ozlicense.xml_bak [root@dbsafer license]# cp /root/ozlicense/ozlicense_5.0_temp_2015-03-04_Server.xml /home/reportsvr/license/ozlicense.xml그리고 pnpweb과 statistics를 재가동 시켜주면 끝난다
[root@dbsafer dbsafer3]# service pnpweb restart Shutting down Tomcat service: Using CATALINA_BASE: /usr/local/apache-tomcat-6.0.26 Using CATALINA_HOME: /usr/local/apache-tomcat-6.0.26 Using CATALINA_TMPDIR: /usr/local/apache-tomcat-6.0.26/temp Using JRE_HOME: /usr/java/jre1.6.0_24 Using CLASSPATH: /usr/local/apache-tomcat-6.0.26/bin/bootstrap.jar [ OK ] Starting DREPORT WEB service: Using CATALINA_BASE: /usr/local/apache-tomcat-6.0.26 Using CATALINA_HOME: /usr/local/apache-tomcat-6.0.26 Using CATALINA_TMPDIR: /usr/local/apache-tomcat-6.0.26/temp Using JRE_HOME: /usr/java/jre1.6.0_24 Using CLASSPATH: /usr/local/apache-tomcat-6.0.26/bin/bootstrap.jar [ OK ] [root@dbsafer dbsafer3]# ./dbsafer_statistics stop DBSAFER STATISTICS RELEASE (Rev 68) Nov 8 2013 13:20:19s DBSAFER STATISTICS STOP. PID [12290] [root@dbsafer dbsafer3]# ./dbsafer_statistics start DBSAFER STATISTICS RELEASE (Rev 68) Nov 8 2013 13:20:19s DBSAFER STATISTICS START. PID [27027]
'dbsafer' 카테고리의 다른 글
보안솔루션의 네트워크 구성방ㅇ식들 (0) | 2015.04.02 |
---|---|
DB접근제어의 개요 (0) | 2015.01.14 |
DB접근제어의 개요 (0) | 2015.01.14 |
PC.AGENT 설치후 PNP 업데이트 오류 (0) | 2015.01.13 |
dbsafer pc.agent환경설정 (0) | 2015.01.13 |
PC.AGENT가 설치된 곳에 가면 config라는 파일과 DBSsferAgt라는 파일이 있는데 둘다 메모장으로 열어서 작업하면 된다.
config파일때문에 pnp업데이트 오류가 나는데 ip란에다가 loopback을 지워주고 dbsafer IP를 넣으면 된다.
*config파일*
--------------------------------------------------------
/** PNP AutoUpdate ver1.9 **/
[SERVER_LOCATION]
ip = 172.16.126.188
port = 8000
--------------------------------------------------------
그리고 dbsafer3디렉토리에 가서 업데이트를 실행시켜 주면 된다.
[root@dbsafer ~]# cd /dbsafer3/ [root@dbsafer dbsafer3]# ./dbsafer_update_server start DBSAFER update server start.그리고 dbsafer 데몬을 stop후에 다시 start
'dbsafer' 카테고리의 다른 글
보안솔루션의 네트워크 구성방ㅇ식들 (0) | 2015.04.02 |
---|---|
DB접근제어의 개요 (0) | 2015.01.14 |
DB접근제어의 개요 (0) | 2015.01.14 |
webreport ozview를 사용하지 못할때 (0) | 2015.01.14 |
dbsafer pc.agent환경설정 (0) | 2015.01.13 |
.conf 디렉토리의 dbsafer_agent.conf파일을 vi로 열어서 몇가지 주석을 풀어줘야 한다.
[root@dbsafer ~]# vi /dbsafer3/.conf/dbsafer_oms_dms.conf
# DBSAFER OMS DMS 의 서버 IP를 설정 # Example : 127.0.0.1 # Default : 127.0.0.1 SERVER_IP = 172.16.126.188 # DBSAFER의 버전을 선택 # Example : 2 (DBSAFER v2.X), 3(DBSAFER v3.X), 14(WASSAFER v4.X) # Default : 2 DBSAFER_VERSION = 3우선 server ip와 dbsafer_version ip의 주석을 풀어준다.
(server ip에는 dbsafer ip를 넣어주고, version에는 설치했던 해당 version을 넣어준다.)
이건 처음에 dbsafer pkg설치할때 해주는 세팅값이고 다음은 pc에서 쓰는 환경설정을 active하게 해주는 설정이다.
# Agent에 "EXIT" 메뉴 사용 유무를 설정 # Example : YES (사용), NO (미 사용) # Default : NO EXIT_USE = YES # Agnet에 "로그아웃" 메뉴 사용 유무를 설정 # Example : YES (사용), NO (미 사용) # Default : NO AUTH_CERT_LOGOUT_USE = YES
'dbsafer' 카테고리의 다른 글
보안솔루션의 네트워크 구성방ㅇ식들 (0) | 2015.04.02 |
---|---|
DB접근제어의 개요 (0) | 2015.01.14 |
DB접근제어의 개요 (0) | 2015.01.14 |
webreport ozview를 사용하지 못할때 (0) | 2015.01.14 |
PC.AGENT 설치후 PNP 업데이트 오류 (0) | 2015.01.13 |
SQL> SELECT status,enabled, t.name,d.name FROM V$DATAFILE d, V$TABLESPACE t WHERE t.ts#=d.ts#; => 현재 dbf 파일과 테이블 스페이스명의 위치를 확인 SQL> select name,enabled from v$datafile; => dbf 파일들 위치 확인 SQL> select distinct owner from dba_segments where tablespace_name='TS_XEP_D' => 테이블 스페이스 명으로 소유자 계정을 확인 drop tablespace TSCAL_T including contents AND DATAFILES; drop tablespace TSCAL_I including contents AND DATAFILES; drop tablespace TS_PORTAL_I including contents AND DATAFILES; drop tablespace HDATA_3_WEB including contents AND DATAFILES; drop tablespace HDATA_4_WEB including contents AND DATAFILES; drop tablespace HINDEX_1 including contents AND DATAFILES; drop tablespace HINDEX_2_WEB including contents AND DATAFILES; drop tablespace HINDEX_3_WEB including contents AND DATAFILES; => TSCAL_T 의 테이블 스페이스 및 실제 물리 dbf 파일도 같이 다 삭제 SQL> DROP USER INTRAG7 CASCADE; => intrag7 계정을 삭제 SQL> drop tablespace 테이블스페이스명 including contents cascade constaints; 이후 실제 dbf 파일을 rm 또는 탐색기에서 삭제한다
'Oracle > SQL' 카테고리의 다른 글
tablespace생성과 자동으로 사이즈 늘리기 (0) | 2014.11.11 |
---|---|
중복된 row 데이터 삭제하는 방법 (0) | 2014.11.11 |
SQL*Loader 실행하기 (0) | 2014.11.10 |
[ORA-12988] cannot drop column owned by sys 에러 (0) | 2014.10.31 |
PL/SQL 결과물 출력하기 (0) | 2014.10.31 |
클러스터를 NODE1에 설치할때
specified nodes are not clisterable 에러가 발생할 경우 ssh-keygen생성중에 암호를 넣어서 그렇다.
1.모든 노드상에 .ssh 디렉토리를(root,oracle)을 삭제한후 다시 .ssh디렉토리를 만든다.
2.모든 노드에 ssh-keygen -t rsa 실행(rac1,rac2)
(여기서 암호는 절대로 넣지 말고 엔터로 입력)
[oracle@rac1 ~]$ chmod 700 .ssh [oracle@rac1 ~]$ ssh-keygen -t rsa Generating public/private rsa key pair. enter file in which to save the key (/home/oracle/.ssh/id_rsa) : 엔터 enter passphrase (emptyu for no passphrase) : 엔터 enter same passphrase again : 엔터
3.모든 노드에 ssh-keygen -t dsa 실행(rac1,rac2)
(여기서 암호는 절대로 넣지 말고 엔터로 입력)
[oracle@rac1 ~]$ ssh-keygen -t dsa Generating public/private rsa key pair. enter file in which to save the key (/home/oracle/.ssh/id_rsa) : 엔터 enter passphrase (emptyu for no passphrase) : 엔터 enter same passphrase again : 엔터
4. 하나의 노드에서 다음의 작업을 실행(rac1)
[oracle@rac1 .ssh]$ cat ~/.ssh/id_dsa.pub >> ~/.ssh/authorized_keys [oracle@rac1 .ssh]$ cat ~/.ssh/id_rsa.pub >> ~/.ssh/authorized_keys [oracle@rac1 .ssh]$ ssh rac1 cat /home/oracle/.ssh/id_rsa.pub >> authorized_keys oracle@rac1'spassword: [oracle@rac1 .ssh]$ ssh rac1 cat /home/oracle/.ssh/id_dsa.pub >> authorized_keys [oracle@rac1 .ssh]$ ssh rac2 cat /home/oracle/.ssh/id_rsa.pub >> authorized_keys oracle@rac2'spassword: [oracle@rac1 .ssh]$ ssh rac2 cat /home/oracle/.ssh/id_dsa.pub >> authorized_keys oracle@rac2'spassword: [oracle@rac1 .ssh]$ scp authorized_keys rac2:/home/oracle/.ssh/ oracle@rac2'spassword: authorized_keys 100% 2040 2.0KB/s 00:005. 양쪽 노드에서 다음을 실행(비밀번호를 물어보면 안됨)
--------------RAC1------------------ [oracle@rac1 .ssh]$ ssh rac1 date [oracle@rac1 .ssh]$ ssh rac1-priv date [oracle@rac1 .ssh]$ ssh rac2 date [oracle@rac1 .ssh]$ ssh rac2-priv date --------------RAC2------------------ [oracle@rac2 .ssh]$ ssh rac1 date [oracle@rac2 .ssh]$ ssh rac1-priv date [oracle@rac2 .ssh]$ ssh rac2 date [oracle@rac2 .ssh]$ ssh rac2-priv date
'Oracle > RAC' 카테고리의 다른 글
RAC 구성 Processe (0) | 2014.11.16 |
---|---|
RAC 시작/종료 명령어 (0) | 2014.11.16 |
RAC 관련 명령어 (0) | 2014.11.16 |
RAC I/O시스템 설명 (0) | 2014.11.15 |
SMP
상호 연결된 하나 이상의 컴퓨터가 그룹을 이루어 작업을 함께 처리하는 방식
CRS(Cluster Ready Service)는 10g Real Application Cluster의 새로운 기능으로, 모든 플랫폼에 대한 표준화된 클러스터 인터페이스를 제공해 주고, 이전 버전에 없었던 새로운 고가용 서비스를 제공해 줍니다.
CRS는 H/W업체에서 제공하는 Cluster S/W/와 함께 사용 되어질 수도 있으며, H/W 업체의 Cluster S/W없이 CRS자체만으로도 구성할수 있습니다.
9i RAC환경에서는 H/W업체에서 제공하는 Cluster S/W 사용이 필수요소였지만, 10g RAC로 오면서 H/W 업체의 Cluster S/W의 사용은 선택사항이 되었습니다.
이와 같은 CRS를 구성하기 위해서는 아래사항을 반드시 확인해야 하며 인지하고 있어야 합니다.
- CRS 10g RAC를 설치하기 전에 설치되고 실행되어야 합니다.
- CRS HOME과 ORACLE_HOME은 반드시 다른 디렉토리에 설치되어야 합니다.
- CRS를 설치하기 전에, VOTING 파일 또는 OCR(Oracle Configuration Repository)파일을 설치 할 수 있는 공유된
디렉토리 또는 디바이스가 구성 되어야 합니다. 이를 위한 voting file은 최소 20MB 정도 크기이며, OCR 파일은
최소 100MB 크기가 되어야 합니다.
- CRS 및 RAC를 설치하기 위해서는 다음과 같은 네트워크 인터페이스가 구성되어야 합니다.
Public Interface
Pravate Interface
Virtual Interface
- RAC NODE당 1개의 CRS 데몬만 실행 가능합니다.
- 네트워크 split이 있을 경우 (NODE간 통신 두절) data corruTESTion을 방지 하기 위해 하나 또는 그 이상의 NODE
에서 시스템 Rebooting 현상이 발생 할 수 있습니다.
- 서비스를 중단시키는 올바른 방법은, 장비를 shutdown 시키거나, "init.crsstop" 명령을 실행시키는 것입니다.
CRS를 구성하고 있는 프로세스
CRS를 구성하고 있는 가중 중요한프로세스로서 RAC에서 담당하는 역활은 아래와 같습니다.
- HA(High Availability) 작업을 위한 엔진
- Application 자원 관리
- Application 자원을 구동, 정지, failover 처리
- OCR(Oracle Configuration Repository)의 구성 프로파일 관리
- OCR의 현재 알려진 상태를 저장
- root 권한으로 실행
이처럼 CRSD 데몬은 RAC환경에서 가장 기본적인 NODE간의 자원상태를 감지하고 있습니다. 필요한 경우 해당 NODE를 Down 하거나 Rebooting 하는 역활을 수행하게 됩니다. CRS데몬은 장애 발생 시 자동으로 구동되도록 설정되어 있습니다. 만약에 CRS 데몬을 OS명령어로 KILL하게 될 경우 해당 NODE는 Rebooting 될 수 있으니 주의하시기 바랍니다.
- CSSD
CSSD는 RAC의 일부로, ASM과 함께 단일 인스턴스를 구성
NODE 맴버쉽에 대한 액세스를 제공
그룹 서비스 제공
기본적인 클러스터 LOCK 기능 제공
오라클 계정으로 실행
이처럼 CSSD 데몬은 데이터베이스의 Syncronization 부분을 담당하게 됩니다.
'Oracle > RAC' 카테고리의 다른 글
RAC) PRKC-1044 failed to check remote command execution setup for node 에러 (0) | 2014.11.20 |
---|---|
RAC 시작/종료 명령어 (0) | 2014.11.16 |
RAC 관련 명령어 (0) | 2014.11.16 |
RAC I/O시스템 설명 (0) | 2014.11.15 |
########################################################
# Listener (stop, start, status)
# srvctl stop listener -n <hostname> -l LISTENER
########################################################
srvctl stop listener -n rac1 -l LISTENER
srvctl start listener -n rac1 -l LISTENER
srvctl status listener -n rac1 -l LISTENER
srvctl stop listener -n rac2 -l LISTENER
srvctl start listener -n rac2 -l LISTENER
srvctl status listener -n rac2 -l LISTENER
########################################################
# Oracle Instance and service(status)
# srvctl status database -d <database_name>
########################################################
srvctl status database -d ORCL
########################################################
# Oracle 11g RAC stop command
# srvctl stop instance -d <database_name> -i ORCL1<instance_name>
# srvctl stop listener -n r<hostname> -l LISTENER
# srvctl stop nodeapps -n <hostname>
########################################################
- RAC1
emctl stop dbconsole
srvctl stop instance -d ORCL -i ORCL1
srvctl status instance -d ORCL -i rac1
srvctl stop listener -n rac1 -l LISTENER
srvctl status listener -n rac1 -l LISTENER
srvctl stop nodeapps -n rac1
- RAC2
emctl stop dbconsole
srvctl stop instance -d ORCL -i ORCL2
srvctl status instance -d ORCL -i ORCL2
srvctl stop listener -n rac2 -l LISTENER
srvctl status listener -n rac2 -l LISTENER
srvctl stop nodeapps -n rac2
########################################################
# Oracle 11g RAC start command
# srvctl start listener -n r<hostname> -l LISTENER
# srvctl start instance -d <database_name> -i <instance_name>
########################################################
- RAC1
srvctl start nodeapps -n rac1
srvctl status nodeapps -n rac1
srvctl start listener -n rac1 -l LISTENER
srvctl status listener -n rac1 -l LISTENER
srvctl start instance -d ORCL -i ORCL1
srvctl status instance -d ORCL -i ORCL1
emctl start dbconsole
- RAC2
srvctl start nodeapps -n rac2
srvctl status nodeapps -n rac2
srvctl start listener -n rac2 -l LISTENER
srvctl status listener -n rac2 -l LISTENER
srvctl start instance -d ORCL -i ORCL2
srvctl status instance -d ORCL -i ORCL2
emctl start dbconsole
########################################################
# All Database (stop, start)
# srvctl start database -d <database_name>
########################################################
srvctl start database -d ORCL
srvctl stop database -d ORCL
'Oracle > RAC' 카테고리의 다른 글
RAC) PRKC-1044 failed to check remote command execution setup for node 에러 (0) | 2014.11.20 |
---|---|
RAC 구성 Processe (0) | 2014.11.16 |
RAC 관련 명령어 (0) | 2014.11.16 |
RAC I/O시스템 설명 (0) | 2014.11.15 |
RAC 관리 Oracle/MSSQL
1) 관리 툴 : EM, CVU(Cluster Verification Utility, RAC 설치 후 검증 툴), srvctl(server control)
- crsctl(cluster ready services control) : oracle cw 기동/중지 툴
- oifcfg(oracle interface configuration tool) : 네트워크 인터페이스 할당/해제 툴
- ocrconfig(OCR configuration tool) : ocr 관리 툴, ocrcheck, ocrdump 등의 유틸리티도 있음
- vipca : vip 관리
2) Voting Disk 관리
- voting disk 백업 : $[oratest] dd if=voting_disk_name of=backup_file_name
- voting disk 복구 : $[oratest] dd if=backup_file_name of=voting_disk_name
- Multiple voting disk path 추가
#[root] crsctl stop crs (모든 노드에서)
#[root] crsctl add css votedisk path -force
- Multiple voting disk path 삭제
#[root] crsctl delete css votedisk path
3) OCR 관리
- OCR location 추가 : #[root] ocrconfig -replace ocr destination_file or disk
- OCR mirror location 추가 : #[root] ocrconfig -replace ocrmirror destination_file or disk
- OCR 교체
. 교체할 OCR 외에 나머지 OCR이 online 상태인지 확인
. Oracle CW가 해당 노드에서 작동 중인지 확인
. 다음의 명령어로 OCR 교체
# ocrconfig -replace ocr [dst file] or [disk]
# ocrconfig -replace ocrmirror [dst file] or [disk]
. 교체 작업 중 shutdown 상태였던 node가 있었다면, 해당 노드 restart 시에 다음의 명령어로 repair 작업 수행
# ocrconfig -repair ocr [device_name]
# ocrconfig -repair ocrmirror [dev_name]
- OCR 복구
# ocrconfig -repair ocrmirror [dev_name]
- OCR 삭제
. 제거할 OCR 외에 나머지 OCR이 online 상태 인지 확인
. 다음의 명령어로 OCR 삭제
# ocrconfig -replace ocr
# ocrconfig -replace ocrmirror
- OCR 백업
. Oracle이 자동으로 백업 생성/관리
. 백업 디폴트 위치 : CRS_home/cdata/cluster_name
- OCR 백업 확인
# ocrconfig -showbackup
- OCR 복구
. OCR 백업 확인
# ocrconfig -showbackup
# ocrdump -backupfile [file_name]
. 모든 노드에서 ORACLE CW 중지
# crsctl stop crs
. 복구
# ocrconfig -restore [file_name]
. 모든 노드에서 Oracle CW 시작
# crsctl start crs
- OCR 내용 확인
. ocrdump 이용하여 ocr의 내용을 파일로 출력해서 확인
- OCR 체크 : $ ocrcheck
4) DB와 인스턴스(서버) 관리
- DB와 인스턴스(서버) 시동 : $ srvctl start instance -d [dbname] -i [inst_name_list]
- DB와 인스턴스(서버) 중지 : $ srvctl stop instance -d [dbname] -i [inst_name_list]
- 모든 인스턴스 시작 : $ srvctl start database -d [dbname]
- 모든 인스턴스 중지 : $ srvctl stop database -d [dbname]
- DB policy 변경
. policy 종류 : Automatic(Default), manual
. 현재 policy 확인 : # srvctl config database -d [dbname] -a
. Policy 변경 : # srvctl modify database -d [dbname] -y [policy name]
. Database 추가 및 Policy 설정 : # srvctl add database -d [dbname] -y [policy name]
- SPFILE 변경
. 현재 spfile 설정 확인 : # srvctl config database -d [dbname] -a
. spfile 변경 : # srvctl modify database -d [dbname] -p [spfile위치]
- RAC NIC 관리
. NIC 정의 : $ oifcfg setif -global eth0/139.185.141.0:cluster_interconnect
. NIC 확인 : $ oifcfg iflist
$ oifcfg getif
. NIC 삭제 : $ oifcfg delif -global eht0/139.185.141.0
- CSS failover 파라메터 설정
. CSS 파라메터 : Misscount, Disktimeout, Reboottime
. CSS 파라메터 설정 확인
$ crsctl get css misscount
$ crsctl get css disktimeout
$ crsctl get css reboottime
. CSS 파라메터 설정 변경
# crsctl set css misscount [value]
# crsctl set css disktimeout [value]
# crsctl set css reboottime [value]
. CRS 재시작
# crsctl stop crs
# crsctl start crs
- OCR 파일내의 CRS 파라메터 변경
. VIP 의 CHECK_INTERVAL 값 변경
# crs_stat -p XXX.vip > XXX.vip.cap
생성한 XXX.vip.cap 파일을 열어서, CHECK_INTERVAL 값 변경
crs를 내렸다 올림
# crs_register -u XXX.vip (.cap는 자동으로 인식하므로, 생략함)
# crsctl stop crs
# crsctl start crs
- 로그 레벨 변경
. 관련 로그 및 위치
= CRS Log : $ORA_CRS_HOME/log/hostname/crsd
= CSS Log : $ORA_CRS_HOME/log/hostname/cssd
= OCR Log : $ORA_CRS_HOME/log/hostname/client
= EVM Log : $ORA_CRS_HOME/log/hostname/evmd
. CSS 로그 레벨 변경
# crsctl set trace [level] (default 1)
# crsctl stop crs
# crsctl start crs
. OCR 로그 레벨 변경
$ORA_CRS_HOME/srvm/admin/ocrlog.ini 의 mesg_logging_level 값 조정 (default 0)
RAC 인스턴스 개수 확인 : select count(*) from gv$instance;
RAC STOP => 역시 관리의 기본은 STOP/START/상태 확인이다.... ^^
1) 리스너 종료 : $ lsnrctl stop
2) RAC 의 모든 인스턴스 shutdown : $ srvctl stop database -d [db sid]
3) ORACLE CW 종료 : # crsctl stop crs (root)
RAC START
1) ORACLE CW 시작 : # crsctl start crs (root)
2) RAC 의 모든 인스턴스 start : $ srvctl start database -d [db sid]
3) RAC 관련 서비스 시작(옵션, ex:TAF) : $ srvctl start service -d [db sid]
4) 리스너 시작 : $ lsnrctl start
CRS 상태 확인 : crs_stat -t => 가독성이 떨어짐
crsstat => 가독성이 좋음
RAC 내의 DB 목록 확인
$ srvctl config database
oracl
RAC DB의 설정 확인
$ srvctl config database -d [sid]
linux1 orcl1 /u01/app/oracle/product/10.2.0.1/db_1
linux2 orcl2 /u01/app/oracle/product/10.2.0.1/db_1
RAC 관련 서비스 확인
$ srvctl config service -d [sid]
oracltest PREF: oracl2 oracl1 AVAIL
RAC 인스턴스 상태 확인
$ srvctl status database -d [sid]
RAC 프로세스 확인
ps -ef | grep d.bin
=> HP는 3개 있으면 OK(crsd, evmd, css), oprocd는 SGeRAC가 수행함.
IBM은 4개 있으면 OK(crsd, evmd, css, oprocd)
RAC 프로세스 상태 확인
crsctl check crs
crs_stop all => CRS 부터 인스턴스까지 등록된 모든 것을 중지함(비 권장)
crs_start all => CRS 부터 인스턴스까지 등록된 모든 것을 시작함(비 권장)
crsctl disable crs * => rebooting 후 crs가 자동 시작되는 것을 disable
crsctl enable crs* => rebooting 후 crs가 자동 시작되는 것을 enable
플랫폼 별 RAC 구동 순서
1) HP : MCSG(SGeRAC) -> CFS -> CRS -> 각 노드의 DB 인스턴스 구동
2) IBM : GPFS mount -> CRS -> 각 노드의 DB 인스턴스 구동
'Oracle > RAC' 카테고리의 다른 글
RAC) PRKC-1044 failed to check remote command execution setup for node 에러 (0) | 2014.11.20 |
---|---|
RAC 구성 Processe (0) | 2014.11.16 |
RAC 시작/종료 명령어 (0) | 2014.11.16 |
RAC I/O시스템 설명 (0) | 2014.11.15 |
RAC 시스템에서 각각(node)의 인스턴스(instance)는 공유 스토리지를 통해 물리적인 데이터를 서로 공유한다.
공유 스토리지는 *인터커넥트*와 함께 grid를 구성하는 핵심적인 기반 구조다.
오라클이 공유 스토리지를 이용해 데이터 파일이나 리두 로그 파일 등을 공유하기 위해서는
파일을 공유해서 사용 할 수 있는 "파일 디바이스" 혹은 "파일 시스템"이 필요하다.
각 회사의 스토리지를 구입했다면 어떠한 파일 디바이스나, 혹은 파일 시스템을 사용 할지 결정해야 한다.
그중에 로우 디바이스(raw device), 클러스터 파일 시스템(cluster file system) , ASM(automatic storage Management)가 있다.
Raw Device :
File system을 사용하지 않은 원시적인 형태의 Device.
별도의 File system이 없이도 Disk를 직접 연결(엑세스)하게 된다.
HACMP와 같은 Cluster service를 사용하면 논리적인 파티션(Disk) 위에 Raw device를 생성해서 사용할 수 있다.
만일 OS가 제공하는 Cluster service를 사용하지 않는다면 하나의 물리적인 파티션을 하나의 Raw device로 사용하게 된다.
하지만 Disk 관리가 용이하지 않기 때문에, 해당 OS에서 제공하는 Cluster service를 사용하는것이 일반적이다.
Cluster File System :
Raw device의 불편함..즉 File System을 사용 할 수 없다는 단점으로 인해 cluster File System을 선책한다.
Cluster File System을 사용하면 기존의 File system의 편리함을 그대로 사용하면서 file을 공유해 사용할 수 있는 장점이 있다.
가령 Oracledms windows와 linux에서 사용 가능한 OCFS(Oracle Cluster File System)라는 이름의 File system을 제공하며,
거의 모든 OS에 대해 뛰어난 성능의 cluster file system을 제공한다.
아직까지는 raw device가 성능 면에서는 최고의 solution임이 틀림없지만 cluster file system의 성능 또한
여러가지로 개선이 이루어지고 있기 때문에 raw device보다 cluster file system이 점차 대세를 이룰것이다.
ASM(Automatic Storage Management) :
오라클 10g부터 추가된 ASM은 오라클의 자동화 로드맵중 storage에 대한 구현을 제공한다.
ASM을 사용할 경우에는 오라클이 전적으로 Storage를 관리한다.
관리자(administoration)은 Oracle에게 어떤 Disk와 Disk group을 사용할 것이지만을 지정하며 나머지 전부는 Oracle 자동화이다.
ASM은 현대적인 볼룸 관리에 필요한 스트라이핑,미러링, 백업 및 복구에 필요한 모든 기능을 제공하고,
Raw device와 cluster file system 모두의 장점에 더해서 볼륨 매니저의 기능까지 제공하기 때문에 매력적이다.
하지만 다른 솔루션들에 비해 적용 사례가 많지 않다.
'Oracle > RAC' 카테고리의 다른 글
RAC) PRKC-1044 failed to check remote command execution setup for node 에러 (0) | 2014.11.20 |
---|---|
RAC 구성 Processe (0) | 2014.11.16 |
RAC 시작/종료 명령어 (0) | 2014.11.16 |
RAC 관련 명령어 (0) | 2014.11.16 |