난 어제 수업도 중간부터 못따라갔기 때문에 오늘은 스크린샷 못찍어 ㅠㅠ
그냥 필기만 하겠음.
퍼티로 접속
그리드 sw 설치한 거 확인하기
[oracle@rac1 ~]$ crs_stat -t
오프라인으로 떨어져있는 것도 있지만 온라인으로 되어 있는 것도 있다.
[oracle@rac2 ~]$ crs_stat -t
rac2 에서 해봤을 때도 똑같은지 확인해보기
rac1 에서 조회하면 rac2 가 보여야 되고
rac2 에서 조회하면 rac1 이 보여야 한다.
(한쪽만 보이면 안된다)
이제 오라클 소프트웨어 설치하기
Xterm 띄우기
(만약 공유 폴더가 안되면 FTP 로 오라클 설치해야 하는 계정 쪽으로 옮기기)
[oracle@rac1 ~] cd /media/sf_rac_/database
[oracle@rac1 database] ls
pwd
cd
[~] ls -l
cd database
[database] ls -l
이렇게 해보면 : 공유 폴더로 넣은 것들은 상관없지만
FTP 를 이용했을 경우 runInstaller 가 읽기만 가능하도록 되어 있는 경우가 있다.
이럴 때는 권한 주기
[database] cd
[oracle@rac1~]chmod -R 775
권한 확인하기
cd database
[database] ls -l
[database] db_env
[database] echo $ORACLE_HOME
아무것도 안나온다.
[database] echo $ORACLE_SID
racdb1 이라고 나옴
[database] ls -al
cd
[~] ls -al
[~] cat .db_env
[~] cat .bashrc
[~] echo $ORACLE_SID
racdb1
rac1 생성할 때 인스턴스 = racdb1
퍼티 rac2 쪽에서
[oracle@rac2 ~] db_env
[~] echo $ORACLE_SID
racdb2
퍼티 rac1 쪽에서도 해보기
db_env
echo $ORACLE_SID
racdb1
rac1 에서는 racdb1 이 나와야 하고 rac2 에서는 racdb2 가 나와야 한다.
rac2 쪽에서
cat .db_env
ORACLE_SID 가 얼마로 되어있는지 확인해보기
이제 다시 Xterm 에서
(한쪽 노드에서 설치하면 다른 쪽에 복제가 된다)
[oracle@rac1~] cd database/
ls
./runInstaller
# oracle s/w install
[oracle@rac1 ~]$ db_env
[oracle@rac1 ~]$ echo $ORACLE_SID
racdb1
[oracle@rac1 ~]$ ./runInstaller
설치 창은 여기서부터
1/9
이메일이랑 my oracle support password 창 나오면 > 체크박스만 해제 > next > Yes
2/9
Install database software only 선택 > nxt
3/9
두번째 Real 어쩌고 > rac1 , rac2 선택 > 왼쪽 아래 SSH 버튼 선택
OS password: oracle 입력 > setup > 뭐가 돌아간다.
성공했다고 뜨면 > OK > next
4/11
언어는 영어로 되어있는 채로 (아무것도 안건드리고) next
5/11
위에 있는 엔터프라이즈 선택
select options 클릭 > partitioning 도 돈내고 사야 한다.
라이센스 구매하지 않았으면 체크 해제해야 함
그냥 구경만 하고 cancel 누르기 (아무것도 체크 해제 안함) > next
6/11
두번째 네모칸 software location 에서 맨 끝부분이 dbhome_2 로 되어있으면 꼭
dbhome_1로 고쳐주기
/u01/app/oracle/product/11.2.0/dbhome_1
(주소는 선생님 거랑 내거랑 다를 수 있다)
> next
> 뭐가 돌아간다.
7/11
dba / oper 로 되어있는 채로
next
8/11
뭔가 설치가 되다가 >
Checks
Architecture
Packages
Package: kernel-headers-2.6.18 failed
하면서 아래에 막 뭐라고 메시지가 뜬다.
Checks
Architecture failed
Packages
Package: kernel-headers-2.6.18
오른쪽 위 ignore all 클릭 > next
9/11
summary 나오면 > finish
10/11
설치가 진행된다.
인고의 시간...
설치 막바지에 가면 11g 설치할 때 떴었던 그 이상한 오류가 또 뜰 텐데
그건 그때 가서 고쳐보기로 하자.
한 56퍼센트 정도 진행했을 때 오류 발생함.(사진찍어놓음)
오류 창 손대지말고 그냥 그대로 놔두기
해결하고 나서 retry 하고 continue 해야 함
첫번째로 나온 파일주소
/u01/app/oracle/product/11.2.0/dbhome_1/sysman/lib/ins_emagent.mk
얘 복사
(그 아래 파일주소는 로그파일)
rac1 터미널로 와서
vi 편집기로 저 문제되는 파일 열기
vi /u01/app/oracle/product/11.2.0/dbhome_1/sysman/lib/ins_emagent.mk
문자열 찾기
:/emdctl
소문자 n 누르면 다음 거 찾아진다.
여기서
(사진)
이거 수정하면 된다.
(사진)
#=========================
# emdctl
#=========================
$(SYSMANBIN)emdctl:
$(MK_EMAGENT_NMECTL) -lnnz11
빨간색으로 표시한 -lnnz11 (빼기 표시, 알파벳 엘, nnz, 숫자 11) 추가해주기
그리고 나서 다시 10/11 로 돌아가서 > retry > 또 뜨면 retry > 무시하고 continue
또 뜨면 또 retry > continue (retry 안누르고 그냥 continue 하면 안됨,
일단 retry 한번 해주고 그 다음에 또 뜨면 그때서야 continue 하는 것)
(이름만 다를 뿐 똑같은 오류가 계속 뜨는 것인데 그냥 retry > continue 가 답임)
그러면 지가 또 알아서 막 돌아간다. 선생님은 94퍼센트까지 가심.
설치 돌아가면 스크립트 돌리라고 나오는데
그건 또 이따가 하면 됨.
2교시
# shell script 수행 (rac1, rac2 모두에서)
쉘 프로그램을 돌리라고 나오면 > 양쪽 노드의 퍼티 root 계정에서 수행하면 된다.
/u01/app/oracle/product/11.2.0/dbhome_1/root.sh
얘 수행하기
엔터 > 엔터 > 엔터 치면 됨.
이렇게 되면 설치가 다 끝난 것
그리고 DB 생성 전에 ASM 디스크 그룹을 하나 만들어야 한다.
# oracle s/w 설치 종료
# 데이터베이스 생성하기 전에 asm disk group 생성
Xterm 으로 접속
(GUI 환경에서 해야 한다)
[oracle@rac1 database]$ cd
[oracle@rac1 ~]$ grid_env
[oracle@rac1 ~]$ echo $ORACLE_SID
+ASM1
[oracle@rac1 ~]$ . oraenv
ORACLE_SID = [+ASM1] ? (엔터)
The Oracle base for ORACLE_HOME=/u01/app/11.2.0/grid is /u01/app/oracle
툴 띄우기
툴 이름: ASMCA
[oracle@rac1 ~]$ asmca
그러면 사진 (11:11) 과 같은 화면이 뜬다.
맨 위 폴더들을 보면 Disk groups 도 있다.
여기서 맨 아래 왼쪽 create 클릭하면 > create disk group 창이 뜬다.
만약 창이 회색인 채로 아무것도 안보여주면 > 창 늘리기
맨 위 디스크 그룹 이름 칸에는 FRA 쓰기 (Flash Recover Area 라는 뜻)
그리고 아래 3개 단추 안에 External(None) 선택 (이중화 안함)
Show Eligible 인 채로 두고
/dev/ 2개 모두 선택 (사용할 디스크 선택하는 것) > OK
그러면 톱니바퀴 돌아가는 창이 나오고 성공했다는 메시지가 뜨면서
생성이 된다.
성공 > OK
다 끝나면 exit 누르고 > yes
(아래는 선생님이 써주신 윗부분 내용 요약정리)
# 디스크 그룹 생성
Disk Group name : FRA (그룹 이름은 고유한 이름으로)
Redundancy : External
디스크 추가 체크
# 데이터베이스 생성
DB를 생성하기 위해서는 xterm 에서 환경을
[oracle@rac1 ~]$ db_env
[oracle@rac1 ~]$ echo $ORACLE_SID
racdb1
[oracle@rac1 ~]$ . oraenv
ORACLE_SID = [racdb1] ? (엔터)
ORACLE_HOME = [/home/oracle] ? < 주소 잘못 나옴, 바꿔주기 (아래 파란색 부분처럼 입력하면 된다)
ORACLE_HOME = [/home/oracle] ? /u01/app/oracle/product/11.2.0/dbhome_1
The Oracle base for ORACLE_HOME= /u01/app/oracle/product/11.2.0/dbhome_1
그런 다음 dbca 툴 띄우기
[oracle@rac1 ~]$ dbca
그러면 창이 하나 뜨면서 어디서 많이 본 화면이 돌아간다.
(첫 화면: 사신의 낫)
(사진찍어놓음 11:24)
oracle real application... 으로 되어있는 채로 next
1/13
create database > next
2/14
3개 중에 맨 위에거 (글씨가 안보임) general purpose > next
3/13
위에서부터
admin-manage 선택
global database name에 racdb 입력
sid prefix racdb
select all 해서 rac1, rac2 둘다 왼쪽 하얀 네모칸에 뜨도록 하기
next
4/12
enterpise manager 폴더 그대로 두고
automatic maintenance Task 클릭 > 그대로 두고 next
뭔가 이상한 창이 뜨면 OK
5/12
use the same ... 선택되어 있다.
password 로 oracle 2번 입력 > next > 워닝 뜨면 yes
6/12
storage type: automatic storage...
use oracle-managed files 에 선택이 되어 있다.
그 아래 database area에 +DATA > next
Asm credentials 창에 비밀번호 oracle 입력> OK
7/12
specify falsh recovery area 에 선택되어 있다.
flash recovery area +FRA 로 되어있고
그 아래 사이즈는 3852
그대로 두고
Enable Archiving 클릭 > next
8/12
Sample Scheams 에서 Sample Scheams 클릭 > 넥스트
9/11
Show memory Distribution 클릭 > 구경
typical, use automatic... 클릭
custom 을 클릭하면 수동관리하게 됨
sizing 폴더 > processes 수 (이것도 라이센스) 150인 채로 두기
(이 150은 백그라운드 프로세스들도 포함)
Character set 폴더 > use the default 로 되어 있다.
Choose from the list of character set에서 KO16MSWIN949 - MS Windows Code Page 949 Korean
이거 하면 한글이 안 깨지고 나온다 + show recommended character sets only 체크
근데 얘를 쓰면 자국의 고유 문자를 쓸 때 다른 나라 문자가 들어오면 깨짐
글로벌한 회사이면 보통 Use Unicode(AL32UTF8) 씀
우리도 Use Unicode(AL32UTF8) 선택
그리고 DEFAULT LANGUAGE 는 american 으로
(이건 원래 디폴트 값이 이거였는지 아니면 american 으로 새로 선택했는지를 모르겠어...)
connection mode 폴더에서 dedicated (맨 위에 거) 선택
> next
10/11
컨트롤파일, 데이터파일, 리두로그파일 등등에 대한 정보를 볼 수 있다.
(폴더 클릭해보면서 구경하기) 손댄 거 하나도없음
> next
11/11
그냥 finish
그러면 summary 창이 뜬다 > OK
그러면 Database Configuration Assistant 가 돌아가면서 설치가 된다.
(사진 12:03)
이런 화면이 뜨더라도 겁내지 말기, 오류 아니고 그냥 warning임
OK 누르면 된다.
패스워드 관리 화면 나오면 > exit
설치 끝!
DB가 다 설치되면 > 접속해보기
퍼티 rac1 에서
[oracle@rac1 ~]$ .oraenv
ORACLE_SID = [racdb1] ?
ORACLE_HOME = [/home/oracle]? /u01/app/oracle/product/11.2.0/dbhome_1
[oracle@rac1 ~]$ sqlplus / as sysdba
[oracle@rac1 ~]$ select name from v$instance;
INSTANCE_NAME
--------------------------
racdb1
[oracle@rac1 ~]$ select name from v$database
NAME
--------
RACDB
rac2에서도 똑같이 해보기
[oracle@rac2 ~]$ .oraenv
ORACLE_SID = [racdb2] ?
ORACLE_HOME = [/home/oracle]? /u01/app/oracle/product/11.2.0/dbhome_1
[oracle@rac2 ~]$ sqlplus / as sysdba
[oracle@rac2 ~]$ select name from v$instance;
INSTANCE_NAME
--------------------------
racdb2
[oracle@rac2 ~]$ select name from v$database;
NAME
--------
RACDB
# rac1, rac2 모두 root 계정에서 설정 바꾸기
[oracle@rac1 ~]$ su -
password: oracle
[oracle@rac1 ~]# vi etc/oratab
문서 제일 아래에 보면 2줄이 만들어진 것이 보인다.
+ASM1:/u01/app/11.2.0/grid:Y # line added by Agent
racdb: /u01/app/oracle/product/11.2.0/dbhome_1:Y # line added by Agent
racdb1: /u01/app/oracle/product/11.2.0/dbhome_1:Y
(사진찍음 12시 18분)
오라클로 다시 가서
[oracle@rac1 ~]$ su - oracle
. oraenv
ORACLE_SID = [racdb1] ?
[oracle@rac1 ~]$ sqlplus / as sysdba
rac2 쪽에서도 똑같이 고쳐주기
[oracle@rac2 ~]# vi etc/oratab
+ASM1:/u01/app/11.2.0/grid:Y # line added by Agent
racdb: /u01/app/oracle/product/11.2.0/dbhome_1:Y # line added by Agent
racdb1: /u01/app/oracle/product/11.2.0/dbhome_1:Y
[oracle@rac2 ~]$ su - oracle
. oraenv
ORACLE_SID = [racdb2] ?
[oracle@rac2 ~]$ sqlplus / as sysdba
2024년 3월 11일 (학원에서의 마지막 날) (0) | 2024.03.11 |
---|---|
2024년 3월 8일 (4) | 2024.03.08 |
2024년 3월 6일 2교시 + 3교시 + 4교시 (0) | 2024.03.06 |
2024년 3월 4일 1교시 QUESTION. (0) | 2024.03.04 |
2024년 2월 29일 QUESTION. (0) | 2024.02.29 |