
Database 생성✅ oracle 유저로 접속해서 DBCA (Database Configuration Assistant)를 실행합니다.dbcaCreate a database 을 체크하고 Next 버튼을 클릭합니다.Advanced configureation을 선택하고 Next 버튼을 클릭합니다.✅ Database type을 Oracle Real Application Clusters (RAC) database(기본값)를 선택 합니다.✅ Configuration type은 Admin Managed (기본값)를 선택합니다.✅ General Purpose or Transaction Processing을 선택하고 Next 버튼을 클릭합니다.전체 노드에서 데이터베이스를 생성해야 하므로 모든 노드를 선택하고 Next..

ASM 디스크 그룹 추가ASM 디스크 그룹을 추가로 생성하기 위해 grid 유저에서 ASMCA를 실행합니다.grid_envasmcaGUI 모드에서 ASMCA에서 Disk Groups를 추가합니다.(ASMCA 실행 화면)Disk Group Name에 DATA를 입력하고 Redundancy는 Extermal(Nome)으로 지정합니다.DATA001 디스크를 체크하고 OK 버튼을 클릭합니다.FRA 그룹을 추가하기 위해 Disk groups 창에서 Create버튼을 클릭합니다.Disk Group Name에 FRA를 입력하고 Redundancy는 Extermal(Nome)으로 지정합니다.FRA001 디스크를 체크하고 OK 버튼을 클릭합니다. 디스크 그룹 추가 작업이 완료되었으면 Exit 버튼을 클릭합니다.클러스터..

Grid Infrastructure 설치GRID 설치 시작 (root로 접속 후 su - oracle로 접속하면 에러가 발생할 수 있다.oracle 유저로 접속 후 grid 설치 진행)grid_envcd $GRID_HOME./gridSetup.sh소프트웨어 구성 옵션 선택새 클러스터에 대한 Oracle Grid Instructure 구성 (rac)독립 서버에 대한 Oracle Grid Instructure 구성 (싱글에서 오라클 asm 구성할때)Oracle Grid Instructure 업그레이드 (그리드 버전 업그레이드 할 때가 있다. 이때 하는거지만 보통 그리드는 지우고 다시 설치한다.)소프트웨어만 설정클러스터 구성 선택클러스터종류관련 문서첫번째꺼 한다.(용어 찾기)Oracle 독립형 클러스터는 모든..
GRID Infrastructure 설치 사전 작업GRID_HOME 경로 생성1번 노드 oracle 계정으로 접속한 후 grid 환경변수로 넘어간다.$GRID_HOME 경로에 디렉토리를 생성한다. oracle 계정에서 실행[racdb1:/home/oracle]> grid_env[+ASM1:/home/oracle]> mkdir -p $GRID_HOMEGRID 설치파일 업로드GRID_HOME에 grid 설치파일을 넣어준다.Grid 설치파일 압축 해제[+ASM1:/u01/app/19c/grid]> unzip LINUX.X64_193000_grid_home.zipcvuqdisk 패키지 설치패키지 설치 중 "오류: can't create transaction lock on /var/lib/rpm/.rpm.lock..

공유 스토리지 구성스토리지 구성가상 스토리지 파일 생성공유 스토리지 가상 디스크 생성위에 스토리지 구성에 따라 가상 하드를 만들어준다.다음처럼 미리 전체크기 할당을 선택해준다.VM에 스토리지 연결RAC1 설정에 들어가 저장소를 선택 후 컨트롤러에서 스토리지를 추가한다.ASM 환경 구성ASM 환경 설정Oracle ASM 설정 및 시작 (oracle, oinstall, y, y 입력)[root@rac1 ~]# oracleasm configure -iConfiguring the Oracle ASM library driver.This will configure the on-boot properties of the Oracle ASM librarydriver. The following questions will..
보안 설정보안 설정을 위해 selinux 모드를 변경한다.vi를 통해 /etc/selinux/config에서 SELINUX 부분을 수정한다.vi /etc/selinux/configSELINUX=disabled hosts 파일 수정그후 호스트 파일 수정vi /etc/hosts### Public10.0.2.15 rac1 rac1.localdomain10.0.2.16 rac2 rac2.localdomain### Private192.168.56.101 rac1-priv rac1-priv.localdomain192.168.56.102 rac2-priv rac2-priv.localdomain### Virtual10.0.2.150 rac1-vip rac1-vip.loca..

