반응형
  1. 설치 언어 선택

  • 영어로 선택하고 OK 클릭

 

Next > 클릭

  1. 설치 위치 선택

    기본적으로 c:\xampp 하는 것이 좋음(vista 일때 권한문제 포함)

Next > 클릭

  1. 선택 옵션

    Create a XAMPP desktop icon 체크 (기본 아이콘에 나오도록 설정)

    Create an Apache Friends XAMPP folder in the start menu 체크 (윈도우 시작메뉴에 나오도록 체크)

    SERVICE SECTION

    서비스를 수행하는 Apache 설치

    Install 클릭

    데이터 베이스 서비스를 수행하는 MySQL 설치

     

  2. 설치 완료 화면

    Finish 클릭

 

  1. 서비스 설치가 완료된 화면

  1. XAMPP 환경 설정 부분 (Y) 클릭

 

  1. 서비스를 Start(시작) / Stop(멈춤) 설정을 하는 콘트롤 패널 입니다.

    쉽게 말해서 서비스를 할려면 apache 시작되어야 하고

    데이터 베이스를 사용하기 위해서는 Mysql 시작되어야 합니다.

    Running 정상적으로 서비스 가동중이라는 뜻입니다.

   

 

반응형

'Language > PHP' 카테고리의 다른 글

플레쉬 차트 (OFC2JS) - Table2Chart  (0) 2010.01.19
정규표현식 테스트 필요할 때 보조 프로그램  (0) 2010.01.19
PHP 정규표현식  (0) 2010.01.18
eclipse 설정: Xdebug로 디버깅하기 with XAMPP 서버  (2) 2009.12.28
xampp  (0) 2009.12.28
반응형

###########################
## xampp
###########################

XAMPP는 크로스 플랫폼 웹 서버 자유 소프트웨어 꾸러미이다.
아파치 웹 서버 MySQL, PHP, 펄을 포함하고 있다.
GNU 일반 공중 사용 허가서로 배포되며 자유롭고 쓰기 쉬운 웹 서버이다.
마이크로소프트 윈도, 리눅스, 솔라리스, 맥 오에스 텐 등에서 동작하며 주로 웹 개발에 사용된다.



XAMPP 1.7.3 버젼 특징

  • Apache 2.2.14 (IPv6 enabled) + OpenSSL 0.9.8l
  • MySQL 5.1.41 + PBXT engine
  • PHP 5.3.1
  • phpMyAdmin 3.2.4
  • Perl 5.10.1
  • FileZilla FTP Server 0.9.33
  • Mercury Mail Transport System 4.72

xampp 홈페이지 :  http://www.apachefriends.org/en/xampp.html

Vista 버젼에서는
권한 문제 때문에 C:\Program Files 폴더 보다는

C:\xampp 나 C:\meinverzeichnis\xampp로 하는것을 추천함.

소스포지 다운로드 주소 : http://sourceforge.net/projects/xampp/files/

윈도우즈 버젼...


반응형
반응형

LOB 정보가 기간이 지나 삭제가 필요할때...

LOB 정보가 있는 테이블 : LOB_TABLE
LOB 정보가 있는 필드 : LOB_DATA

-- LOB_TABLE 있는 LOG_DATA 필드의 값을 모두 없는 것으로 처리
UPDATE LOB_TABLE
     SET LOG_DATA = EMPTY_CLOB()
 WHERE 조건

-- LOB 공간 SHRINK 할수 있도록 데이터 압축해 놓기
ALTER TABLE LOB_TABLE
MODIFY LOB(LOB_DATA) (SHRINK SPACE COMPACT);

* 만약 에러가 나면 ROW MOVEMENT ENABLE 설정을 참고 !

-- LOB 공간 실제 SHRINK 하기
ALTER TABLE LOB_TABLE
MODIFY LOB(LOB_DATA) (SHRINK SPACE);
반응형
반응형

1) import 시켜야할 API

① oracle.sql.BLOB

② oracle.sql.CLOB

③ oracle.jdbc.driver.OracleResultSet

2) CLOB

① DB에 CLOB 데이터형 쓰기

       // UPDATE 또는 INSERT 명령으로 DB 에 공간 확보
     String query = "UPDATE TABLE SET CLOB_DATA = EMPTY_CLOB() " ;
     stmt.executeUpdate(query);

     // 그런 다음 다시 요놈을 다시 SELECT
     query = "SELECT CLOB_DATA  FROM TABLE WHERE ~ " ;   

     stmt = dbConn.createStatement();
     rs = stmt.executeQuery(query);

     if(rs.next()) {
          CLOB clob = null;
          Writer writer = null;
          Reader src = null;
          char[] buffer = null;
          int read = 0;  

          clob = ((OracleResultSet)rs).getCLOB(1);        
          writer = clob.getCharacterOutputStream();

          // str -> DB에 넣을 내용
          src = new CharArrayReader(str.toCharArray());
          buffer = new char[1024];
          read = 0;
          while ( (read = src.read(buffer,0,1024)) != -1) {
               writer.write(buffer, 0, read); // write clob.
          }
          src.close();        
          writer.close();
     }

     dbConn.commit();
     dbConn.setAutoCommit(true);


 ② DB에서 CLOB 데이터형 읽기

      // SELECT
     String query = "SELECT CLOB_DATA  FROM TABLE WHERE ~ " ;   

     stmt = dbConn.createStatement();
     rs = stmt.executeQuery(query);

     if(rs.next()) {

          StringBuffer output = new StringBuffer();
          Reader input = rs.getCharacterStream("CLOB_DATA");
          char[] buffer = new char[1024];
          int byteRead = 0;
          while((byteRead=input.read(buffer,0,1024))!=-1){
               output.append(buffer,0,byteRead);
          }
         

          // contents -> CLOB 데이터가 저장될 String
          String contents = output.toString();


     }

     dbConn.commit();
     dbConn.setAutoCommit(true);


3) BLOB

