- 오라클에서 캐릭터셋 확인하는 쿼리: 동적 성능 뷰 V$NLS_PARAMETERS에서 또는 PROPS$, NLS_DATABASE_PARAMETERS에서 정보를 확인할 수 있습니다. SQL> select * from v$nls_parameters where parameter like '%CHARACTER%'; PARAMETER VALUE CON_ID ----------------------- ---------- ---------- NLS_NUMERIC_CHARACTERS ., 1 NLS_CHARACTERSET AL32UTF8 1 NLS_NCHAR_CHARACTERSET AL16UTF16 1 또는 SQL> col value$ for a30 SQL> select name, value$ from props$ ..
오라클 설치 시 사일런트 설치를 진행하고 이 때 케이스를 여러 옵션을 통해서 각각의 결과를 비교했습니다. 결론부터 보겠습니다. 1. 리스폰스 파라미터 오류는 ignorePrereq 옵션이랑 상관없이 출력됩니다. 2. responseFile 옵션과 명시적 파라미터 지정 순으로 같이 사용할 경우, 앞의 옵션인 responseFile가 오류이면, 뒤의 파라미터 정상값이어도 FATAL 오류납니다. 3. 그럼 명시적 파라미터, 리스폰스 파일 옵션 순으로 명령하면??? 명시적 파라미터 값 오류 있어도, 리스폰스 파일 내 정상이면 설치됩니다. 4. 그럼 (맞는) 명시적 파라미터 하나만 설정하고 실행하면??? 리스폰스 파일 옵션 아예 사용 안됩니다. 1. 잘못된 변수값 포함된 리스폰스 파일 ONLY로 명령 $ ./ru..
- 지연 쓰기: DBWR 백그라운드 프로세스. 더티 버퍼를 데이터 파일로 기록하는 방식. 빈번한 디스크IO 방지. 변경된 데이터 블록을 일정량 취합하여 한번에 디스크에 저장하는 것. - 빠른 커밋: 변경에 대한 로그 정보는 즉시 디스크로 기록하는 방법. 데이터 정합성 유지. - (지연) 쓰기하는 시점: 1. 체크포인트 발생 2. 더티 버퍼 개수 임계값 도달 3. 클린/프리 버퍼 찾을 수 없을 때 4. 테이블스페이스 오프라인/읽기 전용 모드로 변경 5. 테이블 DROP, TRUNCATE 6. 테이블스페이스 온라인 백업 명령 수행 7. 주기적 타임 아웃 리두 로그는 Write-ahead 로깅 기법 사용 리두 로그 버퍼의 변경 내용을 기록 리두 로그는 빠른 커밋 사용 기록한 리두 로그 버퍼의 변경 내용 디스크..
- add_months: add_months(특정월말, 1) - 월말 기준으로 1개월을 더해 다음월말을 출력 - numtoyminterval: 특정월말 + numtoyminterval(1, 'month') - 30일 이후를 반환.. 즉 n개월 후인 달이 총 몇일인지(28,29,30,31등)을 고려하지 않음 예: SQL> SELECT DT, ADD_MONTHS(DT,1) 2 FROM (SELECT TO_DATE('29-FEB-2000','DD-MON-YYYY') DT FROM DUAL); DT ADD_MONTHS(DT,1) ------------------- ------------------- 2000-02-29 00:00:00 2000-03-31 00:00:00 SQL> SELECT DT, DT+NUMT..
표시되는 데이터의 너비를 제어하려면 SET LINESIZE 명령을 사용합니다. DESCRIBE 명령의 열 출력에는 일반적으로 현재 지정된 라인 크기의 비율이 할당됩니다. SET LINESIZE 명령을 사용하여 선 크기를 줄이거나 늘리면 일반적으로 각 열이 비례하여 더 작거나 커집니다. 이로 인해 디스플레이에서 예기치 않은 텍스트 줄 바꿈이 발생할 수 있습니다. 자세한 내용은 SET 명령을 참조하십시오. 예: SQL> SHOW LINESIZE linesize 80 SQL> DESCRIBE EMP_DETAILS_VIEW Name Null? Type ----------------------------------------- -------- ---------------------------- EMPLOYEE_I..
파라미터를 변경 직후 v$parameter 동적 성능 뷰를 쿼리해보면 value 및 display_value가 변하는데 그와 동시에 ismodified 컬럼도 false나 modified에서 system_mod로 변하는 것을 확인할 수 있다. ismodified 컬럼은 false, modified, system_mod 값을 가질 수 있다. (참고: https://docs.oracle.com/database/121/REFRN/GUID-C86F3AB0-1191-447F-8EDF-4727D8693754.htm#REFRN30176 ) 레퍼런스 중 해당 컬럼 설명은 다음과 같다. Indicates whether the parameter has been modified after instance startup: -..
대부분의 health checks은 입력 파라미터를 허용합니다. V$HM_CHECK_PARAM 뷰로 파라미터 이름과 설명을 볼 수 있습니다. 일부 파라미터는 필수이고 다른 파라미터는 선택사항입니다. 선택적 파라미터를 생략하면 기본값이 사용됩니다. 다음 쿼리는 모든 health checks에 대한 파라미터 정보를 표시합니다. SELECT c.name check_name, p.name parameter_name, p.type, p.default_value, p.description FROM v$hm_check_param p, v$hm_check c WHERE p.check_id = c.id and c.internal_check = 'N' ORDER BY c.name; CHECK_NAME PARAMETER_N..
PGA 영역은 크게 세가지로 나눌 수 있습니다. SQL 워크 영역, UGA영역, 프라이빗 SQL 영역 SQL Work Area: - 비트맵 생성 영역: 비트맵 인덱스 사용 시 사용하는 비트맵 인덱스 생성 영역. - 비트맵 병합 영역: 비트맵 인덱스를 이용하여 실행을 분석한 후, 비트맵을 병합해야 하는 경우 사용하는 영역. where 조건에서 or 연산자를 사용하는 경우 2개의 비트 값을 비교해야 하므로 비트맵 병합이 발생한다. - 정렬 공간: ORDER BY, GROUP BY 정렬을 수행하기 위한 공간. 메모리 공간 부족 시 디스크에 구성되는 임시 테이블스페이스를 이용 - 해시 공간: 조인 방식 중 하나인 해시 조인의 해시 영역을 생성하는 공간 UGA: - 세션 메모리: 서버 프로세스에 의해 추출된 결과..

관리해야 하는 메모리 구조는 SGA와 PGA입니다. Oracle Database는 파라미터 설정에 의해 선택되는 다양한 메모리 관리 방법을 지원합니다. Oracle Database는 SGA 메모리와 인스턴스 PGA 메모리를 완전히 자동으로 관리할 수 있습니다. 인스턴스에서 사용할 총 메모리 크기만 지정하면 Oracle Database는 처리 요구 사항을 충족하기 위해 필요에 따라 SGA와 인스턴스 PGA 간에 메모리를 동적으로 교환합니다. 이 기능을 automatic memory management라고 합니다. 이 메모리 관리 방법을 통해 데이터베이스는 개별 SGA 구성 요소의 크기와 개별 PGA의 크기도 동적으로 조정합니다. Oracle은 SGA 및 PGA 메모리의 총크기가 4GB 이하인 데이터베이스에..
-- memory_max_target을 memory_target보다 작게 설정.. 인스턴스 시작 안됨 -- spfile -> pfile 생성 SQL> show parameter memory_target NAME TYPE VALUE ------------------------------------ ----------- -------------- memory_target big integer 1152M SQL> ALTER SYSTEM SET MEMORY_MAX_TARGET = 1100M SCOPE = SPFILE; System altered. SQL> shutdown immediate Database closed. Database dismounted. ORACLE instance shut down. SQL>..