해당 블로그를 참고해 작성했다.https://lemonandgrapefruit.tistory.com/275 Oracle 19c RAC 설치(1) - RAC1 VM 설치 (Oracle Linux 7.6 설치)RAC 설치 사전 준비사항 - VirtualBox - Oracle Enterprise Linux 7.6 - Oracle Grid 19.3 - Oracle Database 19.3 Oracle Linux 다운로드 링크 https://yum.oracle.com/oracle-linux-isos.html Oracle Grid, Oracle Database 다운로드 링크 https://www.lemonandgrapefruit.tistory.com 이전 개요에서 한것처럼 우선 가상머신을 설정할 예정이다.- Vm..

오라클 RAC를 가상머신에 설칠할 예정이다.설치 시나리오는 다음과 같다. 1. 머신1 설정2. 머신2 복사3. RAC 세팅 마무리 이런식으로 진행 될 예정이다. 우선 오라클 RAC에 대해 알아보자https://myalpaca.tistory.com/17 Oracle RAC 개념(Cluster, 구성요소)Oracle RAC 개념 Oracle RAC는 여러 개의 Instance가 하나의 Database를 엑세스 할 수 있다. 이는 application에서 접속할 수 있는 통로는 여러 개이며 Database는 하나인 형태이다. Oracle RAC = N개의 Instance + 1개의 Dmyalpaca.tistory.com이 사이트를 참고했다.Oracle RAC = N개의 Instance + 1개의 Databas..
오라클이란 오라클이란 미국의 오라클 회사에서 제작한 세계 점유율 1위 데이터베이스 관리 시스템이며 현재 유닉스 체제에서 가장 많이 사용되는 DBMS이다. 오라클 장점 관리시스템 Multiple databases 튜닝 가능하다. 다수의 사용자가 동시에 접근이 가능하다. 변화관리 변경 plan을 작성하고 실제 구현하기 전에 변경 사항의 효과를 볼 수 있다. 생산 시스템을 방해하지 않는다. 경고 오류가 발생하면 설정되어 있는 계정 및 이메일로 연락이 온다. 경고는 에정된 가종 정지 시간 동안 차단 될 수 있다. 분산처리 DBMS 실행 컴퓨터 / 서버 역할 컴퓨터 / DB 응용 프로그램 실행 컴퓨터 다르게 분산처리한다. 용량&처리 다른 데이터베이스보다 고성능의 트랜잭션을 처리한다. Cost 비용을 최소화 하기 ..

MySQL의 timestamp에 값이 9시간 전의 시간으로 설정되어 있을 경우 타임존이 기본으로 되어 있을 것이다. 이것을 수정하기 위해선 다음과 같이 진행 하면 된다. 우선 다음을 입력해 해당 타임존을 확인한다. select @@global.time_zone, @@session.time_zone,@@system_time_zone; 다음 처럼 나온다면 타임존이 설정되지 않은 것이다. SET GLOBAL time_zone='Asia/Seoul'; SET time_zone='Asia/Seoul'; 또는 SET GLOBAL time_zone='+09:00'; SET time_zone='+09:00'; 두 코드 중 아무것이나 선택해 적용하면 시간이 제대로 나올 것이다.

