create database script 작성
( 파일은 자기가 맘에 드는 이름으로 생성 )
RH3@STBY : /home/oracle/script>$vi cre_db.sql
create database stby
controlfile reuse
logfile
group 1 ('/opt/oracle/oradata/STBY/disk1/redo01a.dbf') size 100m reuse,
group 2 ('/opt/oracle/oradata/STBY/disk1/redo02a.dbf') size 100m reuse
datafile '/opt/oracle/oradata/STBY/disk1/system01.dbf' size 600m reuse
autoextend on next 10m maxsize unlimited
default temporary tablespace temp
tempfile '/opt/oracle/oradata/STBY/disk1/temp01.dbf' size 200m reuse
/
스크립트의 실행
SQL>@cre_db
스크립트를 실행하면 nomount 에서 DB 생성 완료와 함께 OPEN상태가 된다.
spfile의 생성 및 undo tablespace 생성
DYNAMIC하게 PARAMETER를 수정하기 위해서는 SPFILE이 필요하다
SQL> create spfile from pfile;
File created.
SQL> startup force;
ORACLE instance started.
Total System Global Area 139531744 bytes
Fixed Size 452064 bytes
Variable Size 104857600 bytes
Database Buffers 33554432 bytes
Redo Buffers 667648 bytes
Database mounted.
Database opened.
아래의 명령어를 실행했을 때 VALUE 값이 있으면 SPFILE을 사용한다는 의미이다.
SQL> show parameter spfile;
NAME TYPE VALUE
------------------------------------ ----------- ------------------------------
spfile string ?/dbs/spfile@.ora
( 아래에서는 생성 스크립트에서 생성하지 않았기에 하는 삽질이다. 그 밖에도 LOG MULTIPLEXING과
ARCHIVE LOG도 같은 짓을 하게 된다. - 여기서는 소개하지 않았다. )
SQL> create undo tablespace undo
2 datafile '/opt/oracle/oradata/STBY/disk1/undo01.dbf' size 300m;
Tablespace created.
SQL> alter system set undo_tablespace=undo scope=spfile;
System altered.
SCOPE를 SPFILE로 지정하여 수정한 값은 INSTANCE를 RESTART 시켜야 적용된다.
위에서는 UNDO TABLESPACE를 지정하였다.
아래에서는 UNDO 관리방법을 지정한다.
SQL> alter system set undo_management='auto' scope=spfile;
System altered.
SQL> startup force;
( 전에 이야기 했듯이 force = abort + startup 이다. )
ORACLE instance started.
Total System Global Area 139531744 bytes
Fixed Size 452064 bytes
Variable Size 104857600 bytes
Database Buffers 33554432 bytes
Redo Buffers 667648 bytes
Database mounted.
Database opened.
SQL>
필수 스크립트의 실행
<SYS에서>
SQL> @$ORACLE_HOME/rdbms/admin/catalog.sql
SQL> @$ORACLE_HOME/rdbms/admin/catproc.sql
순서를 거꾸로 설치하면 에러가 난다.
반드시 catalog 설치 후 catproc 설치
<SYSTEM에서>
SQL> conn system/manager
Connected.
SQL> @$ORACLE_HOME/sqlplus/admin/pupbld.sql
이로서 필수적인 절차는 끝났다.
사실은 이 후 control file 과 redo log 다중화를 거쳐야 하고 archive log 설정도 (선택아닌 필수이다. )
거쳐야 한다.
이에 대한 이야기는 다른 기회에 하도록 하겠다~