수동으로 다수 데이터베이스 생성 + EM

시나리오

: 엔진이 설치된 서버에 다수의 데이터베이스를 수동으로 생성하여 EM 을 실행한다.

작업시 주의 사항 : ORACLE_SID 는 .bash_profile 에서 넣지 않고 작업 할때 export 명령을 이용하여 ORACLE_SID 으로 설정한다.

폴더 구조는 다음과 같다.

/home/oracle/
 - db1/
 - db2/
 - db3/

기본 환경

ORACLE SID : testdb1
database directory : /home/oracle/db1

ORACLE SID : testdb2
database directory : /home/oracle/db2

ORACLE SID : testdb2
database directory : /home/oracle/db3


작업 순서
1. OS 설치
2. OS 패치
3. Oracle 설치 환경 설정
4. Oracle 엔진 설치
5. Oracle 엔진 패치
6. parameter file 생성
7. 리스너 설정 
8. database 생성
9. 필수 스크립트 실행
10. emca 실행
11. em 접속 

1. OS 설치
생략
2. OS 패치
생략
3. Oracle 설치 환경 설정
.bash_profile 의 ORACLE_SID 는 넣지 않는다.
이하 생략

4. Oracle 엔진 설치

5. Oracle 엔진 패치
-  10.2.0.5.0  버전에서는 EM 이 잘 안된다 아마 jvm 문제인듯??

6. parameterfile 생성

각 데이터베이스별 ORACLE_SID 를 따로 지정해야 한다. 

$ export ORACLE_SID=testdb1
$ cd /home/oracle/product/10g/dbs/



디렉토리의 init.ora  파일을 복사하여 inittestdb1.ora 를 만든다.

$ cp init.ora inittestdb1.ora 
$ vi inittestdb1.ora

db_name=testdb1
shared_pool_size=64M
db_create_file_dest=/home/oracle/db1/datafile
db_recovery_file_dest=/home/oracle/db1/flash 
db_recovery_file_dest_size=4G
undo_management=auto
undo_tablespace=undotbs1 




7. 리스너 설정 
silent mode 으로 리스너를 설정한다. 모든 과정을 통틀어 가장 중요하다고 할 수 있다.
responseFile 위치
oracle 엔진 압축 파일을 해제한 곳에 위치한다.

vi /home/oracle/database/response/netca.rsp 


-- testdb1 은 변경 할 내용이 없다.

리스너 생성

$ netca /silent /responseFile /home/oracle/ins/database/response/netca.rsp

명령줄 인수 분석:
    매개변수 "silent" = true
    매개변수 "responsefile" = /home/oracle/ins/database/response/netca.rsp
명령줄 인수 분석을 완료했습니다.
Oracle Net Service 구성:
프로파일 구성이 완료되었습니다.
포트에서 시작한 리스너:1521
Oracle Net 리스너 시작:
    실행 중인 리스너 제어:
      /home/oracle/product/10g/bin/lsnrctl start LISTENER
    리스너 제어가 완료되었습니다.
    리스너가 성공적으로 시작되었습니다.
리스너 구성이 완료되었습니다.
기본 로컬 이름 지정 구성을 완료했습니다.
Oracle Net Service 구성을 성공했습니다. 종료 코드는 다음과 같습니다. 0



리스너 파일 생성 위치
리스너구성을 완료하면 아래위치에 파일(listener, tnsnames)이 생성된다. 

$ ls /home/oracle/product/10g/network/admin/


listener.ora  samples  shrept.lst  sqlnet.ora  tnsnames.ora


Listener.ora
미리 testdb2, testdb3 까지 모두  넣은예제임.

SID_LIST_LISTENER =
  (SID_LIST =
    (SID_DESC =
      (SID_NAME = PLSExtProc)
      (ORACLE_HOME = /home/oracle/product/10g)
      (PROGRAM = extproc)
    )
  )

LISTENER =
  (DESCRIPTION_LIST =
    (DESCRIPTION =
      (ADDRESS = (PROTOCOL = IPC)(KEY = EXTPROC2))
      (ADDRESS = (PROTOCOL = TCP)(HOST = server15)(PORT = 1521))
      (ADDRESS = (PROTOCOL = TCP)(HOST = server15)(PORT = 1522))
      (ADDRESS = (PROTOCOL = TCP)(HOST = server15)(PORT = 1523))
    )
  )



tnsnames.ora


testdb1 =
  (DESCRIPTION =
    (ADDRESS_LIST =
      (ADDRESS = (PROTOCOL = TCP)(HOST = 192.168.0.15)(PORT = 1521))
    )
    (CONNECT_DATA =
      (SERVICE_NAME = testdb1)
    )
  )
testdb2 =
  (DESCRIPTION =
    (ADDRESS_LIST =
      (ADDRESS = (PROTOCOL = TCP)(HOST = 192.168.0.15)(PORT = 1522))
    )
    (CONNECT_DATA =
      (SERVICE_NAME = testdb2)
    )
  )
testdb3 =
  (DESCRIPTION =
    (ADDRESS_LIST =
      (ADDRESS = (PROTOCOL = TCP)(HOST = 192.168.0.15)(PORT = 1523))
    )
    (CONNECT_DATA =
      (SERVICE_NAME = testdb3)
    )
  ) 


위와 같이 연결을 한 다음에 아래 명령어를 이용하여 테스트를 한다.

 lsnrctl 
> status
> stop
> start 

tnsping ( testdb1 | testdb2 | testdb3 )
8. database 생성



9. 필수 스크립트 실행

  http://tawool-oracle.tistory.com/235  참고


10. emca 실행
 
 emca -repos create
 emca -config dbconsole db
 
11. em 접속 

접속이 안된다면 listener 와 tnsname 을 테스트 한다.


lsnrctl stop
lsnrctl start
tnsping [servername]
 





옵션

DBCA 를 이용한 ASM silent 

pvcreate
lgcreate
lvcreate
oracleasm

1. vi /home/oracle/database/response/dbca.rsp
2. [CONFIGUREASM] 을 찾는다 (946 라인 다를 수 있음)
3. 





&


'Oracle > Administrator' 카테고리의 다른 글

Database 삭제  (0) 2012.03.29
EMCA 실행시 DBSNMP Password 실패  (0) 2012.03.29
관리 쿼리 모음  (0) 2012.03.11
UNDO 와 Snapshot too old 에러  (0) 2012.02.26
External Tables 외부 테이블  (0) 2011.09.29