//-- 주관적 기준으로 다음 여행을 기약하며 정리, 초안 2016.09.월 


1. 실속형 숙소


  A. 제주시권


  B. 서부권


    - 제주항공우주호텔 

      > 특징 : 제주항공우주박물관 동일 구역 내 위치, 오설록(녹차밭) 인접  

      > 지리적 위치 : 약간 외진 편이나, 서부권 관광지를 둘러보는 위치로 우수

      > 숙박비 : 1박에 7만-10만(주말/2-4인) 선, 2016년 기준

      > 조식 : 우수, 가성비 최고.

      > 편의시설: 편의점만 보유 => 수영장이나, 커피전문점 정도만 추가되어도 좋을 듯

      > 평판 : 서부권 가족 숙박지로 최적이라는 평가가 다수 

        = http://blog.naver.com/PostView.nhn?blogId=gikimi23&logNo=220579561833&categoryNo=0&parentCategoryNo=98&viewDate=&currentPage=1&postListTopCurrentPage=1&from=postView

    

  C. 중문/서귀포권



  D. 동부권/성산


    - 더포그레이스 호텔앤리조트 (http://thefourgraces.co.kr/)

      > 특징 : 2015-6년경 신축, 

      > 지리적 위치 : 우도, 성산일출봉, 섭지코지 방문 시 5-20분 거리에 위치, 인근에서 가장 깔끔한 편

      > 숙박비 : 1박에 7만-10만(주말/2인) 선, 2016년 기준

      > 조식 : 호불호가 갈림

      > 편의시설: 유아 수영장, 편의점, 빨래실 등 보유

      > 평판 : 성산 일대에서 가족 숙박지로 최적이라는 평가가 다수 

        = http://m.blog.naver.com/yu_di/220661076899, 

        = http://m.blog.naver.com/ii33iizz/220631315798 


2. 맛집


  A. 제주시권


    - 마꼬또 : 초밥전문점 http://blog.naver.com/PostList.nhn?blogId=mazingaz&from=postList&categoryNo=22 

    - 부두식당 : 애월읍, 고등어회 옥돔국 http://blog.naver.com/PostList.nhn?from=postList&blogId=mazingaz&categoryNo=22&currentPage=4 

    - 또와요국수 : 노형동 위치, 보말국 http://blog.naver.com/PostList.nhn?from=postList&blogId=mazingaz&categoryNo=22&currentPage=5


  B. 서부권

  C. 중문/서귀포권

  D. 동부권/성산


3. 관광지 


  A. 제주시권


   - 국립제주박물관 (어느 곳이든, 국립 박물관은 들려야~)

   - 제주특별자치도 민속자연사 박물관


  B. 서부권


    - 오설록

    - 렛츠런파크 (제주도의 서울대공원 개념)  

    - 방주교회 (나름 아름다움) http://gong6587.tistory.com/1144 


  C. 중문/서귀포권


    - 천제연폭포 (다소 미흡)    

    - 천지연폭포 (다소 미흡)   

    - 대포동 주상절리대 

    - 외돌개

    - 이중섭미술관 (소소)

    - 서귀포잠수함 (단지 한번의 경험)

    - 제주워터월드 (굿이 제주도에서 까지, 그러나 이런 곳도 있음)


  D. 동부권/성산

 

    - 성산일출봉

    - 섭지꽂코지

    - 우도

    - 비자림

    - 삼굼부리

    - 에코랜드 (유료이나, 가치가 있음)

    - 만장굴




 




  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 


  -- 실행 셈풀 : 조회



  -- 실행 셈풀 : 결과값




인덕원 역 인근에 있는 (인덕원역에서 갈 수 있는) 치과, 충치치료, 치아관리 전문병원들 - 2016년 8월 기준 - 

미용 보다는 치료, 관리 받을 수 있는 곳 중심으로 기술


1.  중앙치과의원


  - 특     징 : 오래된, 동네 어른들이 계속 다니시는 병원, 예약제 (그냥 가면 2시간을 기다릴 수도)

  - 위     치 : 동안구 평촌대로223번길 68 402호(호계동,중앙프라자), 범계역 1번 출구, 로데오거리 첫 사거리 위치

  - 진료시간 : 평일 09:30-19:00 / 토요일 09:30-14:00 / 공휴일 휴무 (점심 13:00-14:00)

  - 연 락 처 : 031-388-5381 

  - 주    차 : 없음 (범계역 로데오거리 유료주차)

  - 홈페이지 : 없음


2. 서울e고은치과의원


  - 특     징 : 천천히 꼼꼼히 치료, 병원에 여러번 가게 됨. 예약제

  - 위     치 : 동안구 흥안대로 458 (평촌동 72-9), 평촌메가타운 302호  

  - 진료시간 : 평일 09:30-18:30 / 수요일 09:30-21:00 / 토요일 09:30-13:30 

  - 연 락 처 :  031-422-9975

  - 주     차 : 건물 지하 주차장 (차량용 승강기가 좁음)

  - 홈페이지 : 


'Life > 건강-운동-치료' 카테고리의 다른 글

평촌 인덕원역 인근 피부과 피부전문병원  (0) 2016.08.23

인덕원 역 인근에 있는 (인덕원역에서 갈 수 있는) 피부전문병원들 - 2016년 8월 기준 - 

미용 보다는 피부과 진료를 받을 수 있는 곳으로 기술


1.  라자로성모의원 


  - 특     징 : 라자로마을 피부과 전담 (30년) 개인의원

  - 위     치 : 호계동 873번지, 덕유파크 2층 (1층 새마을 금고) - 2014년11월 현재 위치로 이전

  - 진료시간 :  평일 -17:00 까지도착 / 토요일 ~12:00까지 진료

  - 연 락 처 :  031-452-8836

  - 주    차 : 건물 지하주차장 (새마을금고 끼고 지하로, 지하 2-3층 사용)

  - 홈페이지 : www.lazaroclinic.com/  


2. 서울로젠피부과 ===> 이전 : 위치불명


  - 특     징 : 2011년 개원, 인근에서 가장 붐비는 피부과 전문병원, 서울대 출신 의사

  - 위     치 : 평촌동 138-1번지, 새중앙교회 맞은 편, 서울안과 건물 3층 <=== 피부과 없음

  - 진료시간 :  

  - 연 락 처 :  031-423-7588 ===> 없는 번호

  - 주     차 : 건물 주차장

  - 홈페이지 : N/A


3. 푸른외과의원


  - 특      징 : 인근에서 진료 잘 하는 외과전문 개인병원, 간단한 피부과 진료 가능 -> 피부과 진료도 잘함

  - 위      치 : 동안구 흥안대로456번길 30 (평촌동) 2층 (1층 중앙약국) 평촌돈 주민센터 맞은편)

  - 진료시간 : 평일 17:30 시 까지 방문 권장 (20시 까지 진료) / 주말-공휴일 13시 까지 진료 <= 몇차례 시간 변동됨 

  - 연 락 처 :  031-424-9011

  - 주     차 : 안됨 (인근 홈플러스 마트 옆 공터에 주차 권고) 

  - 홈페이지 : 미확인



'Life > 건강-운동-치료' 카테고리의 다른 글

평촌 인덕원역 인근 치과 충치치료  (0) 2016.08.23

//-- 이 내용은 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