티스토리 뷰
* oracle 접속 batch file 생성
* * 오라클 DB 수동 생성 **
- 수동 DB 이름: bigdb
<순서>
1. 데이터베이스 설치할 디렉토리 구성
- OFA (Optimal Flexible Architecture)
- UMF vs. OMF
2. 초기화 파라미터 파일 생성
- pfile (텍스트 파일)
3. 생성하려는 데이터베이스의 인스턴스 결정
- ORACLE_SID
4. SQL*Plus를 사용하여 관리자 권한으로 접속
- startup nomount
5. DATABASE 생성
- CREATE DATABASE ...
6. DB 생성이 끝난 후 추가 작업
- 필수 스크립트 파일 실행
- /etc/oratab 편집 (.oraenv 사용을 위해)
- 원격접속지원: 패스워드파일 생성
- 네트워크 설정
- emca로 생성된 DB용 Database Control 구성
[참고]
# Create Database : http://download.oracle.com/docs/cd/B19306_01/server.102/b14231/create.htm#stshef232
-------------------------------
시작
-------------------------------
1. 데이터베이스 설치할 디렉토리 구성
- bigdb가 들어설 디렉토리 생성
[orcl:~]$ echo $ORACLE_BASE
/u01/app/oracle
--> 만약 ORACLE_BASE 환경변수가 설정이 되어 있지 않다면
.bash_profile을 열어서 export ORACLE_BASE=/u01/app/oracle을 추가해 주어야 합니다.
[orcl:~]$ mkdir -p $ORACLE_BASE/oradata/bigdb
[orcl:~]$ ls $ORACLE_BASE/oradata
bigdb orcl
2. 초기화 파라미터 파일 생성
[orcl:~]$ echo $ORACLE_HOME
/u01/app/oracle/product/11.2.0/dbhome_1
--> ORACLE_HOME 환경변수가 설정이 되어 있지 않다면
재설정해주어야 합니다.
[orcl:~]$ vi $ORACLE_HOME/dbs/initbigdb.ora
db_name = bigdb
instance_name = bigdb
compatible = 11.2.0
processes = 100
undo_management = auto
undo_tablespace = undotbs01
db_cache_size = 64m
shared_pool_size = 72m
db_block_size = 8192
control_files = ('$ORACLE_BASE/oradata/bigdb/control01.ctl',
'$ORACLE_BASE/oradata/bigdb/control02.ctl')
remote_login_passwordfile = exclusive
3. 생성하려는 데이터베이스의 인스턴스 결정
[orcl:~]$ vi + $ORACLE_HOME/sqlplus/admin/glogin.sql --> http://orapybubu.blog.me/40051872448
define _editor=vi --> 마지막줄에 추가해 주세요.
[orcl:~]$ export ORACLE_SID=bigdb
4. SQL*Plus를 사용하여 관리자 권한으로 접속
[bigdb:~]$ sqlplus / as sysdba
--> 'Connected to an idle instance.' 메시지를 확인하세요.
SQL> startup nomount
-- 인스턴스 이름과 상태를 질의하여 bigdb인지 확인
SQL> select instance_name, status from v$instance;
5. DATABASE 수동 생성
SQL> create database bigdb
logfile group 1 ('$ORACLE_BASE/oradata/bigdb/redo01_a.log',
'$ORACLE_BASE/oradata/bigdb/redo01_b.log') size 20m,
group 2 ('$ORACLE_BASE/oradata/bigdb/redo02_a.log',
'$ORACLE_BASE/oradata/bigdb/redo02_b.log') size 20m
datafile '$ORACLE_BASE/oradata/bigdb/system01.dbf' size 200m autoextend on next 20m maxsize unlimited
sysaux datafile '$ORACLE_BASE/oradata/bigdb/sysaux01.dbf' size 200m autoextend on next 20m maxsize unlimited
undo tablespace undotbs01 datafile '$ORACLE_BASE/oradata/bigdb/undotbs01.dbf' size 100m autoextend on next 20m maxsize 2G
default temporary tablespace temp tempfile '$ORACLE_BASE/oradata/bigdb/temp01.tmp' size 20m autoextend on next 20m maxsize 2G;
SQL> select instance_name, status from v$instance;
--> 인스턴스가 OPEN인 것을 확인할 수 있습니다.
6. DB 생성이 끝난 후 추가 작업
- SYS, SYSTEM 유저 암호 설정 (데이터베이스 생성시에 암호를 지정할 수도 있습니다.)
SQL> alter user sys identified by oracle; -- 기본 암호 : change_on_install
SQL> alter user system identified by oracle; -- 기본 암호 : manager
- 필수 스크립트 파일 실행
SQL> ed after_db_create.sql
conn sys/oracle as sysdba
@?/rdbms/admin/catalog.sql
@?/rdbms/admin/catproc.sql
conn system/oracle
@?/sqlplus/admin/pupbld.sql
SQL> @ after_db_create.sql
SQL> exit
- 확인
[bigdb:~]$ ps -ef | grep smon
oracle 6201 1 0 12:57 ? 00:00:01 ora_smon_orcl
oracle 6865 1 0 12:58 ? 00:00:00 ora_smon_bigdb
oracle 11548 5369 0 14:08 pts/2 00:00:00 grep smon
--> ora_smon_bigdb 를 확인하면 됩니다.
- /etc/oratab 편집 (.oraenv 사용을 위해)
[bigdb:~]$ vi /etc/oratab
--> 맨 아랫줄에 다음을 추가
bigdb:/u01/app/oracle/product/11.2.0/dbhome_1:N
- . oraenv로 테스트
[bigdb:~]$ . oraenv
ORACLE_SID = [bigdb] ? orcl
[bigdb:~]$ . oraenv
ORACLE_SID = [orcl] ? bigdb
[bigdb:~]$ echo $ORACLE_SID
bigdb
- 원격접속지원: 패스워드파일 생성
[bigdb:~]$ orapwd file=$ORACLE_HOME/dbs/orapwbigdb password=bigdata entries=5
[bigdb:~]$ ls $ORACLE_HOME/dbs/orapw*
/u01/app/oracle/product/11.2.0/dbhome_1/dbs/orapwbigdb
/u01/app/oracle/product/11.2.0/dbhome_1/dbs/orapworcl
- 네트워크 설정
[bigdb:~]$ mv $ORACLE_HOME/network/admin/listener.ora $ORACLE_HOME/network/admin/listener.old
[bigdb:~]$ vi $ORACLE_HOME/network/admin/listener.ora
--> HOST는 여러분의 리눅스 머신의 이름으로 대체하세요
LISTENER =
(DESCRIPTION_LIST =
(DESCRIPTION =
(ADDRESS = (PROTOCOL = IPC)(KEY = EXTPROC1521))
(ADDRESS = (PROTOCOL = TCP)(HOST = edydr1p0.us.oracle.com)(PORT = 1521))
)
)
SID_LIST_LISTENER =
(SID_LIST =
(SID_DESC =
(SID_NAME = orcl)
(ORACLE_HOME = /u01/app/oracle/product/11.2.0/dbhome_1)
(GLOBAL_DBNAME = orcl)
)
(SID_DESC =
(SID_NAME = bigdb)
(ORACLE_HOME = /u01/app/oracle/product/11.2.0/dbhome_1)
(GLOBAL_DBNAME = bigdb)
)
)
- 필요하면 리스너 재시작
(bigdb가 생성되면서 PMON에 의해 기본리스너에 동적으로 등록되기 때문에
리스너 재시작할 필요는 없으나 혹시 모르니 재시작합시
[bigdb:~]$ lsnrctl stop
[bigdb:~]$ lsnrctl start
- emctl로 생성된 DB용 Database Control 구성
[bigdb:~]$ emca -config dbcontrol db -repos create
Enter the following information:
Database SID: bigdb
Listener port number: 1521
Listener ORACLE_HOME [ /u01/app/oracle/product/11.2.0/dbhome_1 ]: (엔터)
Password for SYS user: (bigdata) <-- 암호를 입력합니다. 화면에 * 가 표시되지 않지만 암호가 입력되고 있음에 유의하세요.
Password for DBSNMP user: (oracle)
Password for SYSMAN user: (oracle)
Password for SYSMAN user: Email address for notifications (optional): (ENTER 키를 치세요)
Outgoing Mail (SMTP) server for notifications (optional): (ENTER 키를 치세요)
-----------------------------------------------------------------
You have specified the following settings
Database ORACLE_HOME ................ /u01/app/oracle/product/11.2.0/dbhome_1
Local hostname ................ edydr1p0.us.oracle.com
Listener ORACLE_HOME ................ /u01/app/oracle/product/11.2.0/dbhome_1
Listener port number ................ 1521
Database SID ................ bigdb
Email address for notifications ...............
Outgoing Mail (SMTP) server for notifications ...............
-----------------------------------------------------------------
Do you wish to continue? [yes(Y)/no(N)]: y
[bigdb:~] export ORACLE_SID=bigdb
[bigdb:~] emctl status dbconsole
* 빅 데이터 실습용 유저 및 테이블스페이스 생성
1) 테이블스페이스 생성
- EM에서 작업합니다
- EM > Server > Tablespace
tablespace 이름: bigdata
종류: bigfile tablespace
파일이름: bigdata01.dbf
파일사이즈: 500MB
increment: 100MB
Maximum File Size: 10GB
또는 SQL*Plus에서 (sysdba로 접속합니다.)
SQL> create bigfile tablespace bigdata datafile '/u01/app/oracle/oradata/bigdb/bigdata01.dbf' size 500M autoextend on next 100M maxsize 10G logging extent management local segment space management auto;
2) 유저 생성
SQL> create user big identified by big default tablespace bigdata temporary tablespace temp quota unlimited on bigdata account unlock;
SQL> grant connect, dba to big;
'DB, Storage > oracle' 카테고리의 다른 글
2013/10/17 ws1 memo (0) | 2013.10.17 |
---|---|
2013/10/16 ws1 memo (0) | 2013.10.16 |
2013/10/14 ws1 memo (0) | 2013.10.14 |
2013/10/11 WS1 memo (0) | 2013.10.11 |
2013/10/10 workshop1 memo (0) | 2013.10.10 |