1. 공공기관 표준화 지침

 

* 행정표준코드가 존재하는 경우 이를 준수해야 하며, 행정표준코드에 존재하지 않는 행정토크에 한하여 별도로 작성해야한다.

* 행정 표준용어사전에 등재된 용어를 우선적으로 사용해야하며, 행정표준 용어사전에서 제공하지 않는 용어에 한하여 별도로 작성하여야한다.

 

2. 표준용어정의서

 

항목 정의 및 작성 지침

표준용어명 영문명 영문약어명 용어 구분 용어 설명 주제 영역
           

 

표준용어명 1.엔터티,속성 등 데이터 요소의 명명에 사용될 표준용어 기재, 돔음이의어를 제외한 표준용어는 유일하도록 작성(동음이의어는 허용하나 사용 또는 작성을 최소화)
2.한글을 원칙으로 하며,언더스코어(_) 이외의 특수 문자와 공백은 사용 불가
3.숫자의 사용은 가능하나,표준용어의 직관적인 의미 파악이 간으하도록 사용 최소화
4.관용적으로 널리 알려진 영문약어에 한하여 표준용어로 사용 가능(예:URL,IP 등)
영문명 1.표준용어의 영문명으로,대문자를 사용하여 full name으로 기재
-예시) 가공식품 > PROCESS FOOD로 기재
영문약어명 1.영문 약어는 최대 6자 이내로 정의,대문자로 작성하고 불가피한 경우를 제외하고는 특수문자는 사용하지 않도록 주의
- (예시) 모음을 제외한 자음의 결합으로 영문 약어 작성 (PRICE → PRC)
- (예시) 같은 자음이 2개 이상 연속되면 1개만 선택하여 작성 (MAPPING → MPNG)
- (예시) 용어 영문명의 앞부분만 사용하여 작성 (ADDRESS → ADDR)
- (예시) 용어 영문명의 첫 글자와 마지막 글자를 조합하여 작성 (예: YARD → YD)
- (예시) 용어 영문명이 긴 경우는 첫 자음과 마지막 자음 사이에 특징 있는 자음들을 조합하여 작성 (NETWORK → NW, SOFTWARE → SW, MESSAGE → MSG)
- (예시) 용어 영문명의 발음에 따른 표기를 사용하여 작성 (예: LIGHT → LITE)
용어구분 이음동의어 관리를 위해 정의된 표준용어릐 구분을 표준어 또는 동의어 중에서 선택
용어 설명 1.표준용어의 의미나 내용을 상세히 기술
2.표준어,동의어 이외에 금칙어를 제공할 경우 금칙어 목록을 포함하여 기재할 수 있으며, 1개 용어에 대하여 다수의 금칙어가 존재할 수 있으므로 별도의 관리항목을 정의하여 사용
-예시)'휴대폰'을 표준어로 정의한 경우 '핸드폰','모바일폰'등을 금칙어로 규정
주제 영역 1.표준용어가 속한 주제영역을 기재(여러 주제 영역에서 사용 시 대표 주제 영역을 기재하거나 '공통영역'으로 기재
2.정부기능분류체계(BRM) 또는 공공기관별 자체 BRM을 참조하여 대분류 수준에 해당하는 코드 문자열을 사용하거나, 자체적인 DB단위의 약어를 정의하여 사용 가능

 

3. 표준도메인정의서

도메인명 도메인 설명 데이터 타입 데이터 길이 데이터 값 측정 단위 도메인 대분류 도메인 중분류
               
도메인명 명명된 데이터 도메인의 이름
데이터 타입 1.문자형(고정길이)는 CHARACTER,CHAR등으로 기재
2.문자형(가변길이)는 VARYING CHARACTER,VARCHAR등으로 기재
3.문자형(대규모객체)는 CLOB,BLOB등으로 기재
4.숫자형(정수)는 NUMBERIC,NUM,DECIMAL,DEC,INTEGER,INT,SMALLINT,SINT등으로 기재
5.숫자형(실수)는 FLOAT,REAL,DOUBLE PRECISION등으로 기재
6.시간형/날짜형은 DATE,TIME,DATETIME,TIMESTAMP등으로 기재
데이터 길이 1.도메인 값을 표현하기 위한 데이터의 최대 길이를 숫자로 표현
2.모든 요구사항을 수용할 수 있도록 충분히 커야하며, 정확성을 보장할 수 있을 만큼 정밀해야함
3.날짜,시작처럼 길이가 정해져 있는 경우,최대 길이를 알 수 없거나,최대 길이가 의미가 없는 경우 생략가능
데이터 값 해당 도메인이 가질 수 있는 허용 가능한 값의 집합이나 범위(최대값,최소값 등)
측정 단위 값을 측정하는 단위의 이름을 기술(예:m,kg,A,K,mol등)
도메인의 명확한 의미 이해를 위해 측정단위를 명시해야하는 경우 반드시 기술도메인 대분류
도메인 대분류 도메인 분류를 참조하여 도메인 대분류를 기재
도메인 중분류 도메인 분류를 참조하여 도메인 중분류를 기재

4. 테이블 정의서

DB명  
테이블명 테이블 유형 관련엔터티명 테이블설명 보존 기간 발생주기 최대 예상저장량 예상 발생량
               
DB명 테이블이 포함되어 있는 데이터 베이스의 이름
테이블명 1.물리적인 DB에 생성할 테이블의 이름을 의미
2.표준용어정의서를 참조하여 테이블 명명규칙을 정의하고, 해당 명명규칙에 따라 테이블명을 정의
3.1개의 엔터티가 다수의 테이블로 분리되어 구축되는 경우,일련번호를 포함 가능
테이블 유형 1.테이블의 논리적,물리적 특성에 따른 테이블 유형을 기재
 -물리적 특성으로 테이블 유형을 정의하여 기재하는 경우 : 일반 테이블, 파티션 테이블, 클러스터 테이블, 뷰 테이블 등으로 구분하여 기재
 -논리적 특성으로 테이블 유형을 정희하여 기재하는 경우 : 코드 테이블,마스터 테이블,임시 테이블,통계 테이블 등으로 구분하여 기재
*테이블명에 테이블 유형이 반영된 경우 생략 가능
관련 엔터티명 1.해당 테이블이 어떤 엔터티로부터 물리적으로 구현된 테이블인지,엔터티정의서에 기록한 엔터티명(한글)을 기재
2.여러 엔터티가 하나의 테이블로 통합되어 구현되는 경우, 관련 엔터티들을 모두 기재
테이블 설명 1.테이블의 물리적 특징에 대해 기술함
 - 파티션 테이블의 경우, 분할 조건이나 관련 특징을 기술
 -뷰 테이블의 경우,뷰를 구성하는 집합 결정 조건을 기술
보존기간 해당 테이블의 데이터를 발생시점 기준으로 얼마나 오랫동안 보존하는지 기록(월 단위 또는 년 단위로 기재)
발생주기 1.해당 테이블의 데이터가 작성되거나 수정되는 주기를 의미함
2.발생주기 종류
 - 실시간:수시로 데이터가 발생하는 온라인성 테이블
 - 일/주/월 : 하루/일주일/한달에 한 번 발생
 - 분기/반기 : 3개월/6개월에 한번 발생
 - 년 : 1년에 한번 발생
 - 기타:그 외의 경우(해당 발생 주기를 직접 기술)
3.뷰 테이블과 같이 실제 값을 가지지 않는 경우 생략
최대예상 저장량 해당 테이블의 보존기간으로 정의한 기간 동안 생성될 것으로 예측되는 최대 저장량을 저장 건수로 기술(예시:1400만건,750만건)
예상 발생량 해당 테이블의 발생 주기별로 예측 되는 신규 데이터의 평균 발생 건수(예:1000건/주,20000건/반기 등)

4. 컬럼 정의서

테이블명  
칼럼명(영문) 컬럼명(한글) 연관 엔터티명 연관 속성명 NOT NULL 데이터 타입 길이 PK정보 FK정보 제약조건 컬럼설명
                     
테이블명 해당 컬럼이 소속된 테이블의 이름
컬럼명(영문) 컬럼의 이름으로 표준용어정의서에 등록된 용어를 사용
컬럼명(한글) 해당 컬럼과 연관되는 속성의 이름과 동일하게 부여하는 것을 원칙으로 함
연관 엔터티명 1.해당컬럼이 표현하는 논리적 데이터요소인 엔터티명을 기술
2.엔터티정의서에 기록한 엔터티명으로 기술
연관 속성명 1.해당 컬럼이 표현하는 논리적 데이터요소인 속성명을 기술
2.속성정의서에 기록한 속성명으로 기술
NOT NULL여부 데이터가 생성되는 시점(INSERT)에 컬럼 값이 반드시 존재해야 하는지를 표시(Y/N)
데이터 타입 컬럼 값의 물리적 표현 방식으로 DBMS종속적인 데이터 타입의 이름을 그대로 기록
길이 해당 컬럼의 값을 표현하기 위한 데이터의 길이로 DDL문에서 지정될 데이터 길이를 DBMS 종속적인 표현으로 기술(DATE 타입과 같이 길이가 필요 없는 경우 생략)
PK정보 PK(기본키)에 참여하는 컬럼이면 PK와 숫자로 된 참여순서를 이용하여 표시하고 PK에 참여하지 않으면 생략
-예시) PK01(PK를 구성하는 컬럼 중 참여 순서가 첫번째),PK02
FK정보 해당 컬럼이 FK(외래키)제약에 참여하는 컬럼인 경우 한해, 관련 테이블 이름과 컬럼 이름을 마침표( . )로 연결하여 기술
-예시)T_CUST.CUST_ID(고객 테이블의 고객번호를 참조하는 경우)
제약조건 해당 값 영역에서 설명하는 컬럼 값의 특성 이외에,컬럼에 대해 추가적으로 명시해야할 제약조건(허용범위,구분값,기본값)등을 기술
 

 