① DB에 BLOB 데이터형 쓰기

      // UPDATE 또는 INSERT 명령으로 DB 에 공간 확보
     String query = "UPDATE TABLE SET BLOB_DATA = EMPTY_BLOB() " ;
     stmt.executeUpdate(query);

     // 그런 다음 다시 요놈을 다시 SELECT
     query = "SELECT BLOB_DATA  FROM TABLE WHERE ~ " ;   

     stmt = dbConn.createStatement();
     rs = stmt.executeQuery(query);

     if(rs.next()) {

          BLOB blob = null;
          BufferedOutputStream out = null;
          BufferedInputStream in = null;
          byte[] buf = null;
          int bytesRead= 0;  

          blob = ((OracleResultSet)rs).getBLOB(1);
          out = new BufferedOutputStream(blob.getBinaryOutputStream());

          // str -> DB에 넣을 내용
          in = new BufferedInputStream(new StringBufferInputStream(str));
          int nFileSize = (int)str.length();
          buf = new byte[nFileSize];
         
          while ((bytesRead = in.read(buf)) != -1){
               out.write(buf, 0, bytesRead);

          }

          in.close();
          out.close();
     }

     dbConn.commit();
     dbConn.setAutoCommit(true);


 ② DB에서 BLOB 데이터형 읽기

      // SELECT
     String query = "SELECT CLOB_DATA  FROM TABLE WHERE ~ " ;   

     stmt = dbConn.createStatement();
     rs = stmt.executeQuery(query);

     if(rs.next()) {

          BLOB blob = ((OracleResultSet)rs).getBLOB(1);

          BufferedInputStream in = new BufferedInputStream(blob.getBinaryStream());
          int nFileSize = (int)blob.length();
          byte[] buf = new byte [nFileSize];   
          int nReadSize = in.read(buf, 0, nFileSize);
          in.close();

           // contents -> BLOB 데이터가 저장될 String

          String contents = new String(buf);
     }

     dbConn.commit();
     dbConn.setAutoCommit(true);


출처 : http://lambert.egloos.com/3069062
반응형
반응형

/**
 CLOB 자료를 오라클 DB에 넣기 위한 자바 소스 파일
 
 1. CLOB 자료형인 column을 오라클의 empty_clob()을 이용해 초기화를 해야 한다.
    : 또는 CLOB column의 기본값을 empty_clob()으로 하던가..
    
 2. setAutoCommit(false)를 꼭 해야 한다.
 
 3. select clob_column from table where pk = value for update
    : for update를 이용해 CLOB column을 lock한다.
    : stream을 이용해 CLOB column을 업데이트 하는동안 다른 process의 접근을 막는다.
    : 또한 stream을 이용해 자료를 넣기 전까지는 실제로 commit되지 말아야 하기 때문에
      2번의 auto commit을 false로 했던 것이다. (이것때문에 하루 보냄 ㅜㅜ;;)
    : 모두 쓰고 나서는 commit() <-- 옵션
    : setAutoCommit(true) <-- 옵션
      
 4. 여기서 특이한 점은 오라클의 jdbc 드라이버의 OracleResultSet과 CLOB을 이용한다는 것이다.
    : java.sql.ResultSet과 java.sql.Clob을 이용하면 오라클 JDBC 드라이버가 해석시에 에러를 발생시킨다.
    : 아마도 오라클 jdbc 드라이버의 문제점이 아닐까 하는 생각이 든다.
    : 아니면 표준과 싸우는 오라클인가? ㅡㅡ;;
    
 5. 나머지 부분은 Stream을 이용한 input과 output이므로 언급을 생략하겠다.
*/

import java.io.*;
import java.net.*;
import java.sql.*;

import oracle.sql.*;
import oracle.jdbc.driver.*;

public class ClobTest {
 public static void main(String[] argv) {
 
  String drv = "oracle.jdbc.driver.OracleDriver";
  String dburl = "jdbc:oracle:thin:@192.168.3.30:1521:GRDB21";
  String user = "scott";
  String password = "tiger";
 
  Connection conn = null;
  Statement st;
  ResultSet rs;
 
  try {
         Class.forName(drv);         
         System.out.println("Drive Loading...");
            conn = DriverManager.getConnection(dburl, user, password);
            System.out.println("Connecting...");
            st = conn.createStatement();
            
            // 입력할 텍스트 만들기
            StringBuffer sb = new StringBuffer();
            String clobTest = "한글 테스트입니다\nIt is difficult\n";
            for (int i = 0; i < 300; i++)
    sb.append(clobTest);
   
   
   
   // 1. CLOB 데이터 입력하기 위해, empty_clob() 생성
            try {
             st.executeUpdate("insert into test_clob values ('02', empty_clob())");
            } catch (Exception ee) {
             ee.printStackTrace(System.out);
            }
   
   // 2. setAutoCommit을 false로 꼭 해야 한다.
   conn.setAutoCommit(false);
   
   
   // 3. CLOB column에 대한 lock을 얻는다.
   rs = st.executeQuery("select desc2 from test_clob where code = '02' for update");
   if (rs. next()) {
   
    // 4. 오라클의 함수들을 사용하기 위해 cast 하였다.
    CLOB cl = ((OracleResultSet)rs).getCLOB("desc2");
    
    // 스트림을 이용한 값 저장
    BufferedWriter writer = new BufferedWriter(cl.getCharacterOutputStream());
    writer.write(sb.toString());
    writer.close();
   }
   conn.commit();
   conn.setAutoCommit(true);
                
   // 입력한 값 읽어 오기     
   rs = st.executeQuery("select * from test_clob where code = '02'");
   
   if (rs.next()) {
    String code = rs.getString("code");
    
    // CLOB column에 대한 스트림을 얻는다.
    Reader rd = rs.getCharacterStream("desc2");
    
    sb = new StringBuffer();
    char[] buf = new char[1024];
    int readcnt;
    while ((readcnt = rd.read(buf, 0, 1024)) != -1) {
     // 스트림으로부터 읽어서 스트링 버퍼에 넣는다.
     sb.append(buf, 0, readcnt);
    }
    rd.close();
    
    System.out.println("code : " + code);
    System.out.println("desc2 : " + sb.toString());
   }
 
 
  }
  catch (Exception e) {
   e.printStackTrace(System.out);
  }
 }
}

출처 : http://djnine.tistory.com/
반응형
반응형

9. Transparent Application Failover(TAF) 테스트

   

※ Oracle TAF는 데이터베이스 연결에 장애가 발생한 경우 클러스터의 다른 노드로 재연결하기 위한 페일오버 메커니즘을 제공합니다.

    페일오버 과정은 사용자 관점에서 투명하게 수행됩니다. 오라클은 페일오버된 인스턴스에서 쿼리를 재실행하고 결과를 사용자에게

    반환합니다.

※ 테스트를 수행하기에 앞서 발생한 문제 먼저 해결 하겠습니다. 저같은 경우 모든 설치를 마치고 TAF 테스트는 다음 날 수행했는데

    컴을 껐다 키니까 애플리케이션 리소스가 실행 되어 있지 않았습니다. 간단한 절차지만 애플리케이션 리소스 실행하고 상태먼저 확인

    하고 시작하겠습니다.

   