이미 실행된 query log를 확인하는 방법이다 단 이 방법을 미리 읽고 설정을 적용해 놔야 사용할 수 있다. 일반적으로는 쿼리를 통한 성공 실패여부에 대해서는 log 또는 쿼리실행 결과문에서 바로 보여지는 부분이지만 어떤시간에 얼마나 어떤 Query들이 사용됐는지 보기 위해서는 log를 확인해야 한다. MySQL의 실행된 Query log확인 방법은 다음과 같다. 1. show variables like 'general%'; 명령어 실행 해당 명령어는 Query 입력창에 실행하며 아래 그림과 같이 general_log에 value 값이 OFF로 되어있다면 ON으로 변경 해야 log가 쌓이게 되며, 해당 log위치는 general_log_file의 value값에 존재하는 위치에 쌓이게 된다. 2. se..
DB 공부 - 1 (tistory.com) DB 공부 - 1 Effective SQL : SQL 코딩의 기술 : 네이버 도서 (naver.com) Effective SQL : SQL 코딩의 기술 : 네이버 도서 네이버 도서 상세정보를 제공합니다. search.shopping.naver.com 해당 책을 읽으면서 알게된 것들을 기록해 kosari5948.tistory.com DB공부 - 2 (tistory.com) DB공부 - 2 DB 공부 - 1 (tistory.com) DB 공부 - 1 Effective SQL : SQL 코딩의 기술 : 네이버 도서 (naver.com) Effective SQL : SQL 코딩의 기술 : 네이버 도서 네이버 도서 상세정보를 제공합니다. search.shopping.na..
DB 공부 - 1 (tistory.com) DB 공부 - 1 Effective SQL : SQL 코딩의 기술 : 네이버 도서 (naver.com) Effective SQL : SQL 코딩의 기술 : 네이버 도서 네이버 도서 상세정보를 제공합니다. search.shopping.naver.com 해당 책을 읽으면서 알게된 것들을 기록해 kosari5948.tistory.com 다음에서 이어진다. 22- 대부분의 데이터 모델에는 이미 더 높은 정규화가 적용 되어 있을 가능성이 높다. 따라서 더 높은 정규화 형식을 명확히 위반하는지 면밀히 관찰해야 한다. 특히 복합키를 사용하거나 여러 다대다 관계에 참여하는 테이블일때는 더욱 그렇다. 23- 한 엔티티 에서 관계가 없는 두 속성으로 가능한 모든 조합을 해당 엔티..
Effective SQL : SQL 코딩의 기술 : 네이버 도서 (naver.com) Effective SQL : SQL 코딩의 기술 : 네이버 도서 네이버 도서 상세정보를 제공합니다. search.shopping.naver.com 해당 책을 읽으면서 알게된 것들을 기록해본다. 1- 모든 테이블에는 하나 또는 일련의 컬럼으로 구성된 기본 키가 있어야 한다. 2- 키가 아닌 컬럼에 중복 값이 들어갈까 봐 걱정이 된다면, 해당 컬럼에 유일 인덱스를 정의해 무결성을 확보할 수 있다. 형태가 가능한 간단하고 값을 갱신할 필요가 없는 컬럼을 키로 사용한다. 3- 데이터를 중복으로 저장하면 일관되지 않은 데이터, 비정상 적인 삽입·갱신·삭제 처리, 디스크 공간 낭비 등 많은 문제 를 일으킨다. 정규화(Normali..
DB에 이미지를 저장하는 방법은 여러가지가 있다 하지만 DB에 이미지를 직접 저장한다면 3~4MB이상만 되어도 병목이 생길 수 있다는 이야기가 있기 때문에 추천하지 않는다. 따라서 나는 특정 폴더를 만들어서 해당 폴더에 이미지를 저장하고 그 주소를 DB에 저장하는 방식을 선택했다. 이 방식의 경우 백엔드에서 동일한 이름의 파일이 들어오게 될경우 충돌이 일어날 수 있다. 이때는 파일을 저장하기 전 파일이름에 날짜 시간 초를 추가해서 저장한다면 해당 문제를 해결할 수 있다. (ex. 202305220800-eximg.img) 물론 이 방식의 경우 파일이름에 -가 들어 간다면 어디까지가 날짜인지 확인하지 못하는 문제가 나올 수 있기 때문에 첫번째 -를 기준으로 나누거나 파일을 저장하기 전 -를 빼고 저장하는 ..