//-- 원문출처: http://www.dba-oracle.com/t_impdp_transform_segment_attributes.htm 

//-- impdp transform=segment_attributes

//-- Oracle Database Tips by Donald BurlesonFebruary 22, 2015 


impdp transform=segment_attributes

Oracle Database Tips by Donald BurlesonFebruary 22, 2015

Question:  What does the impdp transform parameter do?  I read about thetransform=segment_attributes:n:table argument in the docs.

Answer:  Oracle data pump import (impdp) provides the transform=segment_attributes argument to allow you to change object DDL for specific objects (table, indexes), and remove just about everything from the DDL but the basic column definitions.

If the value is transform=segment_attributes:y (the default), then segment attributes (file attributes, storage parameters, tablespaces, and logging) are included in the import (impdp, with the DDL for the specified object types.

For example, if you wanted to use the default tablespace parameters for the imported DDL, you could include:

root>  impdp scott/tiger transform=segment_attributes:n:tables

This example would import only the "basic" DDL for all table DDL in the dmp file, omitting the storage clause, tablespace specification and datafiles parameters, allowing the system-wide defaults to be used.  This is useful when you don't want to have to pre-create all of the table definitions and import with ignore=y.

In another example, assume that you only wanted to omit the storage clauses for all tables:

root>  impdp scott/tiger transform=segment_attributes:storage:n

You can also use the impdp transform=segment_attributes:n is used with other arguments such as remap_tablespace  to change the tablespace names for all table in the import dmp file.  For example, the following directs the import (impdp) to ignore the existing tablespace specifications and re-map the tablespace names:

root>  impdp scott/tiger transform=segment_attributes:n remap_tablespace=users:prodts

You can also combine transform=segment_attributes parameters to perform multiple operations on the dmp file DDL. 

root>  impdp scott/tiger transform=SEGMENT_ATTRIBUTES:n:table,STORAGE:N:table



//-- 세계최고 IT기업(애플 구글 아마존 테슬라 스페이스엑스) 입사 면접 질문 모음

//-- 원문 출처 : http://aedi.tistory.com/954 


세계최고 IT기업(애플 구글 아마존 테슬라 스페이스엑스) 입사 면접 질문 모음

Aedi_ 2018.02.10 00:26

세계 최고의 IT기업이라 불리는 기업에서 근무하는 것은 어떤 느낌일까요? 유능한 동료들과 최고의 복지 그리고 만족스러운 연봉을 받으며 꿈만 같은 생활을 하고 있을까요? 아니면 겉에서 보기엔 최고의 직장같지만 실상은 살인적인 업무강도와 경쟁에 시달리는 지옥같은 생활일까요? 오늘은 현직자들의 생생한 경험담을 들을 수 있는 미국 최대의 직장정보 사이트 글래스도어에서 확인한 미국 IT기업 아마존 애플 구글 테슬라 스페이스엑스의 직장생활과 입사 면접질문에 대해서 알아보도록 하겠습니다.

  스페이스엑스

최근 로켓 팔콘 헤비(Falcon Heavy)에 테슬라의 최신 전기차 로드스터(2세대)를 실어 화성으로 쏘아올린 스페이스엑스는 우주산업분야에서 세계 최고의 기술력을 보유한 회사입니다. 스페이스X가 이런 기술력을 보유할 수 있었던 직원들의 엄청난 노력이 있었기 때문입니다. 테슬라에서는 매년 700명의 인턴들이 시급 22달러로 주당 80시간을 근무하고 있는 것으로 알려져 있습니다. 그럼에도 불구하고 SpaceX의 로켓 발사기술을 한단계 업그레이드 시키고 싶으신 분들은 아래의 질문의 대답을 준비해 보세요.

스페이스엑스(SpaceX) 면접질문

  • Composites가 무엇입니까?

  • 32비트 시스템에서 integer 크기는 얼마입니까?

  • 변수 'var'이 '2'로 지정되었을 때, 'var ++'를 출력하면 얼마가 표시됩니까? 그 다음'++ var'를 출력하면 무엇이 표시되나요? 'var' 최종값은 얼마입니까?

  • 널 포인터란 무엇입니까?

  • 크고 무거운 물체가 매우 빠른속도로 움직이는 경우 어떻게 안전하게 감속시킬수 있을까요?

  • 위에서 떨어지는 날카로운 물체를 보호하기 위한 전기장치를 어떻게 설계해야할까요?

  • 한쪽 끝이 고정된 질량=m 길이=L인 캔틸레버식 빔이 관성을 받고 있고 균일하게 분포된 하중=w라면, L/4의 길이에서 나타나는 시간은?

  • Sensitive한 도구를 흔들리는 표면에 어떻게 부착하는 방법은?

  • 싱글 리스트에서 주기를 찾으려면 어떻게 해야할까요?

  • 자료구조에는 배열과 힙이 있는데 왜 이것을 같이 사용할 수 없나요?

  • 한쪽끝이 벽에 붙어 있는 빔에 힘을 가하면 어디가 부러지며, 빔을 깰 수 있는 힘을 계산하기 위해서 필요한 것은?

  • 전류가 높은 상태에서 니켈이 구리에 닿으면 어떻게 될까요?

  • 어떻게 pop과 push 메소드만을 사용해서 스택을 뒤집을 수 있나요?

  • 액체 추진제 로켓 엔진에 급속연료 공급시스템에 필요한 파이프 설계과정에 대해 설명해보세요. 유체 압력계산과 구조를 고려하기 위해 필요한 공식도 알려주세요.

  • 우주에서 온도를 어떻게 조절해야할까요? 이때 제약사항은 무엇인가요?

  • SpaceX의 엔지니어와 당신의 차이점은 무엇인가요?

  아마존

아마존 또한 노동강도하면 둘째가라면 서러워할 기업입니다. CEO 제프 베조스는 '50명은 면접하는 일이 있더라도 나는 잘못된 사람은 뽑지 않을 것이다.'라고 말하기도 했죠. 그는 직원들에게 '당신은 게으른 사람입니까? 무능한 사람입니까?'라고 대놓고 물은적도 있습니다. 하지만 최근 글래스도어에서 아마존의 직장평점은 3.8점으로 0.4점이나 상승하면서 기업문화가 예전보다 많이 개선된 것으로 나타나고 있습니다. 공중이나 바다속에 물품창고를 설계하고, 드론으로 물건을 배송하며, 무인점포를 만드는 등 유통업의 혁신을 만드는데 기여하고 싶다면 아래 질문에 대해 답할 수 있어야합니다.

아마존 면접질문

  • 아마존은 독특한 회사입니다. 당신의 독특한 점은 무엇인가요?

  • 제프 베조스가 당신에게 백만달러를 투자한다면 당신은 어떤 사업에 도전하고 싶나요?

  • 5,623명이 토너먼트에 참가한다면 승자를 가리기 위해 몇번의 시합을 해야하나요?

  • 변화를 주도하기 위해 측정해야하는 항목은?

  • 누군가 동전을 훔치는 걸 봤다면 보고할건가요?

  • 회사에 정책에 반하는 결정을 내린 상사에게 반대할건가요?

  • 프로젝트가 당신의 업무 범위를 벗어나면 어떻게 할건가요?

  • 애매한 문제를 해결했던 경험에 대해서 알려주세요.

  • 데이터 없이 의사결정을 했던 경험에 대해서 설명해주세요.

  • 일을 망쳤던 경험을 말해주세요.

  • 당신을 왜 뽑아야 하죠?

  • 직원들에게 동기부여를 해주는 방법은?

  • 개발자 또는 다른부서과 어떻게 우호적은 관계를 맺을 수 있나요?

  • 어려운 비즈니스를 하는 팀을 어떻게 관리할건가요?

  • 고객의 경험을 개선하는데 초점을 맞추기 위한 방법은?

  • 중요한 의사결정을 위해 분석을 했던 경험에 대해서 설명해주세요.

  • 재고가 너무 많다는 사실을 발견하면 어떻게 할건가요?

  • 복잡한 상황을 간단한 해법으로 돌파한 경험에 대해 설명해주세요.

  • 마감 기한을 넘긴일을 어떻게 처리할건가요?

  • 당신이 전략을 수정할 수 밖에 없게 만들었던 피드백에 대해서 설명해주세요.

  테슬라

세계 최고의 몽상가로 불리는 엘론 머스크, 하지만 직원들은 그를 '다이아몬드 제조기'라 부른다고 하는데요. 높은 압력과 고온에서 다이아몬드가 만들어 지듯이, 테슬라에서 근무하다 보면 어느새 다이아몬드처럼 단단해진 자신을 발견할 수 있기 때문입니다. 하지만 자동차 산업을 통째로 뒤업고 미세먼지 없는 세상을 만들고 싶다면 아래 질문에 대답을 준비해야 합니다.

테슬라 면접질문

  • 왜 테슬라에 지원했나요?

  • 전기차 산업에 뛰어 들게 된 동기는?

  • 당신에게 우리기업문화를 바꿔달라고 하면 어떻게 할건가요?

  • 당신은 자동차에 대해서 무엇을 알고 있나요?

  • 업무에 문제가 발생했을 때 해결했던 경험이 있나요?

  • 당신의 성과에 대한 상사와 동료의 평가는 어땠나요?

  • 이력서에 적은 모든 내용에 대해서 자세하게 설명해주세요.

  • 남쪽으로 1마일 서쪽으로 1마일 북쪽으로 1마일 이동했는데, 처음 위치로 돌아 왔습니다. 당신은 어디에 있는것일까요?

  • XYZ가 동작하는 원리를 설명해주세요.

  • 팀으로 일하면서 문제를 해결했던 경험에 대해 알려주세요.

  • 반복되는 일에 대해서 어떻게 대처하나요?

  • 당신과 같은사람들을 많이 봣습니다.당신은 무엇이 다른가요?


  구글

세계 최고의 IT기업 Google은 수십억명이 사용하는 안드로이드, 매일 사진 수십억장 업로드 되는 구글포토, 매월 15억명 이상이 방문하는 유튜브 등 세계적인 서비스를 개발하고 운영할 수 있는 회사입니다. 복지또한 세계최고 수준으로 알려져 있는데요. 하지만 실제로 엄청난 내부경쟁과 성과에 대한 냉정한 평가에 시달린다고도 합니다. 그럼에도 불구하고 세계최고의 인재들과 함께 일하는 경험을 하고 싶다면 아래 질문들에 대한 대답을 준비해야 합니다.

관련글 : 신의직장 구글의 환성적인 복지혜택 25가지

면접질문

  • 좋아하는 구글 서비스는 무엇이며 어떻게 개선하고싶나요?

  • 회사에 개를 데려오고 싶디만 개 알러지가 있는 팀원이 있다면?

  • 유튜브에서 광고가 삭제된 경우 어떻게 돈을 벌 수 있을까요?

  • 구글에 대해 무엇을 알고 있나요?

  • 지금 있는 이 빌딩의 대피 계획을 짜보세요.

  • 꽃가게와 장례식장 광고 중 보스턴에서 더 효과가 좋을 만한 것은?

  • 1,000개의 동전을 던져서 앞면에 560개 나왔습니다. 동전에 바이어스(biased) 된 건가요?

  • Gmail 또는 Google+ 계정을 만들때 실명을 사용해야할까요?

  • 일할 필요가 없다면 무엇을 할건가요?

  • 당신이 두려워 하는것은?

  • 건초 더미에서 바늘을 찾는 방법은 몇가지일까요?

  • 비행기에 테니스공이 몇개나 들어갈까요?

  • 당신을 한문장으로 설명해보세요.

  • 향후 3년 동안 디지털 광고는 어떻게 변할까요

  • 직장이나 대학에서 근무하다 갑자기 CEO가 된다면 당신기 바꾸고 싶은 세가지는?

  • 애드워즈를 7살에게 설명해보세요.

  • 24시간내 음식을 배달하는 서비스가 있습니다. 이 서비스를 운영하는데 필요한 트럭은 몇대일까요?

  • 클라우드 컴퓨팅을 6살에게 설명한다면?

  • 당신을 긴장하게 만드는 여섯가지는?

  • 이력서에 없는 내용을 말해주세요.

  • 래리 페이지와 할머니에게 HTML 5의 중요성을 어떻게 설명 할건가요?

  • 지금 1,000만 달러가 생긴다면 무엇을 할건가요?

  • 극단주의자가 쓴 글을 삭제할건가요?

  • 10 억 달러와 우주선을 가지고 인류의 가장 큰 위기를 어떻게 해결할 수 있을까요?

  • 화성에는 식민지가 있습니다. 화성과 통신 할 수있는 시스템을 어떻게 만들건가요?

  • 신발 공장을 어떻게 개선 할건가요?

  • 샌프란시스코 노숙자 문제를 어떻게 해결할 수 있나요?

  애플

시가총액 1위 기업 애플, 애플은 그 명성에 걸맞게 입사하기 상당히 어려운 기업중에 하나입니다. 스티브잡스를 볼 순 없지만 여전히 세계에서 가장 돈을 잘버는 기업에서 근무해보고 싶다면 아래 질문에 대해 준비하세요.

애플 면접질문

  • 뜨거운 커피와 차가운 우유한잔이 있습니다. 방안의 온도는 중간입니다. 가장 시원하게 커피를 마시려면 언제 우유를 넣어야 하나요?

  • 엠파이어 스테이트 빌딩의 무게는?

  • 이진 트리가 왼쪽 및 오른쪽 하위 트리의 미러 이미지인지 어떻게 확인할까요?

  • 어떤 슈퍼히어로가 되고 싶은가요? 이유는?

  • RAM을 5살에게 설명해보세요.

  • 비행기 날개는 어떻게 동작하나요?

  • 아이폰의 아키텍처를 그려보세요.

  • 차에 기름이 얼마나 남았는지 확인할 수 있는 방법 5가지는?

  • 계란 2개를 사용해서 계란을 떨어뜨려도 깨지지 않는 최대 높이는 구하는 방법은?

  • 이 연필의 원가를 계산해보세요

  • 8살에게 모뎀과 라우터에 대해 설명해보세요.

  • 매일 몇명의 아이들이 태어날까요?

  • 10개는 앞면 90개는 뒷면인 동전이 있습니다 눈으로 보거나 만지지 않고 동전을 정확하게 반으로 나누는 방법은?


  OS 의 Oracle Account 를 획득한 경우, sqlplus 로 접속해서 ?/rdbms/admin/awrrpt.sql 을 수행하면 되겠지만, OS 계정을 사용할 수 없는 경우에도, DB User 를 사용할 수 있고, 필요한 권한이 있다면 AWR Report 를 뽑아볼 수 있다.



1. DBMS_WORKLOAD_REPOSITORY 일반


  - Oracle 에서 AWR Snapshot 관리 편의를 위해 제공하는 Package  

  - 주로 사용되는 Snapshot 관리 방법

 항목

명령어 

 AWR Snapshot

 설정 변경


 DBMS_WORKLOAD_REPOSITORY.MODIFY_SNAPSHOT_SETTINGS

 ( [RETENTION => retention_time], [INTERVAL => interval_time], [TOPNSQL => topn_sql_number] ) ;


 AWR Snapshot 

 삭제


 DBMS_WORKLOAD_REPOSITORY.DROP_SNAPSHO_RANGE

 ( LOW_SNAP_ID => snap_id, HIGH_SNAP_ID => snapid [DBID => dbid] ) ;


Baseline 

생성


 PROCEDURE create_baseline(start_snap_id  IN NUMBER,
                                      end_snap_id    IN NUMBER,

                                      baseline_name  IN VARCHAR2,

                                      dbid           IN NUMBER DEFAULT NULL,

                                      expiration     IN NUMBER DEFAULT NULL ) ;


Baseline 
이름변경


 PROCEDURE rename_baseline(old_baseline_name IN VARCHAR2,
                                        new_baseline_name IN VARCHAR2,
                                        dbid              IN NUMBER DEFAULT NULL ) ;

  - DBMS_WORKLOAD_REPOSITORY 에 대해서는 Manual 에 자세히 기술됨



2. DBMS_WORKLOAD_REPOSITORY 로 AWR Report 조회


  A. 필요한 권한 및 명령어


  - 필요권한 : DBMS_WORKLOAD_REPOSITORY 실행, select any dictionary 등 (Privilege 부족 시 ORA-06550 등 발생)     

  - DBID 등은 dba_hist_snapshot 에서 조회

 SQL> select * from dba_hist_snapshot order by begin_interval_time desc ;


  - 주로 사용되는 AWR Report 조회 방법

 항목

명령어 

 AWR Report 

 Text Format


 DBMS_WORKLOAD_REPOSITOR.AWR_REPORT_TEXT

 ( :DBID, :INST_ID, :BEGIN_SNAP, :END_SNAP ) ;


  -- 이하 참조

  FUNCTION awr_report_text(l_dbid     IN NUMBER,

                                      l_inst_num IN NUMBER,

                                      l_bid      IN NUMBER,

                                      l_eid      IN NUMBER,

                                      l_options  IN NUMBER DEFAULT 0)

  RETURN awrrpt_text_type_table PIPELINED;


 AWR Report 

 html Format


 DBMS_WORKLOAD_REPOSITOR.AWR_REPORT_HTML

 ( :DBID, :INST_ID, :BEGIN_SNAP, :END_SNAP ) ;


  -- 이하 참조


  FUNCTION awr_report_html(l_dbid     IN NUMBER,

                                      l_inst_num IN NUMBER,

                                      l_bid      IN NUMBER,

                                      l_eid      IN NUMBER,

                                      l_options  IN NUMBER DEFAULT 0)

  RETURN awrrpt_html_type_table PIPELINED;



  B. AWR Report 조회 셈풀


    B-1. html format 


  -- 실행 셈풀 : 조회



  -- 실행 셈풀 : 결과값



  --  실행 셈풀 : AWR Report <- Copy & Past 로 새로운 html 화일을 생성



    B-2. text format 


  -- 실행 셈풀 : 조회



  -- 실행 셈풀 : 결과값




//-- 이 내용은 Eegloos 의 블루오션 [BLUE OCEAN] 에서 "장땡" 님 글을 그대로 가져 왔습니다.

//-- 블루오션 원문 링크는 http://repository.egloos.com/5790800 입니다.

//-- 아래 "recover database until cancel ; " 를 수행하기 위해서는 Archive Log Mode 이여야 합니다.  

1. 현상


$ lsnrctl start
$ sqlplus "/as sysdba"

SQL*Plus: Release 11.2.0.1.0 Production on Tue Feb 18 10:24:27 2014

Copyright (c) 1982, 2009, Oracle.  All rights reserved.

Connected to:
Oracle Database 11g Enterprise Edition Release 11.2.0.1.0 - 64bit Production
With the Partitioning, OLAP, Data Mining and Real Application Testing options

SQL> startup
ORACLE instance started.

Total System Global Area 2.6991E+10 bytes
Fixed Size                  2213976 bytes
Variable Size            1.9059E+10 bytes
Database Buffers         7784628224 bytes
Redo Buffers              145174528 bytes
Database mounted.
ORA-03113: end-of-file on communication channel
Process ID: 25292
Session ID: 177 Serial number: 3


2. 확인 및 조치사항


# startup단계를 하나하나 실행하여 어디가 문제인지 확인한다.
SQL> startup nomount;
SQL> alter database mount;
SQL> alter database open; ==> 여기서 에러가 발생했다.
alter database open
*
ERROR at line 1:
ORA-03113: end-of-file on communication channel
Process ID: 24832
Session ID: 177 Serial number: 1

# aleter databse mount이후에 아래 명령어를 실행한다.
SQL> recover database until cancel ;
Media recovery complete.
SQL> alter database open resetlogs ;
SQL> shutdown immediate
Database closed.
Database dismounted.
ORACLE instance shut down.
SQL> startup
ORACLE instance started.

Total System Global Area 2.6991E+10 bytes
Fixed Size                  2213976 bytes
Variable Size            1.9059E+10 bytes
Database Buffers         7784628224 bytes
Redo Buffers              145174528 bytes
Database mounted.
Database opened.
SQL>

* database open실 발생하는 원인은 다음과 같은데
  위 사항은 1)번 사항이다.
 1) DATA파일이 깨졌을 때
 2) SN번호 불일치 시 -> "SCN 번호 불일치" 의 오타로 보임
 3) DB의 컨트롤 파일문제 시
 4) 설정파일 오류