(crs_stat 수행 해 보니 rac1 노드의 리소스만 ONLINE 상태임을 알 수 있다.)

   

   

(상태확인을 함에 있어서도 깔끔하지 않고 찝찝하기 짝이없다 ㅋㅋ)

   

이제 애플리케이션 리소스 시작시키자!! oracle 계정으로 수행^^

   

srvctl stop instance -d devdb -i devdb1

     srvctl stop asm -n rac1

     srvctl stop nodeapps -n rac1

   

     srvctl start instance -d devdb -i devdb1

     srvctl start asm -n rac1

     srvctl start nodeapps -n rac1

   

srvctl stop instance -d devdb -i devdb2

     srvctl stop asm -n rac2

     srvctl stop nodeapps -n rac2

   

     srvctl start instance -d devdb -i devdb2

     srvctl start asm -n rac2

     srvctl start nodeapps -n rac2

   

       devdb : database name

                    devdb1/devdb2 : instance name

     rac1/rac2 : hostname

   

   

(rac1 뿐 아니라 rac2 의 애플리케이션 리소스들도 ONLINE 상태가 됬다.)

   

   

(이 얼마나 깔끔하고 아름다운 광경인가...ㅋㅋㅋㅋㅋ)

   

   

     9-1. 새로운 데이터베이스 서비스의 생성

   

자!! 이제 본론으로 들어가 보겠습니다~~~~~ 라고 이야기 했습니다만 새로운 DB 생성을 위해 DBCA를 실행한 순간 또

다시 DISPLAY 에러 강림하심...

   

   

