티스토리 뷰

ORACLE/ADMIN

Oracle Database 데이터베이스 수동 생성

공부하는알파카 2020. 7. 17. 21:52

dbca가 아닌 CREATE DATABASE 명령어를 통해 수동으로 DB를 생성해보자.

 

Oracle DB 생성(DBCA, NETCA)

Database Configuration Assistant 를 이용하여 DB 생성 터미널 창에 dbca 를 입력하면 위의 화면이 뜬다. create a database 선택 후 Next 일반 템플릿 선택 후 Next DB 이름을 설정해준다. 리스너 설정을..

myalpaca.tistory.com

 

 

OS 환경 : Oracle Linux 6.3
DB 환경 : Oracle Database 12.1.0.2

 

 

 

1. /u01/app/oracle/oradata 폴더 아래 testdb라는 디렉토리 생성

 

testdb 디렉토리 생성 후 disk 디렉토리들도 생성해준다.

 

 

 

 

2. PFILE 설정

PFILE은 오라클이 구동할 수 있게 설계되어 있는 도면과 같다. 데이터베이스를 기동하기 위해서는 파라미터 파일을 참조하여 SGA 및 기타 필요한 환경을 구성해야 한다.

 

2-1. oraenv

 

vi /home/oracle/bash_profile

지금처럼 데이터베이스를 하나 더 생성하는 경우에는 ORACLE_SID, ORACLE_HOME 같은 환경변수를 수정해주어야 한다. 수정하는 방법은 .bash_profile을 수정하거나 export 명령어를 사용한다. 하지만 해당 데이터베이스로 접속할 때마다 이렇게 수정하는 것은 번거롭기 때문에 oraenv를 사용하여 환경변수를 더 쉽게 수정할 수 있다.

 

 

2-2. oratab

 

oraenv도 편하지만 항상 ORACLE_HOME 경로를 써주기 귀찮기 때문에 /etc/oratab 파일에 새로운 DB에 대한 정보를 추가해준다. 그러면 oraenv로 접속할 때 ORACLE_HOME 경로를 적지 않아도 된다.

 

 

 

 

2-3. pfile

 

파라미터파일은 $ORACLE_HOME/dbs에 위치한다. 따라서 그 위치에 testdb의 pfile을 생성해준다.

그리고 현재 계정의 비밀번호도 설정해준다.

 

 

 

[testdb@host01 ~]$ vi $ORACLE_HOME/dbs/inittestdb.ora

db_name=testdb			--필수 파라미터
service_names=testdb
control_files='/u01/app/oracle/oradata/testdb/disk1/control01.ctl','/u01
/app/oracle/oradata/testdb/disk2/control02.ctl	--필수 파라미터
shared_pool_size=164m		--필수 파라미터
db_cache_size=50m		--필수 파라미터
remote_login_passwordfile='EXCLUSIVE'	--Password file을 하나의 DB에서만 사용.
undo_tablespace='UNDOTBS1'

db_name, control_files, shared_pool_size, db_cache_size를 설정해주어야 한다.

*remote_login_passwordfile : 관리자 유저의 remote 보안 접속 가능하도록 설정

 

 

pfile이 정상적으로 생성된 것을 확인할 수 있다.

 

 

 

 

 

 

 

3. DB 생성 

수동으로 DB를 생성하는 명령어이다.

[testdb@host01 testdb]$ vi cdb.sql
CREATE DATABASE testdb
USER SYS IDENTIFIED BY oracle_4U
USER SYSTEM IDENTIFIED BY oracle_4U
CONTROLFILE REUSE
LOGFILE
GROUP 1 ('/u01/app/oracle/oradata/testdb/disk1/redo01a.log', '/u01/app/oracle/oradata/testdb/disk2/redo01b.log') SIZE 30M REUSE,
GROUP 2 ('/u01/app/oracle/oradata/testdb/disk1/redo02a.log', '/u01/app/oracle/oradata/testdb/disk2/redo02b.log') SIZE 30M REUSE
DATAFILE 
 '/u01/app/oracle/oradata/testdb/disk1/system01.dbf' SIZE 50M REUSE AUTOEXTEND ON