3. 추가사항

DB에 문제가 생겨서 강제로 kill로 죽였을 때 
$ sqlplus "/as sysdba"로 접속하여
$ startup하면 ORA-01012: not logged on 에러가 발생한다.
그때는 SQL> startup force로 실행한다.




1. Rimini Street Inc. 


  A. 소개


    - Chairman : Seth A. Ravin, Board of Directors : http://www.riministreet.com/company/corporate-governance/board-of-directors/seth-a-ravin 

    - Homepage : http://www.riministreet.com/

    - Client : Over 1,450 clients | 115 of the Fortune 500 clients | 23 of the Global 100 clients 


  B. 한국지사

  

    - 2016년 8월 김상열 대표를 한국 지사장으로 선임 - http://www.newswire.co.kr/newsRead.php?no=833292 

    - 한국지사 : 삼성동 Trade Tower 

      

South Korea

-----------------------------------------
Rimini Street, Inc.
33rd Fl., Trade Tower, 511 Young Dong Street , Gangnam-gu, Seoul 06164, Republic of Korea 
Tel +82-2-6007-2200 / Fax +82-2-6007-2001


2. Service


  A. 사업영역


    -- 주요 기업 Products 에 대한 technical support

    -- Rimini Street 의 주장에 의하면, "Oracle 기술지원의 경우 : Oracle 대신 Rimini Street 와 유지보수 계약을 체결하면, 고객은 년간 유지보수 비용을 절감 (Oracle 대비 50% 절감) 하면서 유사한 수준의 기술지원을 받을 수 있음, 대신 Oracle 에서 제공하는 신규 제품에 대한 Upgrade 권리 등은 행사할 수 없다" 정도로 이해됩니다. (http://byline.network/2016/08/1-306/) 


  B. 주요 지원 제품


 Vendor

 주요 지원 제품

 비고

 SAP

비즈니스 스위트(Business Suite), 비즈니스 오브젝트(BusinessObjects), 하나 데이터베이스(HANA Database)

 

 Oracle

시벨(Siebel), 피플소프트(PeopleSoft), JD 에드워즈(JD Edwards), 이비즈니스 스위트(E-Business Suite), 데이터베이스(Oracle Database), 미들웨어(Oracle Middleware), 하이페리온(Hyperion), 리테일(Oracle Retail) 및 애자일 PLM(Oracle Agile PLM) 

 


  C. 주요 미지원 제품 


    -- Oracle Appliance 등

 

3. 저작권 이슈


  A. 저작권 분쟁 중 : 2016년 현재 진행 형


 평결일 

 개요

주요 내용 

 관련 link

 2015.10.13

 재판에서 오라클 임원들과 증인들이 제시한 상세한 증언 및 증거들은 오라클 라이선스 사용권자들이 제3자 지원을 구매하는 것이 합법임을 확인했다

 · 배심원은 리미니 스트리트의 저작권 침해를 인정했지만, 이 침해가 “악의 없음”을 인정 

· 배심원은 이 침해가 “의도적”이었다는 오라클의 주장을 기각 

 URL : 2015-10-13-1

 2014. 2. 13

[미국] 법원, 리미니 스트리트의 오라클에 대한 저작권 침해 재확인

 오라클은 리미니가 오라클 제품의 지원 서비스를 제공하는 과정에서 수차례 저작권을 침해했다는 이유로 소를 제기하였고 법원은 오라클에 대해 일부 승소 판결

  URL : 2014-2-13-1

 

 

 

 


  - URL : 2015-10-13-1 : http://www.newswire.co.kr/newsRead.php?no=807364

  - URL : 2014-2-13-1 : http://www.copyright.or.kr/information-materials/trend/the-copyright/view.do?brdctsno=11378&list.do?pageIndex=1&brdctsstatecode=&brdclasscode=&servicecode=06&nationcode=&searchText=&searchTarget=ALL 




1. OGG 가 복제 소스 서버에서 메모리 사용하는 경우


  -- 기본적으로 복제 Source 서버의 OS Memory 를 사용하도로 설정 됨

  -- v$session 과 v$transaction 등을 모니터링 하다가, 추출 대상이 될 가능성이 있는 변경 사항을 확인하면, OS Memory 를 사용해 cache 하고 있다가, 조건이 충족되면 (예> commit 발생 등) 지정된 Trail 에도 저장

  -- BR 을 사용하지 않는 경우 (11gR2 이상 버전은 BR Enable 이 Default) OS Memory 를 더 사용하는 것 같음 => 이 부분에 대한 근거는 없음

 

2. 사용 메모리 제어방법 


  --  Extract 에 CACHEMGR 옵션을 사용 : OGG 11gR1 - 12cR1 까지 공통사항

-- # MEMORY Env

-- CACHEMGR CACHESIZE 2G

CACHEMGR CACHESIZE 2G, CACHEDIRECTORY /home/oraogg/products/dircache

  # CACHESIZE 2G 를 설정하면, 해당 Extract 는 2G 까지만 OS Memory 를 사용, 별도 Directory 를 지정하지 않아도 됨

  # 설정 된 CACHESIZE 로 부족할 경우, $OGG_HOME/dirtmp 에 기본적으로 저장, CACHEDIRECTORY 옵션으로 특정 Directory 를 지정하는 경우, 해당 Directory 에 임시 파일들을 생성 했다가 지우게 됨 ==> 따라서 어느 정도 까지 해당 Directory 의 space 가 필요할 지는 사전에 계산하기 어려움


 CACHEMGR CACHESIZE 2G, CACHEDIRECTORY /oraogg/temp1 2GB, CACHEDIRECTORY /oraogg/temp2 2GB

  # 이렇게 2개 이상의 Directory 에 각각 Size 가 지정된 경우, 해당 Directory 는 지정된 size 내에서만 임시 파일을 생성, 삭제


ps. 이 내용들은 다음 URL 을 참조했습니다. https://docs.oracle.com/goldengate/1212/gg-winux/GWURF/gg_parameters017.htm#GWURF413 

1. DB Instance 의 Archive Log Mode 초기구성 결과 on 11gR2 


  -- 현재 설정 내용

 

 SQL> connect /as sysdba

 Connected.

 SQL> archive log list 

 Database log mode              No Archive Mode

 Automatic archival             Disabled

 Archive destination            USE_DB_RECOVERY_FILE_DEST

 Oldest online log sequence     36

 Current log sequence           38

 SQL>  



2. Archive Destination 을 LOG_ARCHIVE_DEST_1 로 변경 


  -- fast_recovery_area 에 Archive Log 를 떨어 뜨리지 않기 위해서 등등....


 SQL> alter system set LOG_ARCHIVE_START = TRUE scope=spfile ;      

 SQL> alter system set LOG_ARCHIVE_FORMAT = 'DAPPE02_%r_%T_%S.arc' scope=spfile ; 

 SQL> alter system set LOG_ARCHIVE_DEST = '' scope = spfile ; 

 SQL> alter system set LOG_ARCHIVE_DEST_1 = 'location=/u02/arch/DAPPE02' scope = spfile ; 


 -- DB Instance 재가동이 필요

 SQL> shutdown immediate ; 

 SQL> startup mount ; 

 SQL> alter database archivelog ; 

 SQL> alter database open ;



3. 재가동 후 변경 내용 확인


  -- 항상, 확인은 필요하다.


 SQL> archive log list ;

 Database log mode              Archive Mode

 Automatic archival             Enabled

 Archive destination            /u02/arch/DAPPE02

 Oldest online log sequence     36

 Next log sequence to archive   38

 Current log sequence           38

 SQL> 


  -- 아래의 File name 처럼 생성된다. : 포맷은 위에서 'DAPPE02_%r_%T_%S.arc' 설정 했음 => 지금 보니, 굳이 자리수를 맞출 필요 없이 %T 은 %t 로 했었어도 좋았을 것을...


 oraapp112@mwapp:/u02/arch/DAPPE02] ls -al 

 drwxr-xr-x 2 oraapp121 dba     4096 Aug 10 13:33 .

 drwxrwxr-x 4 oraapp112 dba     4096 Aug 10 13:28 ..

 -rw-r----- 1 oraapp121 dba 15956480 Aug 10 13:33 DAPPE02_919102183_0001_0000000038.arc

 -rw-r----- 1 oraapp121 dba     1024 Aug 10 13:33 DAPPE02_919102183_0001_0000000039.arc

 oraapp112@mwapp:/u02/arch/DAPPE02] 






