| Oracle8 Administrator's Reference for LINUX Release 8.0.5 A66585-01 |
|
오라클사는 Oracle8을 위한 OFA (Optimal Flexible Architecture) 표준을 권장하고 있다. OFA 표준안은 유지보수가 거의 필요없는, 빠르고 안전한 오라클 데이터베이스를 위한 설정 가이드라인의 집합을 말한다.
OFA는 다음과 같이 설계되어져 있다:
OFA를 따르는 데이터베이스는 다음과 같은 장점을 가진다:
File system은 관리가 쉬우며, 크더라도 적응할수 있도록 되어 있다:
병목현상을 막기위하여 충분한 디스크드라이브간에 입출력을 분산시킨다.
하드웨어 비용은 운영관리 문제와 충돌을 하지 않을 때 최소화된다.
한개 이상의 드라이브에 분산시킴으로서 드라이브 에러가 발생해도 최소한의 피해를 당하도록 한다.
다음 항목은 한개이상의 드라이브에 분산되어 있다:
로그인 홈 디렉토리를 그들을 참조하는 프로그램을 수정하지 않고, 추가하고 옮기고 또는 지우는 것이 가능하다.
파일의 커테고리는 독립된 리눅스 드렉토리 subtree로 분리되어 있다. 그 때문에 한 커테고리내의 파일들은 다른 커테고리의 파일에 대한 조작에 의해 최소한으로 영향을 받는다.
동시에 여러 버전의 응용 프로그램이 실행될 수 있으며, 사용자가 이전 버전을 버리기 전에 새로운 배포판을 테스트하고 사용해 볼수 있다. 업그레이드 후에 새로운 버전으로 옮겨 가는것은 관리자에게는 단순하고 사용자에게는 손쉬운 일이다.
다른 데이터베이스로 부터 한 데이터베이스에 관한 관리 정보를 분리할 수 있는 능력은 관리 자료의 저장과 구성을 위한 합리적인 구조를 가능하게 한다.
데이터베이스 파일을 다음과 같이 이름 지어 진다:
Tablespace내용은 다음과 같이 분리되어 있다:
I/O loads는 오라클 자료를 저장하는 드라이브를 포함하여, 모든 드라이브에 걸쳐서 조절되어 진다.
오라클 병렬 서버 인스톨을 위하여:
데이터베이스 파일에 대한 조심스러운 명명법은 관리상의 문제를 많이 줄여 준다. OFA 규칙은 원래의 OFA 권장 사항을 The OFA Standard: Oracle8 for Open Systems에 제공된다.
모든 mount point의 이름은 /pm, 구문을 사용해서 이름 붙여라. 여기서 p는 문자 상수이고 m은 유일한 고정길이의 key (전형적으로 2자리 숫자)가 mount point를 구분하기 위해서 사용된다. 예를 들면: /u01 과 /u02, 또는 /disk01 과 /disk02.
만약 각각의 디스크 드라이브가 하나의 응용 프로그램의 데이타베이스 파일을 포함하고 있고 각각의 데이타베이스를 위해 입출력 병목현상이 나타나지 않을 정도로 충분한 디스크 드라이브를 가지고 있다면 mount point 이름을 붙이는데 Table 1-1에 설명된 것처럼 /q/dm 문법을 사용하라.
|
q |
오라클 데이타가 저장되는 곳을 명시 |
|
dm |
DB_NAME 인자의 초기화 값 ( 하나의 인스턴스 데이터베이스 시스템에서는 sid와 동의어이다 ) |
예를 들면, /u01/oradata/test01과 /u01/oradata/test02라는 이름의 mount point는 오라클의 테스트용 데이터베이스를 위하여 할당한다.
Name home directories는 Table 1-2에 설명된 것 처럼 /pm/h/u 문법을 사용한다.
|
pm |
a mount point name |
|
h |
표준 디렉토리 이름 |
|
u |
디렉토리 소유자의 이름 |
예를 들면, /u01/app/oracle 은 오라클 서버 소유자의 홈디렉토리이다. (ORACLE_BASE로 부르기도 하며, Installer에 의해 기본적으로 설정된다) 그리고 /u01/app/applmgr는 오라클 응용 소프트웨어의 소유자의 홈 디렉토리이다.
홈디렉토리를 리눅스 파일 시스템에서 같은 레벨에 두는 것이 다음과 같은 이유로 유리하다: 그렇게 함으로써 응용 프로그램의 소유자 로그인 홈디렉토리가 서로 다른 mount point 상에 놓이더라도, 단일 패턴의 문자열로, 즉 /*/app/*와 같은, 이들을 찾을 수 있다.
그들을 저장하기 위해 특별하게 디자인된 파일만, 예를 들면 /etc/passwd 그리고 오라클의 oratab file 등과 같은, 명백한 경로명을 참조하라. 그룹의 현황은 /etc/group file 만을 이용하라.
동시에 여러버전의 응용 소프트웨어가 OFA의 요구사양을 따르면서 실행될 수 있도록 하기 위하여, 각 버전의 Oracle8 Server 소프트웨어를, Table 1-3에서 설명한 것처럼, 패턴 /pm/h/product/v에 매칭 될 수 있도록 각 디렉토리에 저장한다.
|
h |
표준 디렉토리 이름 |
|
v |
소프트웨어의 버전 |
예를 들면: /u01/app/oracle/product/8.0.5는 Oracle8 서버 파일이 위치한 디렉토리 구조의 시작부분을 가르킨다. ORACLE_HOME 환경변수를 이곳으로 설정하라.
관리 자료의 구성을 용이하게 하기 위하여, 데이터베이스에 특이적인 관리 파일들은 h/admin/d/a/와 같은 서브디렉토리에 저장해 두라. 여기서 h는 오라클 소프트웨어 소유자의 홈 디렉토리이며, d는 데이터베이스 이름(DB_NAME)이며, a는 Table 1-4에 기술되어 있는 각각의 데이터베이스 관리 파일을 위한 서브디렉토리이다.
예를 들면, adhoc 서브디렉토리는 /u01/app/oracle/admin/sab/adhoc/와 같은 경로명을 가지게 된다.
다음의 데이터베이스 파일의 명명법은 파일들을 손쉽게 구별할 수 있도록 되어 있다:
control.ctl을 이용하라.
redon.log를 이용하라.
.dbf를 이용하라.
문법은 Table 1-5에 설명되어 있다.
|
pm |
Mount point name은 이 장의 초반부분이 기술되어 있다. |
|
q |
Oracle data를 다른 파일들과 구분하는 문자열 (일반적으로 ORACLE 또는 oradata를 사용한다) |
|
d |
데이터베이스의 DB_NAME |
|
t |
Oracle tablespace name |
|
n |
two-digit string |
이러한 일반적인 명명법을 따르게 되면 /u03/oradata/sab/system01.dbf와 같은 이름이 생성되게 되는데 이는 이름만 보아도 어느 데이터베이스에 속하게 되는지 쉽게 알수 있다.
주기의 다양성, 입출력 요구, 그리고 백업빈도 등에 따라 다른 tablespace로 분리하라.
각각의 오라클 데이터베이스에서, Table 1-6에 명시된 특수한 tablespace를 만들어라. 이들 tablespaces는 응용 세그먼트에서도 필요한 요소들이다.
|
SYSTEM |
data dictionary segments |
|
TEMP |
temporary segments |
|
RBS |
rollback segments |
|
TOOLS |
general-purpose tools |
|
USERS |
miscellaneous user segments |
딕셔너리 세그먼트는 절대로 드랍되지 않기 때문에 이것은 무척 효과적인 방법이며, SYSTEM tablespace에서는 드랍을 허용하지 않는다. 이것은 SYSTEM tablespace가 빈공간의 분할(fragmentation)으로 인한 재설치(rebuild)를 필요로 하지 않는다는 것이다.
rollback 세그먼트는 응용프로그램 데이타를 저장하고 있는 tablespace에 저장되지 않기 때문에, 관리자는 유지보수를 위해 응용프로그램의 자료를 가지고 있는 tablespace로 offline 상태에서 접근하는데 방해 받지 않는다. 세그먼트는 type에 의해 물리적으로 분할되어 있으며, 그리고 관리자는 복잡한 툴없이도 자료의 성장 속도를 예측하고 기록할 수 있다.
이름 tablespaces는 최대 8글자를 이용한다.
비록 Oracle8 tablespace 이름이 30자까지 허용되지만, Linux로 포팅되면서 파일 이름은 14자로 한정되어 있다. 권장하는 데이타 파일의 기본적인 이름은 tn.dbf이다. 여기서 t는 tablespace 이름을 적으며, n은 두자리수의 숫자문자열이다. 확장자+두자리 숫자는 총 6자를 차지하기 때문에 실제적으로 tablespace 이름을 위하여 8자만을 이용할 수 있다.
데이타 파일의 이름으로 허용되는 이름은 그것이 이용하는 tablespace와 연관이 있다. 예를 들면, GLD와 GLX는 각각 데이타와 인덱스를 저장하는 tablespaces에 이용된다.
|
Note: tablespace의 이름에 "tablespace" 라는 단어는 사용하지 마라. Tablespaces는 context에 의해 구별가능하며, 그리고 이름은 type에 관한 정보를 포함할 필요는 없다. |
Table 1-7 에는 파일의 class를 확인하는데 이용하는 문법(syntax)를 보여주고 있다.
Table 1-8은 각 파일의 mount point, 응용프로그램, 데이터베이스 그리고 tablespace 등을 포함하는, OFA를 따르는 데이터베이스 샘플의 계층적인 파일 지도를 보여주고 있다. 파일 이름은 파일 type (control, log 또는 데이타)을 가르킨다.
Oracle 데이터베이스 파일들을 저장하는데 이용할 모든 raw device의 표준 크기의 설정을 선택.
일반적으로, songle size에 대한 표준화를 권장한다. 만약 single size가 이용되면, raw 파일은 한 파티션에서 다른 곳으로 안전하게 옮겨질 수 있다. 크기는 꽤 큰 수를 생성할 수 있도록 충분히 작아야 하고, 반대로 편리할 정도로 충분히 크야 한다.
예를 들면, 2 GB 드라이브는 200 MB 씩의 10개의 파티션으로 나누는 것이 크기와 숫자에 있어서 균형을 맞추는 것일 것이다. raw device를 이용하는 모든 tablespace는 몇개의 드라이브로 나뉘어 진다. 만약 가능하다면, 이 나누기는 logical volume manager로 하는 것이 좋다.
다중 인스턴스의 데이터 베이스는 (오라클 병렬 서버 설치) 추가적인 파일 맵핑이 필요하다.
오라클 병렬서버를 이용할 경우, 하나의 서버를 그 집단의 Oracle administrative home으로 동작하도록 선택한다. administrative home에는 administrative subtree를 포함한다. 각각의 인스턴스에 있는 ~/admin/d/ 디렉토리에 있는 bdump, cdump, logbook, pfile 그리고 udump 디렉토리에 있는 데이터베이스로 접근하기 위한 서브디렉토리를 생성한다. administrative home의 The admin directory는 모든 인스턴스의 admin directory로서 마운트되어야 한다. Table 1-9에 예를 들어 설명해 두었다.
ORACLE_BASE is the root of the Oracle directory structure. ORACLE_BASE directory structure and content is described in Table 1-10. When installing an OFA-compliant database using the Oracle Installer, ORACLE_BASE is by default, set to
administrative files
online documentation
subtree for local Oracle software
Oracle software
/pm/app/oracle.
Table 1-10 ORACLE_BASE Directory Structure and Content
admin
doc
local
product
만약 OFA를 따르는 Oracle 서버를 설치하길 원한다면, ORACLE_HOME 디렉토리는 /mount_point/app/oracle/product/release_number로 한다. ORACLE_HOME directory 구조와 내용은 Table 1-11에 설명되어 있다. Linux하에서 ORACLE_HOME directory는 각각의 오라클 제품을 위한 서브디렉토리 뿐만 아니라 다음과 같은 서브 디렉토리를 포함한다.
제품의 서브디렉토리는 여러분들의 시스템에서 이용가능한 오라클 제품과 여러분들이 구입한 제품에 따라, Table 1-12에 기술된 것들을 포함한다.
|
|
Oracle Net8 |
|
|
libraries 와 SQL messages. 모든 제품들은 자동으로 설치된 디렉토리에 의존한다. |
|
|
PL/SQL version 2, procedural option |
|
|
SQL*Plus |
|
|
Server Manager |
각각의 제품들의 서브디렉토리는 Table 1-13에 기술된 서브디렉토리를 포함한다:
제품의 서브디렉토리와 그들의 내용은 Table 1-14에서 볼수 있다.
|
|
install, lib, admin, doc, mesg, log |
|
|
install, demo, lib, admin, doc, mesg |
rdbms/admin 디렉토리는 Table 1-15에 있는 SQL scripts를 볼 수 있다.
파일 이름 확장자에 대한 기술은 Table 1-16에 적혀 있다.
OFA default database는 Figure 1-1에 보이는 오라클 Installer를 이용하여 생성되었다.