(앞서 설명한데로 root 계정으로 # xhost + 실행하고 oracle 계정으로 export DISPLAY=:0.0 실행 후 dbca 실행)

   

   

(짜잔~~~^^ 이제 본격적으로 시작!! Oracle Real Application Cluster database 선택 후 Next)

   

   

(Services Management 선택 후 Next)

   

   

(Next)

   

   

(Add를 클릭하고 서비스 추가하자)

   

   

   

(Add a Service에 CRM 이라고 입력하고 OK)

   

   

(devdb1은 Preferred 선택, devdb2는 Available 선택, TAF Policy는 Basic 선택 후 Finish~)

   

   

   

(OK~~)

   

   

(Service 설치 중~)

   

   

(다른 거 설치할 것 없으니까 No~~클릭)

   

   

   

(tnsnames.ora 파일에 위와 같이 CRM 네임 엔트리를 생성한 것을 알 수 있다.)

   

   

   

(CRM이 devdb1 인스턴스에 붙어 있다. devde1에서 장애 발생시 CRM이 devdb2에 붙게 된다. 잠시후 확인)

   

   

   

     9-2. CRM 서비스를 이용하여 첫 번째 세션에 연결

   

   

(CRM이 devdb1에 붙어있고, failover 방식은 Basic 이며 fail over는 발생하지 않았음을 알 수 있다.)

   

   

     9-3. 다른 세션에서 인스턴스를 셧다운

   

   

(새로운 터미널을 열고 위와 같이 장애상황 발생 설정)

   

   

   

     9-4. 세션이 페일오버 되었는지 확인

   

   

(CRM이 devdb2에 붙었고 failed_over 컬럼이 YES 즉, fail over가 수행 되었음을 확인 할 수 있다.)

   

   

     9-5. CRM 서비스를 preferred instance로 페일백

   

※ devdb1이 다시 시작된 이후에도 CRM 서비스는 preferred instance로 페일백 처리되지 않습니다. 따라서 수동으로 서비스를

    devdb1으로 이전해 주어야 한다.

   

   

(rac2 노드의 devdb2 인스턴스에 붙어있는 CRM!!)

   

   

   

(위와 같이 rac1-> srvctl relocate service -d devdb -s crm -i devdb2 -t devdb1 명령어로 페일백 시켜준다.)

   

   

(다시 devdb1으로 컴백한 CRM을 확인!!)

   

   

   

 

출처 : http://blog.naver.com/chosuky?Redirect=Log&logNo=100091891048 [출처] VMware를 이용한 Oracle Enterprize Linux에 Oracle RAC 10g 설치(5)|작성자 초수키

[출처] VMware를 이용한 Oracle Enterprize Linux에 Oracle RAC 10g 설치(5)|작성자 초수키

반응형
반응형

8. RAC 데이터베이스 환경 확인

   

  8-1. 애플리케이션 리소스의 상태 확인

   

   

   

  8-2. Oracle Clusterware의 상태 확인(rac1, rac2)

   

 

   

  8-3. RAC 인스턴스 목록 확인

   

   

   

  8-4. 연결 테스트(각 노드의 인스턴스와 서비스에 연결할 수 있는지 확인)

   

 

 

 

   

   

  8-5. 데이터베이스 설정의 확인

   

   

   

   

  8-6. 온라인 리두 로그파일 그룹 생성

   

 

   

  8-7. 플래시 복구 영역의 공간 사용 현황 점검

   

   

   

[출처] VMware를 이용한 Oracle Enterprize Linux에 Oracle RAC 10g 설치(4)|작성자 초수키

[출처] VMware를 이용한 Oracle Enterprize Linux에 Oracle RAC 10g 설치(4)|작성자 초수키

반응형
반응형

6. Oracle Clusterware 설치

   

   

(clusterware를 다운 받고 /u01/staging폴더에 압축을 풀어준다.)

   

6-1. Welcome

   

   

(rac1-> /u01/staging/clusterware/runInstaller 를 실행하면 위와 같이 반가운 화면이 나온다. Next)

※ 설치 메뉴얼대로 하면 DISPLAY 관련 에러가 발생한다. (스샨 불첨부ㅠ.ㅠ) 그 넘 때문에 좀 해맸고 인터넷 검색으로 해결방법을 찾음

<해결 방법>

1. 터미널 열고 root 계정으로 # xhost + 실행

2. 터미널에서 oracle 계정으로 export DISPLAY=:0.0 실행후 runinstaaler 실행하면 위의 화면을 볼 수 있을 것이다.^^

   

6-2. Specify Inventory directory and credentials

   

   

(Inventory 디렉토리 위와 같이 설정 OS group name 은 oinstall 설정 확인 후 Next)

   

6-3. Specify Home Details

   

   

(확인 후 Next)

   

   

6-4. Product-Specific Prerequisite Checks

   

   

(물리적 메모리 요구사항에 관련한 경고를 무시하고 체크한뒤 Next)

   

   

6-5. Specify Cluster Configuration

   

   

(Add를 클릭하고 위와 같이 설정해 준다.)

   

   

   

(추가 된 화면)

   

   

6-6. Specify Network Interface Usage

   

   

(eth0을 선택하고 Edit를 클릭, 위와 같이 Public으로 변경 후 OK)

   

   

(변경 후의 화면)

   

   

6-7. Specify Oracle Cluster Registry (OCR) Location

   

   

(External Redundancy 선택하고 Specify OCR Location에 /ocfs/clusterware/ocr을 입력한 후 Next)

   

   

6-8. Specify Voting Disk Location

   

   

(External Redundancy를 선택하고 Voting Disk Location에 /ocfs/clusterware/votingdisk를 입력하고 Next)

   

   

6-9. Summary

   

   

(확인 후 Install 클릭)

   

   

6-10. 인스톨 시작~^^

   

   

(무사히 완료 되기를 ㄷㄷㄷ)

   

6-11. Execute Configuration scripts

   

   

(인스톨 완료 후 위와 같은 창이 뜨면 아래의 순서대로 수행한다. 동시 실행하면 안됨.)

  • Execute /u01/app/oracle/oraInventory/orainstRoot.sh on rac1.
  • Execute /u01/app/oracle/oraInventory/orainstRoot.sh on rac2.
  • Execute /u01/app/oracle/product/10.2.0/crs_1/root.sh on rac1.
  • Execute /u01/app/oracle/product/10.2.0/crs_1/root.sh on rac2.

   

   

(Execute /u01/app/oracle/oraInventory/orainstRoot.sh on rac1.)

   

   

(Execute /u01/app/oracle/oraInventory/orainstRoot.sh on rac2.)

   

(Execute /u01/app/oracle/product/10.2.0/crs_1/root.sh on rac1.)

   

   

   

※ rac2의 root.sh 스크립트는 VIPCA를 자동으로 호출하지만, "The given interface(s), "eth0" is not public. Public interfaces should

    be used to configure virtual IPs" 에러와 함께 실패합니다. 퍼블릭 인터페이스에 사설 IP 주소(192.168.x.x)가 사용되고 있기 때문에

    Oracle Cluster Verification Utility(CVU)가 적절한 퍼블릭 인터페이스를 찾을 수 없는 것입니다.

    이 문제를 해결하려면 VIPCA를 수동으로 실행해야 합니다.

   

   

(# /u01/app/oracle/product/10.2.0/crs_1/bin/vipca 를 실행하면 위의 화면이 뜬다.)

   

   

(eth0을 선택하고 Next)

   

   

(위와 같이 설정하고 Next)

   

   

(확인 후 Finish 클릭~)

   

   

(설치 완료 후 OK)

   

   

(Configuration Results 확인 후 Exit)

   

   

(rac1 노드로 돌아와서 OK를 클릭해준다~)

   

   

(설치 끝~ Exit 가차없이 눌러주자~^^)

   

   

7. Oracle Database 10g Release 2 설치

   

   

(oracle database 다운로드 후 /u01/staging폴더에 압축을 풀어준다.)

   

   

7-1. runInstaller

   

   

(rac1-> /u01/staging/database/runInstaller 실행)

   

   

7-2. Welcome

   

   

(반가운 녀석 떳쌰~~~~~~~~~~~~~)

   

7-3. Select Installation Type

   

   

(Enterprize Edition 선택, Next)

   

   

7-4. Specify Home Details

   

   

(위와 같이 맞추주고 Next)

   

   

7-5. Specify Hardware Cluster Installation Mode

   

   

(Cluster Installation 선택, Select All 클릭 후, Next)

   

   

   

7-6. Product-Specific Prerequisite Checks

   

   

(물리적 메모리 요구사항에 관련한 경고를 무시하고 체크 후 Next)

   

   

7-7. Select Configuration Option

   

   

(Create a database 선택 후 Next)

   

7-8. Select Database Configuration

   

   

(Advanced 선택 후 Next)

   

   

7-9. Summary

   

   

(확인 후 Install 클릭)

   

   

(설치 시작~~ㅎㅎㅎ)

   

   

7-10. Configuration Assistants

   

   

(먼저 Oracle Net Configuration Assistant 수행)

   

   

(Oracle Database Configuration Assistant, 즉 DBCA로 데이터베이스 생성 시작)

   

   

7-11. Database Templates

   

   

(General Purpose 선택 후 Next)

   

   

7-12. Database identification

   

   

(Global Database Name 과 SID Prefix에 devdb 입력 후 Next)

   

   

7-13. Management Options

   

   

(Configure the Database with Enterprise Manager를 선택 후 Next)

   

   

7-14. Database Credentials

   

   

(SYS, SYSTEM, DBSNMP, SYSMAN 모두 동일한 패스워드 사용하도록 설정 후 Next)

   

   

7-15. Storage Options

   

   

(Automatic Storage Management 선택 후 Next)

   

   

7-16. Create ASM Instance

   

   

(SYS user의 패스워드 입력, Create initialization parameter file (IFILE) 선택 후 Next)

   

   

(이어서 뜨는 팝업창에서 OK)

   

   

(ASM 구성하는 모습)

   

   

7-17. ASM Disk Groups

   

   

(Create New 클릭)

   

   

(Disk Group Name 에 DG1, Redundancy 는 Normal, ORCL:VOL1, ORCL:VOL2 선택 후 OK)

   

   

(ASM DG1 그룹 구성 중...)

   

   

(다시 Create New 클릭, Disk Group Name 에 RECOVERYDEST, Redundancy 는 External, ORCL:VOL3 선택 후 OK)

   

   

(ASM RECOVERYDEST 그룹 구성 중....)

   

   

(ASM Disk Group 구성 완료 화면, Next)

   

   

   

7-18. Database File Locations

   

   

(Use Oracle-Managed Files 선택, Database Area 에 +DG1입력 후 Next)

   

   

7-19. Recovery Configuration

   

   

(Specify Flash Recovery Area 선택, Flash Recover Area 에 +RECOVERYDEST 입력, Flash Recovery Area Size 는 1500MB,

Enable Archiving 선택 후 Next)

   

   

7-20. Database Content

   

   

(Sample Schemas 선택 후 Next)

   

   

7-21. Database Services

   

   

(Next)

   

   

7-22. Initialization Parameters

   

   

(Custom 선택, SGA Size 는 200MB, PGA Size 는 25MB로 설정 후 필요에 따라 나머지 설정, Next)

   

   

7-23. Database Storage

   

   

(Next)

   

   

7-24. Creation Options

   

   

(Create Database 선택 후 Finish~)

   

   

7-25. Summary

   

   

(확인 후 OK)

   

   

7-26. DB 설치 시작~~~~~~~~~^^

   

   

(거의 다 되어 간다 야호~~~~~~~~~~~)

   

   

7-27. Database Configuration Assistant

   

   

(Password Management 에서 scott과 HR 유저 활성화 시키고 Exit)

   

   

(Cluster Database 시작 중....)

   

   

   

7-28. Execute Configuration scripts

   

   

(root 계정으로 스크립트 실행)

  • rac1에서 /u01/app/oracle/product/10.2.0/db_1/root.sh 스크립트를 실행

  • rac2에서 /u01/app/oracle/product/10.2.0/db_1/root.sh 스크립트를 실행

   

   

   

(rac1 노드의 Execute Configuration 스크립트 스크린으로 돌아가 OK를 클릭)

   

7-29. End of Installation

   

   

(Exit 드디어 끝났다...RAC 설치 ㄷㄷㄷ)

   

  출처 : http://blog.naver.com/chosuky?Redirect=Log&logNo=100091891048

   

   

반응형
반응형

 

3. 두 번째 가상 머신의 생성 및 설정

   

(두번째 가상 머신을 생성하기 위해 첫번째 가상 머신을 셧다운 한다. )

   

   

(d:\vm\rac\rac1의 모든 파일을 d:\vm\rac\rac2로 복사한 다음 몇 가지 설정을 변경해 준다.)

   

   

(Ctrl - O를 눌러서 d:\rac\rac2\rac1.vmx 를 연다.)

   

   

(rac1 탭을 마우스 오른쪽 버튼으로 클릭하고 Settings를 선택)

   

   

(Virtual machine name: Virtual machine name: "rac2"를 입력)

   

   

(rac1 이 셧다운 된 상태에서 rac2 가상 머신 실행, I copied it 을 선택 하고 OK)

   

   

(root 계정으로 로그인)

   

   

(터미널을 열고 system-config-network를 실행하여 네트워크 설정을 변경, eth0을 더블 클릭)

   

   

(위와 같이 IP 설정 후 Hardware Device 탭 클릭)

   

   

(Probe를 클릭해서 새로운 MAC 어드레스를 조회한다, 그리고 OK)

   

   

(network configuration 첫 화면에서 eth1을 더블 클릭 하고 위와 같이 IP 설정한다.

그 다음 Hardware Device에서 새로운 MAC 어드레스 조회하고 OK)

   

   

(DNS 탭에서 Hostname을 위와 같이 설정하고 나머진 공란)

   

   

(eth0 을 선택하고 상단의 Activate 클릭 그 후 eth1도 Activate로 활성화)

   

   

(이렇게....)

   

   

(vi /etc/hosts)

   

127.0.0.1 localhost    <-- 요거 추가
*  VIPCA는 Oracle Clusterware 소프트웨어 설치 과정에서 루프백 주소를 사용하려 시도

   

   

(vi /export/home/oracle/.profile, ORACLE_SID를 devdb2로 변경)

* 위의 파일은 .bash_profile이다...여러분은 .profile로 하시길^^

   

※ user equivalence를 설정하기 위해, oracle 사용자를 위한 퍼블릿/프라이빗 키를 양쪽 노드에 생성해 줍니다. rac1을 시작한 후,

   양쪽 노드에서 아래와 같이 작업을 수행해 줍니다.

   

(rac1 노드에서 root 로 로그인 후 su - oracle 위와 같이 수행)

   

* SSH를 이용한 user equivalence의 설정. Cluster Ready Services(CRS) 및 RAC 설치 과정에서, Oracle Universal Installer(OUI)는 oracle 사용자로 (패스워드를 별도로 입력하지 않고) 모든 RAC 노드에 소프트웨어를 복사할 수 있어야 합니다. Oracle 10g에서는 rsh 대신 ssh를 이용하여 이 작업을 수행할 수 있습니다.

   

   

(rac2 노드에서 root 로 로그인 후 su - oracle 위와 같이 수행)

   

   

(rac1 노드에서만 위와같이 수행한다)

   

   

   

(각 노드의 연결이 잘 되는지 테스트 해보자)

   

   

(두번째 수행시 패스워드를 묻지 않는 것을 확인 할 수 있다.)

   

4. Oracle Automatic Storage Management (ASM) 설정

   

※ Oracle ASM은 오라클 데이터베이스와 긴밀하게 통합되어 있으며 오라클의 데이터베이스 관리 툴과 연동합니다. Oracle ASM은

    데이터베이스 스토리지 관리 업무를 단순화하고 로우 디스크 I/O 성능을 개선하는 효과를 제공합니다.

   

(root로 작업하기 위해 root로 로그인)

   

   

   

(ASMLib 설정. root 사용자로 로그인하여 rac1 노드에서 위와 같이 ASMLib을 설정)

   

   

(ASMLib 설정. root 사용자로 로그인하여 rac2 노드에서 위와 같이 ASMLib을 설정)

   

   

(ASM 디스크의 생성. root 사용자로 rac1 하나의 노드에서 ASM 디스크를 생성)

   

   

5. Oracle Cluster File System(OCFS2) 설정

   

※ OCFS2는 오라클이 개발한 범용 클러스터 파일 시스템으로 Enterprise Linux 커널과 통합되어 있습니다. OCFS2는 전체 노드가

    클러스터 파일 시스템에 동시 접근하는 것을 가능하게 하며, 로우 디바이스 관리의 필요성을 제거합니다. 본 가이드에서는 OCFS2

    파일 시스템에 OCR과 Voting Disk를 위치시키는 방법을 사용

   

( rac1, rac2 양쪽 노드에 OCFS2 RPM이 설치되었는지 확인)

   

   

5-1. OCFS2 설정 파일의 생성 (root 계정으로 수행)

   

   

(터미널을 열고 # ocfs2console 실행 하면 위와 같은 화면이 나온다)

   

   

(Cluster - Configure Nodes... 클릭 후 나오는 팝업창에서 Close 클릭)

   

   

(Node Configuration에서 Add를 클릭하고 위와 같이 추가한다.)

   

   

(같은 방식으로 rac2 추가)

   

   

(Apply를 클릭 하면 위와 같이 변경된다.)

   

   

(위와 같이 수행하여 생성된 설정 파일의 내용을 확인)

5-1의 내용을 rac2 노드에서도 똑같이 수행한다.

   

5-2. CO2CB 드라이버 설정

   

※ O2CB는 노드와 클러스터 파일 시스템 간의 커뮤니케이션을 관리하는 일련의 클러스터링 서비스로 구성됩니다. 각 서비스에 대한

    설명이 아래와 같습니다:

  • NM: Node Manager ? cluster.conf에 설정된 모든 노드의 상태를 추적
  • HB: Heartbeat 서비스 ? 노드가 클러스터에 가입/탈퇴하는 경우 업/다운 통보를 전달
  • TCP: 노드 간의 커뮤니케이션을 처리
  • DLM: Distributed Lock Manager ? 락, 락의 소유자 및 상태 정보를 추적
  • CONFIGFS: 사용자 공간(/config)에 마운트되는 구성 파일 시스템
  • DLMFS: 커널 스페이스 DLM을 위한 사용자 공간 인터페이스

   

(root 계정으로 위와 같이 수행하여 부팅 시 O2CB가 실행되도록 설정해 준다. rac2 노드에서도 똑같이 수행)

   

※ heartbeat dead threshold를 묻는 프롬프트에서 7 이상의 값을 입력하여 낮은 성능의 IDE 디스크 드라이브로 인해 노드 크래시가

    발생하는 것을 방지해 주어야 합니다. heartbeat dead threshold는 fence time을 계산하기 위한 변수로 활용됩니다.

Fence time (seconds) = (heartbeat dead threshold -1) * 2

   

5-3. 파일 시스템 포맷

   

(OC2B가 rac1 노드에서 온라인 상태인지 확인)

   

   

(OC2B가 rac2 노드에서 온라인 상태인지 확인)

   

   

(rac1 노드에서만 터미널을 열고 # ocfs2console 실행, Tasks-Format...클릭)

파일 시스템 포맷 작업은 두 노드 중 하나에서만 수행

   

   

(위와 같이 설정해 주고 OK)

   

   

(Yes 클릭)

   

   

(포맷 중이당...)

   

   

(포맷 완료^^)

   

   

5-4. 파일 시스템 마운트

   

   

(rac1, rac2 노드에서 위와 같이 수행하여 파일 시스템을 마운트한다.)

   

   

(vi /etc/fstab 을 수행하여 /dev/sdb1 /ocfs ocfs2 _netdev,datavolume,nointr 0 0 라인을 추가한다.)

부팅 시에 파일 시스템이 마운트되도록 하기 위해서...

   

   

   

5-5. Oracle Clusterware 디렉토리 생성

   

(OCFS2 파일 시스템에 OCR, Voting Disk가 위치할 디렉토리를 생성, rac1에서만 위와 같이 수행)

   

   

   

출처 : http://blog.naver.com/chosuky?Redirect=Log&logNo=100091891048

반응형
반응형


** 사전 준비 사항
    RHEL 4 ORACLE 다운로드 주소 :
    http://edelivery.oracle.com/linux 로 가서 Enterprise Linux 다운로드
 
    rpm 파일들
   


1-1. 첫 번째 가상 머신의 구성

D:\>mkdir vm\rac\rac1 --------------------> 첫번째 노드

D:\>mkdir vm\rac\rac2 ---------------------> 두번째 노드

D:\>mkdir vm\rac\sharedstorage --------------> 각 노드의 인스턴스에서 사용할 공유 스토리지 영역

1-2. 새로운 가상 머신 생성

(Custom 선택, next 클릭)

1-3. 버전 선택

(버전 6으로 설치해야 잘되기 때문에 6으로 맞추고 next)

   

1-4. 어떤 매체로 인스톨 할 것인지 선택

(I will install the operating system later 선택 후 next)

   

1-5. OS 선택

(Linux선택, Red Hat Enterprize Linux 4 선택 후 next)

   

1-6. 가상 머신의 이름과 위치 설정

(virtual machine name -> rac1, Location -> d:\vm\rac\rac1 으로 설정하고 next)

   

1-7. 프로세서의 개수 설정

(자신의 시스템 사양에 맞게 설정^^ 난 one 그리고 next)

   

1-8. 가상머신의 메모리 설정

(램 용량에 자신 있다면 더 크게 해도되지만 전 700MB로^^ 그리고 next)

   

1-9. network type을 선택

(자신의 집이 DHCP로 자동 IP할당 받더라고 브릿지 선택할 것, 처음 설치시 NAT로 선택하고 했더니 낭패봄^^;;)

   

1-10. SCSI의 I/O 타입 선택

(LSI Logic 선택 후 next)

   

1-11. Disk 선택

(Create a new virtual disk 선택, next)

   

1-12. Disk type 선택

(SCSI방식 선택, next)

   

1-13. Disk 용량 설정

(20GB로 하고 Allocate all disk space now를 해제, next)

* Allocate all disk space now를 선택하면 미리 설정 크기만큼의 공간을 고정시킨다

   

1-14. Disk file의 이름 설정

(localdisk.vmdk로 설정, next)

   

1-15. 완료!!

(참 쉽죠잉~)

   

1-16. 4개의 가상 SCSI 디스크를 생성하자

(왼쪽 화면의 Edit virtual machine settings 클릭)

   

   

(Add... 클릭)

   

(Hard Disk 선택 후 next)

   

(Create a new virtual disk 선택 후 next)

   

(SCSI 선택, Independent 선택, Persistent 선택 후 next)

   

(용량을 0.5GB로 하고 Allocate all disk space now를 선택해서 미리 공간을 할당 받자)

   

(Disk 이름과 경로를 위와같이 설정하고 Finish)

다음엔 asmdisk1.vmdk (3GB), asmdisk2.vmdk (3GB), asmdisk3.vmdk (2GB) 각각 설정

   

(Disk의 공간을 할당하는 중이당...좀 걸림ㅠ.ㅠ)

   

(Virtual device node를 SCSI 1:0으로 선택 후 OK)

다음 작업시엔 1:1, 그담엔 1:2... 이렇게 차례대로 선택

1-16을 3번 반복해서 ocfs2disk.vmdk (512MB), asmdisk1.vmdk (3GB), asmdisk2.vmdk (3GB), asmdisk3.vmdk (2GB)

네개의 가상 디스크를 생성한다. 그렇게 했다면 아래와 같음

   

1-17. network adaper 추가

(Edit virtual machine setting 클릭 후 Add... 클릭)

   

(Network Adapter 선택 후 next)

(Host-only: A private network shared with the host와 Connect at power on 선택 후 Finish)

   

(network adapter 하나 더 생긴 것 확인)

   

 1-18. 쓸모없는 Floppy Disk 제거

 (Remove로 없애버리자)

   

 

 (모든 설정 완료 후의 화면)

   

 1-19. 가상 머신 설정 파일 수정(두 대의 가상 RAC 노드 간에 디스크를 공유하기 위해서는 추가로 매개변수를 설정 요함)

 

 (D:\vm\rac\rac1 폴더안에 rac1.vmx파일 우클릭 후 wordpad로 연다)

   

 

 (위와 같이 아래의 내용을 추가시킨다)

disk.locking = "FALSE"

diskLib.dataCacheMaxSize = "0"

scsi1.sharedBus = "virtual"

scsi1:0.deviceType = "disk"

scsi1:1.deviceType = "disk"

scsi1:2.deviceType = "disk"

scsi1:3.deviceType = "disk"

   

 2-1. 첫 번째 가상 머신에 Enterprise Linux 설치하기

 (요 초기화면에서 CD/DVD 더블클릭)

   

 

 (USE ISO image file 선택하고 엔터프라이즈 리눅스 ISO파일 중 첫번째 파일 선택 후 OK, 상단의 start virtual machine 실행)

   

 2-2. 설치 초기화면 등장 두둥~

 

 (박력있게 엔터를 치자!!)

   

 2-3. 미디어 테스트 수행 여부

 (ISO 이미지 파일이기 때문에 테스트 불필요, Skip)

   

 2-4. Welcome to Enterprize Linux

 (펭귄이 우릴 반겨준다. Next)

   

 2-5. Language Selection

 

 (English 선택, Next)

   

 2-6. Keyboard Configuration

 

 (U.S.English 선택 후 Next)

   

2-7. Installation Type

(Custom 선택, Next)

   

2-8. Disk Partitionning Setup

(Manually partition with Disk Druid 선택, Next)

   

(팝업창 뜨면 Yes 몇번 눌러주세용~)

   

2-9. Disk Setup

(맨위에 있는 /dev/sda 더블 클릭)

(위와 같이...하고 OK)

(/dev/sda/역영의 free부분 다시 더블 클릭)

(위와 같이 설정 후 OK)

(다시 /dev/sda 의 free영역을 더블클릭)

(위와 같이 설정 후 역시 OK)

(파티션 설정 잘 됬당... 확인 후 Next)

   

2-10. Boot Loader Confiruation

(어차피 하나밖에 없지만 /dev/sda1선택 후 Next)

   

2-11. Network Configuation

(eth0 선택, Edit, 위와 같이 설정 후 OK)

(eth1 선택, Edit 클릭, 위와 같이 설정 후 OK)

(host name을 위와 같이 manually로 rac1.mycorpdomain.com이라고 입력, Gateway를 위와 같이 입력 후 Next)

(Continue 클릭)

   

2-12. Firewall configuration

(No firewall 선택, Enable SELinux?: Active 설정 후 Next)

*방화벽이 활성화된 경우, ocfs2 파일 시스템을 마운트하는 과정에서 "mount.ocfs2: Transport endpoint is not connected while mounting" 에러가 발생할 수 있다네용..^^

(Proceed 클릭)

   

2--13. Additional Language Support

(korean 선택해주고 Next)

   

2-14. Time Zone Selection

(Asia/Seoul 선택, Next)

   

2-15. Set Root Password

(root 계정의 패스워드 입력 하고 Next)

   

2-16. Package Group Selection

  • X Window System을 선택합니다.
  • GNOME Desktop Environment를 선택합니다.
  • Editors를 선택합니다.
    • Details를 클릭하고 사용할 텍스트 편집기를 선택합니다.
  • Graphical Internet을 선택합니다.
  • Text-based Internet을 선택합니다.
  • Office/Productivity를 선택합니다.
  • Sound and Video를 선택합니다.
  • Graphics를 선택합니다.
  • Server Configuration Tools를 선택합니다.
  • FTP Server를 선택합니다.
  • Legacy Network Server를 선택합니다.
    • Details를 클릭합니다.
      • rsh-server를 선택합니다.
      • Sstrong>telnet-server를 선택합니다.
  • Development Tools를 선택합니다.
  • Legacy Software Development를 선택합니다.
  • Administration Tools를 선택합니다.
  • System Tools를 선택합니다.
    • Details를 클릭합니다. 디폴트로 선택된 패키지와 별도로 아래 패키지를 선택합니다.
      • ocfs-2-2.6.9-42.0.0.0.1EL(UP 커널을 위한 드라이버)을 선택하거나, 또는 ocfs-2-2.6.9-42.0.0.0.1ELsmp(SMP 커널을 위한 드라이버)를 선택합니다.
      • ocfs2-tools를 선택합니다.
      • ocfs2console을 선택합니다.
      • oracle oracleasm-2.6.9-42.0.0.0.1EL(UP 커널을 위한 드라이버)를 선택하거나, 또는 oracleasm-2.6.9-42.0.0.0.1ELsmp(SMP 커널을 위한 드라이버)를 선택합니다.
      • sysstat을 선택합니다.
  • Printing Support를 선택합니다.

(Legacy Network Server Detail 설정 화면)

(System Tools Detail 설정 화면)

* UP 커널을 위한 드라이버(ocfs-2-2.6.9-42.0.0.0.1EL) 선택시 뒤에 어려움이 있으므로 SMP 커널을 위한 드라이버(ocfs-2-2.6.9-42.0.0.0.1ELsmp) 를 선택하자.

   

2-17. About to Install

(설치를 위한 준비 끝~ Next)

(Continue 눌러주고 고고싱)

(중간에 ISO 이미지 파일 바꿔 주면서 계속~~~^^)

   

2-18. 시스템 재시작

(Reboot 클릭하면 재부팅 되고 마무리 설정단계 수행)

(별거 읍다... Next)

(동의 해주고 Next)

(날짜랑 시간 설정하고 Next)

(Display 만질 필요 없다...Next)

(그냥 공란으로 두고 Next 이어지는 팝업 창에서 Continue)

(소리 들을 필요는 없을듯..ㅋㅋ Next)

(이따 패키지 설치 할꺼니까 여기선 그냥 Next)

(Operating System 설치가 완료 됬당. Next)

(로그인 화면 떳샤~~~~ Username : root Password : 자기 마음대로)

   

2-19. VMware Tool 설치

(메뉴에 VM - Install VMware Tools 클릭)

(바탕화면에 VMware Tools라고 쓰여진 씨디가 나타난당 고놈 더블클릭)

(rpm 파일 더블클릭)

(패키기의 의존성 검사 등 수행 후 Continue 버튼 활성화 되면 클릭)

(패키지가 설치 된당)

(터미널 열고 위와 같이 실행)

(원하는 디스클레이 크기를 선택)

(게스트 OS와 호스트 OS의 시간을 동기화 시키기 위해 터미널에서 vmware-toolbox 실행하고 위와 같이 설정한다)

* Oracle Clusterware와 Oracle Database 소프트웨어를 설치하는 과정에서 오라클 인스톨러는 먼저 로컬 노드에 소프트웨어를 설치한

후 원격 노드에 소프트웨어를 카피하는 작업을 수행합니다. 양쪽 RAC 노드의 날짜와 시간이 동기화되지 않은 경우 아래와 같은

에러가 발생할 수도 있습니다.

"/bin/tar: ./inventory/Components21/oracle.ordim.server/10.2.0.1.0: time

stamp 2006-11-04 06:24:04 is 25 s in the future"

따라서 Oracle RAC 설치를 수행하기 전에, 가상 머신과 호스트 머신의 시간을 동기화해 주어야 합니다. root 사용자로 로그인하여

위, 아래의 작업을 실행하여 시간을 동기화합니다.

(vi /boot/grub/grub.conf로 열어서 root=LABEL=/ rhgb quiet 옆에 clock=pit nosmp noapic nolapic 라고 적어준다.)

(그리고 재부팅...^^)

   

 2-20. 오라클 사용자의 생성 (root로 수행)

 

   

2-21. 오라클 사용자 환경 파일 생성

(습관적으로 .bash_profile로 했다가 나중에 안되서 마음이 아팠다..ㅋㅋ .profile을 생성해야 한당)

(.profile 에 위와 같이 작성하자!! 오타 주의!!)

   

2-22. 파일시스템 디렉토리 생성 (oracle 계정으로 수행 ex) su - oracle )

   

2-23. oracle 사용자의 Shell Limit 설정 (root 계정으로 수행)

(vi /etc/security/limits.conf)

oracle soft nproc 2047

oracle hard nproc 16384

oracle soft nofile 1024

oracle hard nofile 65536

(vi /etc/pam.d/login)

session required /lib/security/pam_limits.so

(vi /etc/profile)

if [ $USER = "oracle" ]; then

    if [ $SHELL = "/bin/ksh" ]; then

        ulimit -p 16384

        ulimit -n 65536

    else

        ulimit -u 16384 -n 65536

    fi

fi

   

2-24. Package 설치

(엔터프라이즈 리눅스의 3번째 이미지 파일을 위와 같이 실행)

(CD가 마운트 되었다)

(libaio-0.3.105-2.i386.rpm 을 root's home 으로 복사)

(openmotif21-2.1.30-11.RHEL4.6.i386.rpm 을 root's home으로 복사)

(터미널 열고 위와 같이 수행)

   

2-25. 커널 매개변수 설정

(vi /etc/sysctl.conf)

kernel.shmall = 2097152

kernel.shmmax = 2147483648

kernel.shmmni = 4096

kernel.sem = 250 32000 100 128

fs.file-max = 65536

net.ipv4.ip_local_port_range = 1024 65000

net.core.rmem_default = 1048576

net.core.rmem_max = 1048576

net.core.wmem_default = 262144

net.core.wmem_max = 262144

변경 사항을 즉시 적용하기 위해 /sbin/sysctl -p 를 실행

(vi /etc/hosts)

127.0.0.1 localhost

192.168.2.131 rac1.mycorpdomain.com rac1

192.168.2.31 rac1-vip.mycorpdomain.com rac1-vip

10.10.10.31 rac1-priv.mycorpdomain.com rac1-priv

192.168.2.132 rac2.mycorpdomain.com rac2

192.168.2.32 rac2-vip.mycorpdomain.com rac2-vip

10.10.10.32 rac2-priv.mycorpdomain.com rac2-priv

   

2-26. hangcheck-timer 커널 모듈의 설정

(vi /etc/modprobe.conf)

options hangcheck-timer hangcheck_tick=30 hangcheck_margin=180

* hangcheck timer 커널 모듈은 시스템의 상태를 모니터링하고 장애가 발생한 RAC 노드를 재시작합니다.

노드의 장애 상황을 파악하기 위해 사용되는 두 가지 매개변수로 hangcheck_tick(시스템 모니터링 빈도 정의)과

hangcheck_margin(RAC 노드의 리셋을 수행하기 위한 최대 지연 허용 시간)이 있습니다.

모듈을 즉시 로드하기 위해 "modprobe -v hangcheck-timer" 명령을 실행

   

2-27. OCFS2, Oracle ASM을 위한 디스크 파티션 생성 (root 계정으로 수행)

# fdisk /dev/sdb

# fdisk /dev/sdc

# fdisk /dev/sdd

# fdisk /dev/sde

# fdisk -l

위와 같이 파티션이 생성된 것을 확인 할 수 있다.

   

2-28. oracleasmlib 패키지 설치

(oracleasmlib-2.0.4-1.el4.i386.rpm과 oracleasm-support-2.1.3-1.el4.i386.rpm 는 첨부파일에 있음)

(oracleasm-2.6.9-42.0.0.0.1.ELsmp-2.0.3-2.i686.rpm 은 엔터프라이즈 리눅스 3번 씨디에 있음)

(잘 설치 되었음을 확인^^)

   

2-29. ASM 디스크를 위한 로우 디바이스 매핑

(vi /etc/sysconfig/rawdevices)

/dev/raw/raw1 /dev/sdc1

/dev/raw/raw2 /dev/sdd1

/dev/raw/raw3 /dev/sde1

   

(매핑을 즉시 적용하기 위해 # /sbin/service rawdevices restart 수행)

(oracle 사용자와 dba 그룹에 권한 부여 및 확인)

(oracle user로 위와 같이 수행)

   

(vi /etc/udev/permissions.d/50-udev.permissions)

# raw devices

ram*:root:disk:0660

#raw/*:root:disk:0660

raw/*:oracle:dba:0660

   

   

   

   

출처 : http://blog.naver.com/chosuky?Redirect=Log&logNo=100091891048

반응형

+ Recent posts