//-- DB 11gR2 Silent Install Script : Short Guide


1. DB 엔진설치 


  -- 설치파일 준비


 oraapp112@mwapp:/home/oraapp112/media] unzip p13390677_112040_Linux-x86-64_1of7.zip

 oraapp112@mwapp:/home/oraapp112/media] unzip p13390677_112040_Linux-x86-64_2of7.zip 


  -- response 파일 수정


 oraapp112@mwapp:/home/oraapp112/media/database/response] cp -p db_install.rsp db_install.rsp.orig

 oraapp112@mwapp:/home/oraapp112/media/database/response] vi db_install.rsp 

    >> 수정 사항 참조 : 일부 Default Value 도 표기

 oracle.install.option=INSTALL_DB_SWONLY

 ORACLE_HOSTNAME=mwapp

 INVENTORY_LOCATION=/u02/oracle/oraInventory_112

 SELECTED_LANGUAGES=en,ko

 ORACLE_HOME=/u02/oracle/product/11.2.0/db

 ORACLE_BASE=/u02/oracle

 oracle.install.db.InstallEdition=EE

 oracle.install.db.EEOptionsSelection=true

 oracle.install.db.optionalComponents=oracle.rdbms.partitioning:11.2.0.4.0,oracle.oraolap:11.2.0.4.0,oracle.rdbms.dm:11.2.0.4.0,oracle.rdbms.dv:11.2.0.4.0,oracle.rdbms.lbac:11.2.0.4.0,oracle.rdbms.rat:11.2.0.4.0

 oracle.install.db.DBA_GROUP=dba

 oracle.install.db.OPER_GROUP=dba

 oracle.install.db.config.starterdb.type=GENERAL_PURPOSE

 DECLINE_SECURITY_UPDATES=true


  -- Silent 로 DB엔진 설치


