모르는 용어는
http://gyh214.tistory.com/73 참조, 비밀번호 oracle
Using Log, Trace File to monitor an instance
Alert Log File
설명 : results of major events, records the commands 등등
사용 : day-to-day operational information, diagnosing database error(database error 진단)
파일이름 : alertSID.log ( 10g이후 alert_SID.log )
위치 : parameter file에 기술되어있음(BACKGROUND_DUMP_DEST)
Background Trace Files
설명 : background processes중 error 발견시 생성됨
사용 : 진단 및 troubleshooting시 사용
위치 : parameter file의 BACKGROUND_DUMP_DEST
User Trace File(직접 만들라고 명령해야 만들어짐)
설명은 나중에
위치 : USER_DUMP_DEST
SIZE : MAX_DUMP_FILE_SIZE
------------------------------------------------------------------------
Data Dictionary ( http://www.oracleclub.com/lecture/1520 참조 )
* oracle database의 중심
* Read-only tables과 views로 구성 ---> 의미 : 변경불가능, 조회만 가능
구성
1) Base tables : stores description(설명) of the database, DBCA 나 create database(수동DB생성) 하면 자동으로 생성됨
2) Data dictionary views : base table의 단순화버전,
public synonyms를 통해 access ( public synonym설명 : http://www.oracleclub.com/lecture/1038 ), 즉 모든 사용자가 access가능
생성 : DBCA의 경우 자동생성, create database(수동DB생성)시 catalog.sql script를 통해 생성
내용
* database의 logical, physical structures
* 객체의 정의, 공간할당
* Integrity constraints (무결성 제약)
* Users
* Roles
* Privileges (권한)
* Auditing (감사 ; http://www.oracleclub.com/lecture/1861 )
주요 사용목적
* 사용자, 스키마객체, 데이터베이스의 구조 들의 정보를 찾는데 사용
변경되는 시점 : oracle server는 DDL statement가 실행되면 Data dictionary를 변경한다(DML의 경우는 변경하지 않음)
* 추가설명 : 데이터를 insert하고 commit한 후 dictionary에서 해당 테이블의 행개수를 찾아보면, insert전과 insert후가 동일함
(DML의 경우는 변경하지 않아서 그렇습니다.업데이트 하고 싶다면 직접 명령어(예. analyze)를 쳐서 업데이트를 합니다.)
딕셔너리중 3가지 종류
DBA_xxxx : 데이터베이스의 모든 객체
ALL_xxxx : 현재 유저가 볼 수 있는 모든 객체들(다른 계정의 테이블도 권한이 있으면 볼 수 있음)
USER_xxxx : 현재 유저가 가지고 있는 객체들(내꺼밖에 못봅니다)
*주의 : 딕셔너리를 OPEN단계에서만 access가 가능합니다.
Dynamic Performance Views
* 현재 데이터베이스의 활동을 기록
* 실시간 업데이트 됩니다.
* used to monitor and tune the database
* Owned by SYS user
이름 : V$ 로 시작됨
종류 : V$FIXED_TABLE안에 기록되어 있음.
------------------------------------------------------------------------
Control File ( http://www.oracleclub.com/lecture/1089 )
- 데이터베이스의 현재상태를 정의하고, 무결성을 유지
- MOUNT상태까지 올라가려면 필요한 파일
* 컨트롤 파일은 매우 중요한 파일이므로, 똑같은 파일을 두 세개 정도 다른 위치에 복제해서 관리합니다.
컨트롤파일 복제 후 지정하기
(2개 지정한다면 오라클서버쪽에서 그 2개의 컨트롤 파일을 동시에 운영합니다(변경 시 파일 둘다 변경) )
첫번째. SPFILE 로 startup했을때
2. Shutdown하기 ; shutdown 하지 않고 control file 복사시 에러납니다.
3. 컨트롤파일 복제하기
cp /home/oracle/oradata/u01/ctr101.ctl /home/oracle/oradata/u02/ctr102.ctl
4. Startup 하기
두번째. PFILE로 startup했을때
1. shutdown
2. 컨트롤파일 복제하기
cp /home/oracle/oradata/u01/ctr101.ctl /home/oracle/oradata/u02/ctr102.ctl
3. PFILE을 vi로 열어서 추가 컨트롤파일을 CONTROL_FILES 부분에 기술하기
4. Startup
Using Log, Trace File to monitor an instance
Alert Log File
설명 : results of major events, records the commands 등등
사용 : day-to-day operational information, diagnosing database error(database error 진단)
파일이름 : alertSID.log ( 10g이후 alert_SID.log )
위치 : parameter file에 기술되어있음(BACKGROUND_DUMP_DEST)
Background Trace Files
설명 : background processes중 error 발견시 생성됨
사용 : 진단 및 troubleshooting시 사용
위치 : parameter file의 BACKGROUND_DUMP_DEST
User Trace File(직접 만들라고 명령해야 만들어짐)
설명은 나중에
위치 : USER_DUMP_DEST
SIZE : MAX_DUMP_FILE_SIZE
------------------------------------------------------------------------
Data Dictionary ( http://www.oracleclub.com/lecture/1520 참조 )
* oracle database의 중심
* Read-only tables과 views로 구성 ---> 의미 : 변경불가능, 조회만 가능
구성
1) Base tables : stores description(설명) of the database, DBCA 나 create database(수동DB생성) 하면 자동으로 생성됨
2) Data dictionary views : base table의 단순화버전,
public synonyms를 통해 access ( public synonym설명 : http://www.oracleclub.com/lecture/1038 ), 즉 모든 사용자가 access가능
생성 : DBCA의 경우 자동생성, create database(수동DB생성)시 catalog.sql script를 통해 생성
내용
* database의 logical, physical structures
* 객체의 정의, 공간할당
* Integrity constraints (무결성 제약)
* Users
* Roles
* Privileges (권한)
* Auditing (감사 ; http://www.oracleclub.com/lecture/1861 )
주요 사용목적
* 사용자, 스키마객체, 데이터베이스의 구조 들의 정보를 찾는데 사용
변경되는 시점 : oracle server는 DDL statement가 실행되면 Data dictionary를 변경한다(DML의 경우는 변경하지 않음)
* 추가설명 : 데이터를 insert하고 commit한 후 dictionary에서 해당 테이블의 행개수를 찾아보면, insert전과 insert후가 동일함
(DML의 경우는 변경하지 않아서 그렇습니다.업데이트 하고 싶다면 직접 명령어(예. analyze)를 쳐서 업데이트를 합니다.)
딕셔너리중 3가지 종류
DBA_xxxx : 데이터베이스의 모든 객체
ALL_xxxx : 현재 유저가 볼 수 있는 모든 객체들(다른 계정의 테이블도 권한이 있으면 볼 수 있음)
USER_xxxx : 현재 유저가 가지고 있는 객체들(내꺼밖에 못봅니다)
*주의 : 딕셔너리를 OPEN단계에서만 access가 가능합니다.
Dynamic Performance Views
* 현재 데이터베이스의 활동을 기록
* 실시간 업데이트 됩니다.
* used to monitor and tune the database
* Owned by SYS user
이름 : V$ 로 시작됨
종류 : V$FIXED_TABLE안에 기록되어 있음.
------------------------------------------------------------------------
Control File ( http://www.oracleclub.com/lecture/1089 )
- 데이터베이스의 현재상태를 정의하고, 무결성을 유지
- MOUNT상태까지 올라가려면 필요한 파일
- DB의 구조(Structure)를 포함하는 조그마한 바이너리 파일 입니다.
- 오라클이 사용하며, DBA도 변경 할 수 없습니다.
- 데이타베이스의 구조변경이나 변경사항이 있을 때 자동으로 업데이트 됩니다.
- 모든 데이터파일, 로그 파일의 정보(경로, 이름 등)를 갖고 있습니다.
- 컨트롤 파일은 오라클 DB를 마운트하고, 오픈하여 사용하는데 꼭 필요한 파일 입니다.
- 컨트롤 파일이 손상되면 오라클을 mount, open 할 수 없으므로 적어도 두 개 이상의 컨트롤 파일을 백업 받아서 다른 디스크에 저장해 놓는 것이 좋습니다
- 복구시 필요한 동기화(Synchronization)정보를 저장 합니다.
컨트롤 파일에 기록되는 내용
- 데이타베이스의 이름과 식별자
- 데이타파일의 위치. 온라인 리두로그 파일 위치 (OPEN상태까지 가려면 필요한 파일)
- 현재 로그 시퀀스 번호
- 테이블스페이스의 이름
- 체크포인트 정보
- 현재까지의 로그 기록
- 백업정보
* 컨트롤 파일은 매우 중요한 파일이므로, 똑같은 파일을 두 세개 정도 다른 위치에 복제해서 관리합니다.
컨트롤파일 복제 후 지정하기
(2개 지정한다면 오라클서버쪽에서 그 2개의 컨트롤 파일을 동시에 운영합니다(변경 시 파일 둘다 변경) )
첫번째. SPFILE 로 startup했을때
1. ALTER SYSTEM SET control_files = '/home/oracle/oradata/u01/ctr101.ctl', '/home/oracle/oradata/u02/ctr102.ctl' SCOPE=SPFILE; ;; SCOPE에 SPFILE을 지정해주지 않으면 현재 설정도 위 의 설정처럼 되어야 되는데, 현재는 추가로 지정한 위치에 컨트롤 파일이 없으므로 error발생
2. Shutdown하기 ; shutdown 하지 않고 control file 복사시 에러납니다.
3. 컨트롤파일 복제하기
cp /home/oracle/oradata/u01/ctr101.ctl /home/oracle/oradata/u02/ctr102.ctl
4. Startup 하기
두번째. PFILE로 startup했을때
1. shutdown
2. 컨트롤파일 복제하기
cp /home/oracle/oradata/u01/ctr101.ctl /home/oracle/oradata/u02/ctr102.ctl
3. PFILE을 vi로 열어서 추가 컨트롤파일을 CONTROL_FILES 부분에 기술하기
4. Startup
참고 : 컨트롤 파일 관리방법
1. UMF(User Managed File) : DBA가 컨트롤파일의 위치를 관리(일반적인 방법)
2. OMF(Oracle Managed File) : oracle이 컨트롤파일의 위치를 관리