다중 노드 환경에서 하나의 데이터베이스를 공유하는 클러스터 데이터베이스 솔루션
Oracle Database를 확장하는 것으로, 다른 서버 상에서 여러 개의 데이터베이스 인스턴스를 사용해서 data를 동시에 저장하고, 변경 및 효과적으로 조회가 가능하도록 한다
Oracle RAC는 여러 서버 이른바 클러스터 동작을 가능하게 하는 소프트웨어를 제공한다.
Database를 구성하는 데이터파일은, 클러스터에 포함되는 모든 서버로부터 Access 가능한 Shared Disk에 존재해야 한다.
Cluster 내 각 서버에서의 Oracle RAC Software가 실행된다.
RAC환경에서는 여러 개의 인스턴스에 따라 1개의 Database File에 Access 가능하다.
Instance는 다른 여러 개의 서버(Host 혹은 Node라고 불림) 위에 올라간다.
Oracle RAC는 Cache fusion을 사용해서 각 데이터베이스 인스턴스의 Buffer Cache에 저장된 데이터를 동기화한다.
srvctl
Cache Fusion에서는 어떤 데이터베이스 인스턴스가 Data Block을 디스크에 쓰도록 하여 다른 데이터베이스 인스턴스에도 데이터 블록을 디스크로부터 재요청해서 읽도록 하지 않고 현재 데이터 블록(memory에 상주)을 데이터베이스 인스턴스간 이동한다.
어떤 인스턴스의 Buffer Cache에 존재하는 데이터블록이 별도의 인스턴스에서 필요하게 되면, Cache Fusion은 Inter connect를 사용해서 그 데이터 블록을 Instance간에 직접 전송한다.
그렇기 때문에, Oracle Database에서는 Data Access 및 데이터 변경을 데이터가 1개의 버퍼 캐시로 존재하는 것처럼 수행이 가능하다.
crsctl