티스토리 뷰

DB, Storage/oracle

2013/10/15 ws1 memo

卽興詩人 2013. 10. 15. 17:33

* 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
공지사항
최근에 올라온 글
최근에 달린 댓글
Total
Today
Yesterday
링크
«   2025/04   »
1 2 3 4 5
6 7 8 9 10 11 12
13 14 15 16 17 18 19
20 21 22 23 24 25 26
27 28 29 30
글 보관함