## Oracle10g DB 수동 생성 방법 (Solaris 기준)
절대적인 방법은 아니므로 수정해야 할 부분은 알아서 잘 체크 할 것
[!. 참고사항]
* 로 표시된 사항은 자신의 계정이나 환경에 맞게 수정하여야 함
- Oracle Database Administrator's Guide
http://download.oracle.com/docs/cd/B19306_01/server.102/b14231/toc.htm
[1. .profile 수정]
※ ORACLE_HOME은 자신의 환경에 맞게 수정
각각의 DBA계정 profile에서 ORACLE_SID에 따라 인스턴스가 달라지므로 주의한다. 즉, DBA계정에 인스턴스 하나만 설치
umask 022
trap 2 3
export EDITOR=vi
set -o vi
stty erase ^H
export PS1=`hostname`' $PWD>'
export WCOLL=/tmp/wcoll
export ENV=$HOME/.kshrc
#LANG=ko
LANG=C
export LANG
export PATH=/oracle10g/bin:/opt/SUNWspro/bin:/bin:/opt/bin:/usr/bin:/usr/ccs/bin:/usr/local/bin:/usr/java/bin:/usr/java/bin/jar:/opt/SUNWspro/
bin/cc:/usr/openwin/bin:$ORACLE_HOME/OPatch
export ORACLE_HOME=/oracle10g
export ORACLE_SID=ORACLE
[2. Datafile 디렉토리 설정]
※ datafile 디렉토리 아래에 .dbf 파일이 생성됨
이 디렉토리가 없으면 데이터 베이스가 생성 되지 않는다.
/ora_dbf01/oradata 생성 (각자 환경에 맞게 수정)
[3. $ORACLE_HOME/dbs/init{SID}.ora 파일 생성]
※ ORACLE_HOME은 .profile에서 지정한 디렉터리 경로임
initmyDB.ora 파일 내용
control_files = (/ora_dbf01/oradata/control.001.dbf,
/ora_dbf01/oradata/control.002.dbf,
/ora_dbf01/oradata/control.003.dbf)
db_name = myDB
db_block_size = 8192
pga_aggregate_target = 256M
processes = 100
open_cursors = 1024
undo_management = AUTO
undo_tablespace = UNDOTS01
compatible = 10.2.0
sga_target = 128M
nls_language = AMERICAN
nls_territory = AMERICA
background_dump_dest = /oracle10g/admin/myDB/bdump
core_dump_dest = /oracle10g/admin/myDB/cdump
user_dump_dest = /oracle10g/admin/myDB/udump
audit_file_dest = /oracle10g/admin/myDB/adump
[4. dump 디렉토리 생성]
※ dump 디렉토리는 반드시 만들어 주어야 함
DBA 계정으로 생성할 수 없을 경우 root 권한으로 생성하고 권한을 DBA 계정이 Write할 수 있게 바꿔 주어야 함
bdump에 log파일에 데이터 베이스를 만드는 로그가 기록됨
/oracle10g/admin/myDB/bdump
/oracle10g/admin/myDB/cdump
/oracle10g/admin/myDB/udump
/oracle10g/admin/myDB/adump
[5. db 생성 쿼리 .sql 파일 생성]
Home 디렉토리에서 xxx.sql 파일에 아래의 쿼리문을 작성하자.
CREATE DATABASE myDB
USER SYS IDENTIFIED BY password
USER SYSTEM IDENTIFIED BY password
LOGFILE GROUP 1 ('/ora_dbf01/oradata/redo01.log') SIZE 10M,
GROUP 2 ('/ora_dbf01/oradata/redo02.log') SIZE 10M,
GROUP 3 ('/ora_dbf01/oradata/redo03.log') SIZE 10M
MAXLOGFILES 5
MAXLOGMEMBERS 5
MAXLOGHISTORY 256
MAXDATAFILES 100
MAXINSTANCES 1
CHARACTER SET KO16KSC5601
NATIONAL CHARACTER SET AL16UTF16
DATAFILE '/ora_dbf01/oradata/system01.dbf' SIZE 325M REUSE
EXTENT MANAGEMENT LOCAL
SYSAUX DATAFILE '/ora_dbf01/oradata/sysaux01.dbf' SIZE 325M REUSE
DEFAULT TABLESPACE tbs_1 DATAFILE '/ora_dbf01/oradata/tbs01.dbf' size 50m
DEFAULT TEMPORARY TABLESPACE tempts1
TEMPFILE '/ora_dbf01/oradata/temp01.dbf'
SIZE 20M REUSE
UNDO TABLESPACE UNDOTS01
DATAFILE '/ora_dbf01/oradata/undotbs01.dbf'
SIZE 200M REUSE AUTOEXTEND ON MAXSIZE UNLIMITED;
[6. Oracle Start and Run Scripts]
※ 5번에서 작성한 xxx.sql 파일을 sqlplus에서 실행 시킴
as sysdba 옵션은 db관리자로 접속하라는 의미
@는 파일을 실행
?는 $ORACLE_HOME을 의미
database 생성을 실패할 경우에는 ./oradata의 파일을 모두 삭제한 뒤
sql> shutdown abort 로 oracle을 내렸다 다시 시작하면 됨
pupbld.sql은 user profile에 관련된 sql이고 유저 profile이 생성되지 않았다는 오류가 날 경우에는 system 계정으로 (dba권한 없이) 접속해서 실행하자.
$HOME> sqlplus / as sysdba
sql> startup nomount
sql> @xxx.sql
sql> show parameter background
sql> @?/rdbms/admin/catalog.sql
sql> @?/rdbms/admin/catproc.sql
sql> @?/sqlplus/admin/pupbld.sql
sql> EXIT
!!! 참고사항
database 생성 쿼리 중 UNDO TABLESPACE 이름과 initmyDB.ora 파일의 undo_tablespace의 설정값이 동일해야 create database 줄에서 오류가 나지 않음
[7. 외부 접속을 위한 listener.ora 파일 설정]
※ http://download.oracle.com/docs/cd/B19306_01/network.102/b14213/listener.htm#sthref769
/oracle10g/network/admin/listener.ora 파일내용
#
# Listener Name (Listener Identification)
# Default Port 1521
#
LISTENER1=
(DESCRIPTION=
(ADDRESS_LIST=
(ADDRESS=(PROTOCOL=tcp)(HOST=***.***.***.***)(PORT=1521))
)
)
SID_LIST_LISTENER1=
(SID_LIST=
(SID_DESC=
(ORACLE_HOME=/oracle10g)
(SID_NAME=ORACLE)
)
)
[8. Listener 실행 및 서비스 포트 확인]
> lsnrctl start LISTENER1
> netstat -an |grep LISTEN |grep 1591
[9. 클라이언트에서 원격 db접속을 위한 tnsnames.ora 파일 설정(클라이언트만 해당)]
http://download.oracle.com/docs/cd/B19306_01/network.102/b14213/tnsnames.htm#sthref649
!!! tnsnames.ora는 클라이언트 PC에서 원격 DB 서버에 접속하기 위해 설정하는 프로파일
ORACLE =
(DESCRIPTION=
(ADDRESS=(PROTOCOL=tcp)(HOST=***.***.***.***)(PORT=1521))
(CONNECT_DATA=
(SERVICE_NAME=myDB)
)
)
[10. 클라이언트에서 원격 접속]
>sqlplus /nolog
SQL*Plus: Release 10.2.0.2.0 - Production on Fri Apr 10 16:46:34 2009
Copyright (c) 1982, 2005, Oracle. All Rights Reserved.
SQL> connect
Enter user-name: system
Enter password:
Connected.
SQL>
또는
>sqlplus system/password
SQL*Plus: Release 10.2.0.2.0 - Production on Fri Apr 10 16:46:15 2009
Copyright (c) 1982, 2005, Oracle. All Rights Reserved.
Connected to:
Oracle Database 10g Enterprise Edition Release 10.2.0.2.0 - 64bit Production
With the Partitioning and Data Mining options
SQL>
출처 : http://jmson.tistory.com/46
'공부 > 솔라리스' 카테고리의 다른 글
솔라리스 상태확인 (0) | 2012.02.22 |
---|---|
솔라리스 8,9 오라클 8,9 설치 (1) | 2012.01.25 |