oraapp112@mwapp:/home/oraapp112/media/database] ./runInstaller -silent -responseFile /home/oraapp112/media/database/response/db_install.rsp 


 As a root user, execute the following script(s):

        1. /u02/oracle/product/11.2.0/db/root.sh


 Successfully Setup Software.    ==> 이렇게 나오면, 엔진이 정상설치 된 것 

    


2. 적절한 PUS 적용


  -- OPatch Update : 생략, 다시 확인 6880880

  -- 적절한 PSU Apply : 생략, 2016년도 어느 때부터 날자로 출시.



3. Listener 구성


  -- response 파일 수정


 oraapp112@mwapp:/home/oraapp112/media/database/response] cp -p netca.rsp netca.rsp.orig

 oraapp112@mwapp:/home/oraapp112/media/database/response] vi netca.rsp 

    >> 수정 사항 참조 : 일부 Default Value 도 표기

 RESPONSEFILE_VERSION="11.2"

 CREATE_TYPE="CUSTOM"

 LOG_FILE=""/home/oraapp112/media/database/response/netca_inst.log""

 LISTENER_NAMES={"LISTENER_DAPPE01"}

 LISTENER_PROTOCOLS={"TCP;1621"}

 LISTENER_START=""LISTENER_DAPPE01""

 NSN_PROTOCOLS={"TCP;HOSTNAME;1621"} 


  -- Silent 로 DB Listener 구성


 oraapp112@mwapp:/home/oraapp112/media/database/response] cd $ORACLE_HOME/bin 

 oraapp112@mwapp:/u02/oracle/product/11.2.0/db/bin] ./netca -silent -responseFile /home/oraapp112/media/database/response/netca.rsp 



