오라클 수동DB설치 정리
OCP라는 자격증을 취득 후 그다음 단계는 OCM이라는 자격증을 취득할 수 있다. 2010년도 그당시만 해도 OCM 자격증 취득자가 별로 없었다. 덤프를 외워서 취득할 수 있는 OCP와 달리 OCM은 실습도 있고 상당히 까다롭기 때문에 그만큼 자격증 취득 여부에 따라 회사에 들어갈때 그만큼 가산점을 얻을 수 있었다. OCM을 취득하기 위해 가장 첫번째 실습 시나리오가 바로 DB 수동 설치이다. 오늘은 DB 수동 설치 후 EM을 추가하는 것 까지 정리해 보고자 한다.
[CONTENTS]
1. 수동 DB 생성 (OCM 0 scenario)
2. DBMS_SPACE_ADMIN 을 이용한 Dictionary → Local migration
3. Enterprise Manager 추가
--수동 DB 설치 (SID-testdb)
1. Nomount 수행을 위한 구성
Parameter file (수동으로 생성해야 하므로 pfile 생성.)
$] cd $ORACLE_HOME/dbs
$] vi inittestdb.ora
-다음과 같이 파라메터 값을 입력한다.
#testdb.__db_cache_size=83886080
#testdb.__java_pool_size=4194304
#testdb.__large_pool_size=4194304
#testdb.__shared_pool_size=67108864
#testdb.__streams_pool_size=0
#*.background_dump_dest='/u01/app/oracle/admin/testdb/bdump'
#*.compatible='10.2.0.1.0'
#*.core_dump_dest='/u01/app/oracle/admin/testdb/cdump'
#*.db_domain=''
#*.db_recovery_file_dest='/u01/oradata/flash_recovery_area'
#*.db_recovery_file_dest_size=2147483648
#*.job_queue_processes=10
#*.nls_language='KOREAN'
#*.nls_territory='KOREA'
#*.open_cursors=300
#*.processes=150
#*.remote_login_passwordfile='EXCLUSIVE'
#*.user_dump_dest='/u01/app/oracle/admin/testdb/udump'
--필수 파라메터 값
*.db_name='testdb'
*.db_block_size=8192
*.db_file_multiblock_read_count=16
*.control_files='/u01/oradata/testdb/control01.ctl','/u01/oradata/testdb/control02.ctl'
*.pga_aggregate_target=16777216
*.sga_target=167772160
*.undo_management='AUTO'
*.undo_tablespace='UNDOTBS1'
> password file 생성
$ orapwd file = orapwtestdb password=oracle entries=5
>SID 변경
$ export ORACLE_SID=testdb
>필수 경로 사전 생성
ocp@orcl : /home/oracle> cd /u01/oradata/
ocp@orcl : /u01/oradata> mkdir testdb
ocp@orcl : /home/oracle> cd /u01/app/oracle/admin/
ocp@orcl : /u01/app/oracle/admin/> mkdir testdb
ocp@orcl : /u01/app/oracle/admin/> cd testdb
ocp@orcl /u01/app/oracle/admin/testdb> mkdir bdump udump cdump pfile adump
> $ sqlplus sys/oracle as sysdba
SQL> startup nomount
2. create database 구문 작성
$] vi credb.sql
다음과 같이 작성을 한다.
CREATE DATABASE testdb
LOGFILE
GROUP 1 ('/u01/oradata/testdb/redo01.dbf') SIZE 10M reuse,
GROUP 2 ('/u01/oradata/testdb/redo02.dbf') SIZE 10M reuse,
GROUP 3 ('/u01/oradata/testdb/redo03.dbf') SIZE 10M reuse
MAXLOGFILES 5
MAXLOGMEMBERS 5
MAXLOGHISTORY 1
MAXDATAFILES 100
MAXINSTANCES 1
DATAFILE '/u01/oradata/testdb/system01.dbf' SIZE 600M reuse
AUTOEXTEND on NEXT 10M MAXSIZE UNLIMITED
UNDO TABLESPACE undotbs1
DATAFILE '/u01/oradata/testdb/undotbs1.dbf' SIZE 100M reuse
AUTOEXTEND on NEXT 10M MAXSIZE 1000M
sysaux DATAFILE '/u01/oradata/testdb/sysaux01.dbf' SIZE 600M reuse
AUTOEXTEND on NEXT 10M MAXSIZE UNLIMITED
DEFAULT TEMPORARY TABLESPACE temp
TEMPFILE '/u01/oradata/testdb/temp01.dbf' SIZE 50M reuse
CHARACTER SET KO16MSWIN949
;
$ sqlplus sys/oracle as sysdba
SQL> @credb.sql -- 4분정도 소요
> database 상태 확인
SQL> select instance_name,status from v$instance;
> 유저 설정
SQL> alter user sys identified by oracle
SQL> alter user system identified by oracle
3. DATABASE INSTALL
$] vi dbinstall.sql
다음과 같이 입력한다
@@$ORACLE_HOME/rdbms/admin/catalog.sql
@@$ORACLE_HOME/rdbms/admin/catproc.sql
conn system/oracle
@@$ORACLE_HOME/sqlplus/admin/pupbld.sql
$] sqlplus sys/oracle as sysdba
SQL>@dbinstall.sql
--10분정도 소요됨
4. DBMS_SPACE_ADMIN을 이용한 Dictionary ->Local migration
SYS> select tablespace_name,extent_management form dba_tablespaces;
TABLESPACE_NAME EXTENT_MAN
------------------------------ ----------
SYSTEM DICTIONARY
UNDOTBS1 LOCAL
SYSAUX LOCAL
TEMP LOCAL
4 rows selected.
-- 현재 system tablespace가 dictionary 방식으로 되어 있는 걸 확인할 수 있고,
이것을 local 방식으로 이전수행 할 수 있다.
SYS> shutdown immediate
SYS> startup mount exclusive
SYS>alter database open;
-- 나머지 tablespace 중에 dictionary 방식의 tablespace가 있다면
해당 tablespace를 read only로 변경한다. (ex ? alter tablespace xxxx read only; )
SYS>alter tablespace sysaux offline;
--제한모드 설정
SYS>alter system enable restricted session;
SYS>select logins from v$instance;
LOGINS
----------
RESTRICTED
1 row selected.
--이전 수행
SYS>exec DBMS_SPACE_ADMIN.TABLESPACE_MIGRATE_TO_LOCAL('SYSTEM');
SYS> alter tablespace sysaux online;
SYS> alter system disable restricted session;
SYS> select tablespace_name,extent_management from dba_tablespaces;
TABLESPACE_NAME EXTENT_MAN
------------------------------ ----------
SYSTEM LOCAL
UNDOTBS1 LOCAL
SYSAUX LOCAL
TEMP LOCAL
4 rows selected.
5. EM (Enterprise Manager Database Control) 수동 구성
ocp@testdb : /home/oracle> export ORACLE_SID=testdb
ocp@testdb : /home/oracle> echo $ORACLE_SID
testdb
ocp@testdb : /home/oracle> cd $ORACLE_HOME
--testdb의 EM설치 여부 확인
ocp@testdb : /u01/app/oracle/product/10.2.0/db_1> ls
assistants has log opmn root.sh
bin hs md oracore root.sh.old
cdata install mesg oraInst.loc slax
cfgtoollogs install.platform mgw ord sqlj
clone inventory network oui sqlnet.log
config javavm nls owm sqlplus
crs jdbc oc4j perl srvm
css jdk ocp.mycorpdomain.com_orcl plsql startup.log
ctx jlib ocp.mycorpdomain.com_prod precomp sysman
dbs jre odbc racg uix
demo ldap olap rdbms wwg
diagnostics lib OPatch relnotes xdk
--현재 testdb는 EM이 없음을 알 수 있다.
--사전 암호 변경
ocp@testdb : /u01/app/oracle/product/10.2.0/db_1> emca -config dbcontrol db -repos create
ocp@testdb : /u01/app/oracle/product/10.2.0/db_1> ls
assistants hs mesg oraInst.loc sqlj
bin install mgw ord sqlnet.log
cdata install.platform network oui sqlplus
cfgtoollogs inventory nls owm srvm
clone javavm oc4j perl startup.log
config jdbc ocp.mycorpdomain.com_orcl plsql sysman
crs jdk ocp.mycorpdomain.com_prod precomp uix
css jlib ocp.mycorpdomain.com_testdb racg wwg
ctx jre odbc rdbms xdk
dbs ldap olap relnotes
demo lib OPatch root.sh
diagnostics log opmn root.sh.old
has md oracore slax
ocp.mycorpdomain.com_testdb확인!!
ocp@testdb : /u01/app/oracle/product/10.2.0/db_1/install> cat portlist.ini
iSQL*Plus HTTP port number =5560
Enterprise Manager Console HTTP Port (orcl) = 1158
Enterprise Manager Agent Port (orcl) = 3938
Enterprise Manager Console HTTP Port (prod) = 5500
Enterprise Manager Agent Port (prod) = 1830
Enterprise Manager Console HTTP Port (testdb) = 5501
Enterprise Manager Agent Port (testdb) = 1831
'프로그램 > ORACLE' 카테고리의 다른 글
[Oracle]오라클 잡 스케줄러 생성 (0) | 2016.11.30 |
---|---|
[인덱스] 오라클 인덱스는 언제 왜 생성할까? (0) | 2016.11.30 |
WORKSHOP - TABLESPACE에 관하여... (0) | 2016.11.30 |
Administering User Security (0) | 2016.11.30 |
마스터 TABLE 데이터 간단히 BACKUP 하기! (0) | 2016.11.30 |