SYSAUX 
 DATAFILE '/u01/app/oracle/oradata/testdb/disk1/sysaux01.dbf' SIZE 30M REUSE AUTOEXTEND ON
DEFAULT TEMPORARY TABLESPACE TEMP  TEMPFILE '/u01/app/oracle/oradata/testdb/disk1/temp01.dbf' SIZE 100M REUSE AUTOEXTEND ON
UNDO TABLESPACE UNDOTBS1  DATAFILE '/u01/app/oracle/oradata/testdb/disk1/undotbs01.dbf' SIZE 200M REUSE AUTOEXTEND ON
CHARACTER SET AL32UTF8
NATIONAL CHARACTER SET AL16UTF16
EXTENT MANAGEMENT LOCAL;

 

  • SYS, SYSTEM User의 패스워드를 oracle_4U로 설정
  • 파라미터파일에 설정된 Controlfile의 정보대로 Controlfile 생성
  • Redo log group을 2개 생성하고 각 그룹에 member 2개씩 생성(member는 서로 다른 디스크에 나누어 저장하는 것이 좋음)
  • SYSTEM, SYSAUX, TEMPORARY, UNDO Tablespace 생성
  • Character set 설정
  • Extent 관리방식을 LOCAL로 설정
  • REUSE : 해당 파일이 이미 존재하면 덮어써서 생성

 

 

DB 생성은 파라미터를 읽을 수 있는 상태인 nomount 상태에서 가능하다. 

[testdb@host01 dbs]$ sqlplus / as sysdba

 

 

 

 

아래의 명령어들로 DB가 잘 생성되었는지 확인한다.

select name, open_mode from v$database;
select status from v$instance;
select name from v$datafile;

 

 

 

 

 

 

4. catalog.sql, catproc.sql, pupbld.sql 실행

데이터베이스를 수동 생성했을 때 Data Dictionary 조회나, Oracle에서 제공하는 패키지들이 실행되지 않는 문제가 발생한다. 따라서 몇가지 후속작업을 해주어야 한다. 이 후속작업들은 시간이 꽤 걸린다.

 

 

 

4-1. catalog.sql

Data Dictionary를 조회할 수 있는 view를 생성해주는 파일이다. 이 파일을 실행해주어야 Data Dictionary 조회가 가능하다. 이 파일은 $ORACLE_HOME/rdbms/admin에 위치한다.

 

 

 

 

 

4-2. catproc.sql

oracle이 제공하는 패키지들을 생성하기 위해 실행해주어야 하는 파일이다. 또한 위에서 catalog.sql 파일을 실행한 후에도 조회되지 않는 딕셔너리 뷰들을 생성해준다.

 

 

 

 

4-3. pupbld.sql

나중에 새로운 User를 생성하여 접속했을 때 "Error accessing PRODUCT_USER_PROFILE" 이라는 경고가 발생한다. 이를 해결하기 위해 system 유저로 접속하여 pupbld.sql 파일을 실행해주어야 한다.

 

 

 

 

 

 

 

 

DB를 생성했으니 TABLESPACE를 생성해보자.

 

Oracle Tablespace 생성

오라클 데이터 구조 테이블스페이스 생성 명령어 PERMANENT TABLESPACE permanent object를 저장하는 일반적인 테이블스페이스 1 2 3 4 5 6 7 8 9 10 11 CREATE TABLESPACE [ tablespace ] DATAFILE [ 테이..

myalpaca.tistory.com

 

공지사항
최근에 올라온 글
최근에 달린 댓글
Total
Today
Yesterday
링크
TAG
more
«   2024/05   »
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 31
글 보관함