4. DB Instance 생성


  -- response 파일 수정


 oraapp112@mwapp:/home/oraapp112/media/database/response] cp -p dbca.rsp dbca.rsp.orig

 oraapp112@mwapp:/home/oraapp112/media/database/response] vi dbca.rsp 

    >> 수정 사항 참조 : 일부 Default Value 도 표기

RESPONSEFILE_VERSION = "11.2.0"

 OPERATION_TYPE = "createDatabase"

 GDBNAME = "DAPPE01"

 SID = "DAPPE01"

 SYSPASSWORD = "Customized_Password"

 SYSTEMPASSWORD = "Customized_Password"

 SYSMANPASSWORD = "Customized_Password"

 DATAFILEDESTINATION = "/u02/data01/oradata"

 STORAGETYPE=FS

 CHARACTERSET = "KO16MSWIN949"

 NATIONALCHARACTERSET= "AL16UTF16"

 SAMPLESCHEMA=TRUE

 AUTOMATICMEMORYMANAGEMENT = "TRUE"

 TOTALMEMORY = "2048"

    # 일단은, AMM 을 활성화 하고, 최소 메모리로 DB Instance 를 생성, DB SID 와 CHARACTERSET 에 주의


  -- Silent 로 Instance 생성


 oraapp112@mwapp:/home/oraapp112/media/database/response] cd $ORACLE_HOME/bin

 oraapp112@mwapp:/u02/oracle/product/11.2.0/db/bin] ./dbca -silent -responseFile /home/oraapp112/media/database/response/dbca.rsp



5. 추가사항


  -- root.sh 수행 잊지 말기 : 엔진 설치 후, DB Instance 구성 후

  -- 여러가지 구성을 대비?해서, oraInventory 와 diag 를 unique 하게 생성~ 나중에 file name 이 unique 해서 폴더 병합이 번거로워짐..  




1. 현상


  - DB12c 이상에서, 특정 Column 에 대한 rename column 혹은 drop column 시, ORA-54032 와 함께 변경이 안됨


SQL> alter table OWNER.AG_NB_RD_SBAS_DD_SUM rename column MRD_STAT_CD to REP_POL_STAT_CD ; 

수행 시,, 아래 Message 를 출력 

"ORA-54032: column to be renamed is used in a virtual column expression"

"ORA-54033: column to be modified is used in a virtual column expression"



2. 원인


  - 해당 컬럼이 virtual column 에 포함되어 있어서 변경이 안됨

  - DB12c 이상 에서는, extended statistics 기능을 위해, 사용자가 생성하지 않은 컬럼도 DB 엔진이 virtual column 으로 지정해 별도 생성, 관리

  - extended statistics 에 대해서 기술된 내용 : This feature enables to Oracle calculate statistics on a group of columns. It uses this information to improve row estimates. This is useful when there's a correlation between the values of two (or more) columns in a table.

  - SYS_OP_COMBINED_HASH 은 an undocumented feature 라고 합니다. The name implies Oracle is merging the arguments together to form a hash 라고 기술되어 있습니다.

  

  - 확인 방법

SQL> select OWNER, table_name, column_name, data_type, hidden_column, data_default

        from dba_tab_cols

        where table_name ='해당_TABLE_NAME' and virtual_column = 'YES'

  # data_default 에 해당 column 이 포함되어 있다면, ORA-54032, ORA-54033 와 함께 변경이 안됨


  - 확인 결과 (셈풀)

COLUMN_NAME                 DATA_DEFAULT        HIDDEN_COLUMN

------------------------------                 --------------------------------------   ---------------------

SYS_STUYPW88OE302TFVBNC6$MMQXE SYS_OP_COMBINED_HASH("X","Y") YES

Z                                                                                         NO

Y                                         NO

X                                         NO 

  # 위와 같이 조회 되는 경우, X 와 Y 의 2개 Column 은 SYS_OP_COMBINED_HASH 에 속한 virtual column 이 됩니다.



3. 조치방법


  3-A. 해당 extended statistics 컬러을 삭제


  - 아래 Package 를 통해 삭제 가능


SQL> exec dbms_stats.drop_extended_stats( ownname => 'OWNER', tabname => '해당_TABLE_NAME', extension => '("BASE_YM","MRD_STAT_CD","MRD_PROD_CD")' ) ;

  혹은

SQL> exec dbms_stats.drop_extended_stats(OWNER, '해당_TABLE_NAME', '(BASE_YM, MRD_STAT_CD, MRD_PROD_CD)');


  - 아래 Package 를 통해 생성 가능 (필요하다고 판단할 경우, DB 가 다시 생성)


SQL> exec dbms_stats.create_extended_stats( ownname => 'OWNER', tabname => '해당_TABLE_NAME', extension => '("BASE_YM","MRD_STAT_CD","MRD_PROD_CD")' ) ;


  3-B. 해당 Table 을 재생성 : 재생성 데 따른 제약은 없습니다. 


SQL> alter table OWNER.AG_NB_RD_SBAS_DD_SUM drop primary key cascade ;  

SQL> drop table OWNER.AG_NB_RD_SBAS_DD_SUM cascade constraints ;

 

SQL> create table OWNER.AG_NB_RD_SBAS_DD_SUM ( ------  생략  ) ;



ps. 이 내용은 다음 URL을 참조하였습니다 : https://blogs.oracle.com/sql/entry/ora_54033_and_the_hidden 

+ Recent posts