'전체 글'에 해당하는 글 2235건

 

Vue.js 란 무엇인가?

 

프론트엔드 개발자가 익혀야 하는 범주에 들어가는 SPA(Single-page application) 프레임워크 중 하나이다. SPA 는 프레임워크만의 기술로 렌더링하여 한번에 웹페이지 전체를 로드하는 방식으로, 이미 웹프론트 개발에 자리 잡은지 오래다. 이런 멋진 SPA 사이트를 만들기 위해서는 VueJS 나 ReactJS, AngularJS 중 하나를 학습하면 된다.

 

 

Vue.js 를 사용하는 이유?

 

Vue 는 Angular 나 React 에 비해 코드가 간결하고 자바스크립트를 덜 몰라도 개발하는데 문제가 없다고는 하는데... 그리고 HTML 렌더링하는 시간이 아주 쬐끔 더 빠르다고 한다. 개인적으로는 프론트 개발자는 아니지만 잠시 해야할 필요가 있다면 Vue, 프론트 개발자이면서 전문성을 높여야 한다면 React 를 배우는 것이 낫지않나 싶다.

 

 

Vue 사용법

 

스크립트로 vue.js 를 불러오고, js 에서 Vue 인스턴스를 이용하여 DOM 의 데이터를 렌더링하는 가벼운 예제이다.

 

<script src="https://unpkg.com/vue@next"></script>

<div id="counter">
  Counter: {{ counter }}
</div>

<script>
const Counter = {
  data() {
    return {
      counter: 0
    }
  }
}

Vue.createApp(Counter).mount('#counter')
</script>

 

 

Vue 개발 환경

 

아마도 프레임워크를 저런식(?)으로 호출해서 사용할 일은 없을 것이고, VS code 나 WebStorm 정도의 IDE 를 사용해서 효율적으로 Vue 를 시작하게 될 것이다. 또한 npm 이나 yarn 같은 자바스크립트 패키지 관리 툴도 필요하다.


WRITTEN BY
손가락귀신
정신 못차리면, 벌 받는다.

트랙백  0 , 댓글  0개가 달렸습니다.
secret

개발자 키보드

Daily/Diary 2021. 8. 7. 02:48
Varmilo VA87M RE PBT 45g (저소음적축)
RealForce R2 TKL R2TLS-US5-BK 55g (저소음)

 

이번에는 컴퓨터 키보드 이야기다. 컴퓨터를 본격적으로 사용한게 고1 부터 였으니까 28년 동안 참 오래도 두드렸네. 지금까지 가장 비싼 키보드를 샀던게 4만원짜리 로지텍 머시기였나. 펜타그래프. 마우스 이뻐서 사려다가 세트로 샀던게 가장 비쌌던 것 같다. 키보드는 그저 요상하게 생기고 불 들어오면 짱인 줄로만 알고 살아왔다. 그렇게 키보드에는 관심 1도 안가지고 살고 있었는데 언젠가부터 팀에 이상한 애들이 하나씩 생기기 시작했다. 조그맣고 요상한 키보드를 가져와서 관심을 받더니 들리는 얘기에 의하면 디게 비싼 키보드라고 했다. 전혀 관심이 없었다가 도움을 주러 잠시 그 자리에 갔는데 Ctrl 인지 Shift 였는지 배열이 요상하게 되어 있어서 타이핑도 맘처럼 되지 않았었다. 지금 돌이켜보면 아마도 그 제품은 해피해킹 이었던것 같다.(최근엔 키보드 공부를 좀 했다) 그 이후 비싼 키보드에는 더욱 관심을 끊고 살고 있었다. 그러다가 또 다른 팀에 어떤 아웃사이더 녀석이 갑자기 엄청난 소리의 키보드를 사와서는 관종 짓을 했다. 난 키보드를 세게 치는 건줄 알았는데 원래 저렇게 소리가 크게 나는 키보드라고 했고 들리는 얘기에 의하면 그것도 디게 비싼 키보드라고 했다. 난 정말 비싼 키보드에 정내미가 다 떨어져 버렸다.

 

그리고 얼마전 모 회사를 방문했는데 그곳에 약 20명 정도의 개발자들이 전부 독특한 키보드를 가지고 있었다. 그 때는 브랜드를 몰라서 충분히 감탄하지는 못했다만, 키보드 소리가 아주 조용하고 고급져 보였다. 그 팀만의 스웩이 느껴지는... 그리고 집에와서 고급진 키보드의 필요성에 대하여 고민을 하기 시작했다. 어짜피 하루종일 키보드 두드리는거 비싼 키보드 두드리면 더 좋을까? 당연히 돈 ㅈㄹ이긴 하다. 타이핑만 하고 컴퓨터가 인식만 하면 그 뿐인데 여기다가 돈을 바른다고?ㅎㅎ 만원짜리도 있는데 굳이 30배를 주고? 똑같은 기름넣고 다닐거 이왕이면 비싼 차에 넣고 다니고 싶은 그런 마음과 동일할 것이다. 오히려 차에 비하면 키보드 가격은 아무것도 아니지.(과소비의 전형적인 타협)

 

그리고는 유튜브로 요즘 대세 키보드를 열심히 찾아봤다. 적축, 흑축, 청축 머 벼라별 것들이 다있었고 커스터마이징에 윤활 작업까지 이 동네도 이미 덕후들이 널려 있었다. 어떤 키보드가 내 마음을 사로잡을까. 일단 기계식 키보드 중에서도 접점 소리나는 것들은 다 패스. 소리나는 키보드를 쓸 수 있는 곳도 없을 뿐더러 그것들은 지금껏 사용해 오던 것들과 딱히 다를 바가 없어서 제외. 그리고 크기를 줄이기 위해 거의 표준과 비슷한 배열을 가진 텐키리스로 한정. 결국 '보글보글', '서걱서걱' 무접점 저소음을 중심으로 찾아봤다. 토프레 원조 리얼포스를 비롯하여 레오폴드 정도가 눈에 들어왔다. 그 중에서도 Gray Blue 색상이 가장 눈에 들어왔는데... 뭐... 온통 품절이다.(텐키리스 87키 기준) 고가 키보드 열풍은 18~19년도에 이미 절정에 오른 듯 했고, 인기있는 제품들은 그 때 다 품절된 듯 했다. 재입고 되도 순식간에 동나고. 난 또 이미 지난 유행을 따르는 중이고... 막상 사려는데 못사게 되니 이성을 점점 잃어갔다. 중고나라에서 중고마저 알아봤지만 물론 중고도 거의 없다. 글이 올라오면 순식간에 판매되는 듯. 중고나라까지 기웃거리는 나도 한심하지만 대체 저 키보드가 뭐라고, 기능이 추가된 것도 아니고 그냥 아무 기능없는 잡 키보드일 뿐인데.

 

 

아무튼 손에 꼽던 브랜드들을 뒤로 하고 적당한 가격선에서 더 찾아보다가 내 눈길을 끌은 제품이 바로 바밀로(Varmilo) VA87M RE 45g 저소음 적축이다. 45g 이 가장 보편적이라고 해서 선택했는데... 100점 만점에 100점 줬다. 일단 타건감이 유튜브에서 보고 내가 상상한 그 느낌과 너무 똑같았다. 키보드 표면이 맨들맨들 한 것은 호불호가 갈릴 것 같기도 하고, 저소음 적축소리는 100점. 구매 후에 모든 키를 다 두드려 봤는데, 키보드의 중앙인 H 키를 스프링 튀어오르 듯이 떼면 기판 속 울림이 텅텅거리며 신경쓰여서 높이 조절도 해보고 패드도 깔아보고 했는데 방법이 없었다. 그런데... 어느날 갑자기 그 소리가 사라졌다. 내가 익숙해 진건가? 지금도 세게 눌러보지만 고의적으로 튕기지 않는 한 신경 쓰이던 소리가 나지 않는다. 암튼 그래서 100점.ㅋ 또 1kg 에 육박하는 키보드 무게로 흔들림이 없음.(다른 잡 옵션들은 소개 않겠음) 아무튼 16만원 정도로 100프로의 만족감을 느낀 나는, '비싼 키보드로 일을 하면 과연 일이 더 잘될 것인가?' 의 질문에 백퍼 그렇다 라고 대답하고 싶다. 아무래도 비싸고 좋은 키보드라는 생각에 자꾸 두드리고 싶은 마음?이 실제로 들었다. 이 보다 더 비싼 키보드를 사면 더 좋은 타건감과 더 일하고 싶은 욕구가 생길 수 있을 것 같다는 생각에 나는 또 한번의 결심을 한다.

 

 

키보드 끝판왕 토프레 리얼포스를 뒤져보다가 리얼포스 R2 TKL R2TLS-US5-BK 55g 저소음(TLSilence)을 선택했다. (막상 사고보니 바밀로와 너무 흡사한;) 과연 이 끝판왕 피보드는 두 배의 가격에 두 배의 기쁨을 줄 것인가? 결론은... 안타깝게도 아니올시다... 타건 5초 후에 바로 현타 왔다. 바밀로가 무접점 저소음 역할을 정말 충실히 했다고 생각한다. 물론 그보다 더 저렴한 제품 중에서도 훌륭한 제품들이 있을 것이다. 하지만 기대가 너무 컸던 것일까. 바밀로와의 타건감 차이는 거의 느끼지 못했다. 사실 무접점 저소음은 대부분 비슷할 거라고 본다. 단지 그 안에서의 '보글보글', '서걱서걱' 하는 소리가 아주 조금씩 다를 뿐이다. 만약 모든 키보드가 동일한 가격이라면 어떤 소리가 고급진 소리인지 객관적으로 판단하기란 불가능할 것이다. 의태어는 단지 개취일 뿐일테니. 그저 비싼 키보드에서 나오는 소리를 고급진 소리라고 느끼는 것일뿐. 물론 사용해 본 결과 리얼포스 키보드도 100% 마음에 든다. 바밀로의 매끈한 키 표면보다는 조금 까칠한 리얼포스의 키가 나에겐 더 맞고, 45g 보다는 55g 이 더 맞는 것 같다. 45g 을 써보니까 잘못 스치면 키 입력이 되는 경우가 간혹 있어서 55g 을 선택했는데, 키가 너무 무겁다는 사람들도 있었지만 나한테는 55g 이 더 잘 맞는다. 같은 이유로 균등 모델을 선택하지도 않았다. 아참, 그리고 이 키보드에는 치명적인 단점이 하나 있다. 유독 백스페이스에서만 텅텅거리는 소리가 나는데 진짜 귀에 거슬린다. 왜 이렇게 만든지는 모르겠는데 종특이라고들 하니 포기하고 금방 적응을 하긴 했다. 참고로 회사에서 이 키보드를 쓰고 있는데 대충 빨리 타이핑 하다가 백스페이스 눌러대던 습관이 많이 사라졌다. 사람들한테 미안해서 백스페이스를 최대한 안누르려다 보니 타이핑의 속도가 늦어지고 정확도가 나아졌음.ㅋ 아 또 하나의 단점을 꼽자면 저 위에 덮개가 리얼포스꺼는 6만원인가 한다.ㅋㅋ 저건 만원짜리 노브랜드. 쫌 양아치긴 하다. 하나같이 내가 맘에 들어하는 것들은 왜 전부 일제인 것인가.ㅠ

 

이게 이 두 키보드를 한 달 동안 써본 후기이다. 하나는 회사에서 하나는 집에서 열심히 사용하고 있다. 어쨌거나 단순히 비싸고 보글보글한 키보드를 써보고 싶었던 목표는 이렇게 가벼운 돈ㅈㄹ로 이루긴 했다. 키보드는 말 그대로 소모품이며 취향이다. 나에게 선물하기에 아까울 정도로 값비싼 것도 아니며 컴퓨터와 함께 하는 시간이 많은 사람이라면 더욱 지르기 좋은 소품 중 하나인 것 같다. 비싼거 사더라도 충분히 백분 다 활용할 수 있다면 만족하지 않겠는가. 이미 인터넷이나 유튜브에는 후기들이 넘쳐나서 우리같은 줍줍이들은 그저 줍기만 하면 된다. 가성비를 선택하느냐 브랜드를 선택하느냐 이 사이에서 선택만하면 될 뿐.

 

 

 

 

 

 


WRITTEN BY
손가락귀신
정신 못차리면, 벌 받는다.

트랙백  0 , 댓글  0개가 달렸습니다.
secret

 

그 동안의 무심함에 미안함을 조금 가지며 JAVA 근황을 좀 살펴 보았다. 보아하니 발전을 많이 했다기 보다 버전만 열심히들 올렸네. 8인가 열심히 쓰고 있었는데 16이라니... 앞으로 신규 프로젝트들은 뭘루 시작해야 하나. OpenJDK 8 과 11 사이에서 어떤 것이 현명한 선택인지 모르겠다.

 

 

OpenJDK

Download and install the open-source JDK for most popular Linux distributions. Oracle's free, GPL-licensed, production-ready OpenJDK JDK 16 binaries are at jdk.java.net/16; Oracle's commercially-licensed JDK 16 binaries for Linux, macOS, and Windows, bas

openjdk.java.net

 

AdoptOpenJDK

AdoptOpenJDK provides prebuilt OpenJDK binaries from a fully open source set of build scripts and infrastructure. Supported platforms include Linux, macOS, Windows, ARM, Solaris, and AIX.

adoptopenjdk.net

 

Java 버전 별 변경점들을 정리해 봤다.


Java SE 17 LTS (2021.09)

  • Java 8, 11 을 잇는 세번째 LTS 버전(3년마다 배포)
  • 애플릿 완전 제거

 

Java SE 16 (2021.03)

  • OpenJDK 버전관리가 Mercurial 에서 Git 으로 변경.
  • jpackage 명령어로 자바 프로그램 손쉽게 배포(pkg, deb, msi 등)
  • 패턴 매칭 정식 지원
  • Record 형식 정식 지원

 

Java SE 15 (2020.09)

  • EdDSA 암호화 알고리즘 추가
  • 다중 텍스트 블록 (""")

 

Java SE 14 (2020.03)

  • instanceof 패턴 매칭
  • record (data object) 선언 기능 추가

 

Java SE 13 (2019.06)

  • switch 문에 yield 예약어 추가

 

Java SE 12 (2019.03)

  • Switch 문의 확장 : case MONDAY, FRIDAY, SUNDAY -> System.out.println(6); 

 

Java SE 11 LTS (2018.09)

  • 일반 지원은 2023년 9월, 연장 지원은 2026년 9월에 종료될 예정
  • Oracle JDK 와 Open JDK 통합 (Oracle JDK는 구독형 유료 모델로 전환)
  • 이클립스 재단으로 넘어간 Java EE가 JDK에서 삭제되고, JavaFX도 JDK에서 분리되어 별도의 모듈로 제공. 
  • 람다 파라미터에 대한 지역변수 문법 변경: (var x, var y) -> x.process(y) => (x, y) -> x.process(y)
  • HTTP 클라이언트 표준화 기능 추가 (jdk.incubator.http 패키지가 표준화되어 java.net.http 패키지로 추가)
  • 엡실론(Epsilon) 가지비 컬렉터 : 오버헤드의 최저지연과 할당 제한이 가능한 완전한 수동 가비지 컬렉터 적용

 

Java SE 10 (2018.03)

  • var 키워드를 이용한 지역변수 선언 및 타입추론 가능
  • 병렬 처리 가비지 컬렉션 도입으로 인한 성능 향상
  • JVM 힙 영역을 시스템 메모리가 아닌 다른 종류의 메모리에도 할당 가능
  • 루트 CA 목록 추가
  • JDK의 Repository가 하나로 통합
  • Deprecated된 API는 Java SE 10에서 모두 삭제

 

Java SE 9 (2017.09)

  • Jigsaw 기반 런타임 모듈화(기존 jar 방식 개선)
  • JAVA 를 인터프리터 언어 쉘처럼 사용할 수 있는 JShell 추가
  • immutable collection / HTTP/2 / private 인터페이스 메소드 / HTML5 Javadoc / 프로퍼티 파일에 UTF-8 지원
  • 1.x 버전에서 9.0 으로 판올림이 일어나며, 6개월마다 새로운 버전 업데이트

 

Java SE 8 (2014.03)

  • Oracle JDK vs Open JDK (오라클 인수 후 첫번째 버전)
  • Lambda 표현식 및 함수형 프로그래밍
  • 날짜 및 시간 API(java.time 패키지)
  • Stream API 추가
  • JavaScript 엔진 Rhino -> Nashorn
  • 32비트를 지원하는 마지막 공식 Java 버전

 

Java SE 7 (2011.07)

  • Switch 문에서 문자열 사용 가능 : case "MON"
  • generics 타입 추론(생략 가능) : Map<String, Object> map = new HashMap<>();
  • try-with-resources 자동 리소스 해제(close) : try (SomeResource resource = getResource()) { ...
  • Diamond Operator <> 지원
  • 멀티프로세서 처리 : Fork/Join Framework
  • ECC 암호화 내장
  • 이진수 표현 (2진수는 0b, 8진수는 0, 16진수는 0x로 시작)

 

Java SE 6 (2006.12)

  • J2SE 에서 Java SE 로 표기가 바뀜.
  • JDBC 4.0, Java Compiler API, Pluggable Annotation 등이 추가
  • Rhino JavaScript 엔진이 기본으로 탑재

 

Java SE 5 (2004.09)

  • generics, annotation, enum, foreach, ...

 


WRITTEN BY
손가락귀신
정신 못차리면, 벌 받는다.

트랙백  0 , 댓글  0개가 달렸습니다.
secret

치악산

Daily/Hiking 2021. 7. 25. 18:01

서울 낮 기온 35도 예상. 이 날씨에 등산이라? 후후 이 무더운 여름에 산 기온 한번 보고 가실게요~

 

 

산바산이긴 하지만 적당한 거리의 적당한 산을 골라보면 여름에도 이렇게 꿀 기온을 만낄할 수 있다. 참고로 난 최근 3년 동안 등산을 즐겨 했지만 7~8월에 간 적은 오늘이 처음이었다. 이유는 당연했다. '이 날씨에 등산을 한다고?'

 

요즘 운동을 너무 못해서 용문산이나 소요산 정도 조금은 쉬운 산을 생각해 놓고 있었는데 갸들도 최고기온 32도, 그나마 가까운(2시간 안걸리는) 거리에서 치악산을 골랐다. 강원도 산골도 아닌디 오늘 최고 기온 23도? 내 눈으로 직접 확인하러 치악산으로 고고싱 했다. 사이트에서 2시간 반 코스라고 하니 5시 반 일출을 보기 위해서는 새벽 3시에 입산해야 하고 집에서 무료도로로 대충 2시간 걸리니 새벽 1시에 출발. 전날에 술먹고 오후 4시까지 이불 속에서 괴로워했더니 새벽에도 팔팔했다.

 

치악산도 코스가 몇개 되는데, 상원사 / 구룡사 / 세렴폭포 / 향로봉 / 남대봉 은 다음 기회에. 내가 선택한 코스는 정상(비로봉) 최단 코스.

 

※ 코스 
황골탐방지원센터 - 입석사(입석대) - 깔딱고개 - 향로봉삼거리 - 비로봉(정상) - 원점회귀

 

 

역시나 베스트 드라이버 실력으로 25분 가량 일찍 도착해서 슬슬 입산 준비를 했다. 이것저것 장착하다 보니 오늘도 깜빡하고 못챙긴 것들이 있다. 수건과 후레시. 이놔 요즘 정신머리. 야간 산행을 하는데 후레시를 놓고 오다니... 좀 약하긴 하지만 휴대폰 후레시로 대충 카바했다. 오늘은 입산한지 얼마 안되어 운좋게 한팀이 내 뒤에 나타났다. 곧 추월을 당하긴 했지만 새벽 산행에서 혼자가 아니라는 사실 하나 만으로도 큰 위안이 된다. 일출보러 몇번 가보니 대충 노하우가 생겼다. 일출은 최대한 유명한 산으로 가는 것이 동행자를 만날 가능성이 크다. 예로 설악산이나 지리산은 새벽에 사람들 넘쳐난다. 하지만 그외 마이너 산들의 경우 사람도 없고, 풀들이 길 가로 막아서 헤쳐나가야 하고, 몇 발자국 갈 때마다 거미줄 테러를 당해야 한다. 끔찍하지. 암튼 오늘은 나를 앞지른 한팀 덕분에 거미줄 테러는 없었다. 무야호~

 

 

후레시로 땅만 밝히고 우측에 시원한 계곡 소리를 들으며 서서히 오르다 30분쯤 지났을까 입석사를 지났고 다시 40분쯤 지나 쥐너미재 전망대에 올랐다. 그리고 20분쯤 지나 비로봉 도착. 잉? 2시간 반 걸린다고 했는데 1시간 반 걸렸다. 하하~ 1시간 동안 머하고 있지. 우선 일출이 가능할 것 같은 하늘을 확인하고는 이리저리 돌아보며 연신 셔터를 눌러댔는데, 그래도 한 50분 남았음...ㅋㅋ 문제는 땀이 식으면서 저체온증 올 것 같은 느낌. 이 무더위 속에도 역시 정상의 바람은 예사롭지 않았다. 체감온도 15도 정도. 다른 사람들은 익숙한듯 바람막이 하나씩 꺼내서 입고 있는데, 나는 대체 가방을 왜 가져온거지. 음... 하나 또 배워간다. 원래 계획은 일출 약 10분 전에 도착하는 거였는데, 어쨌든 그 덕분에 동 트기 전의 새벽도 보고. 오늘 등반도 성공적이다. 일출을 한 10명 정도에서 본 거 같은데, 아지매도 아재도 대단들 하시다. 그 중에서도 당연 내가 제일 어려보이긴 했음.

 

 

날 밝고나서는 내려 오면서 사진도 좀 찍어가며... 입석대랑 마애불좌상도 보고 하산을 마쳤다. 입석대 하니 무등산이 생각이 나는구먼... 한 줄 평을 하자면, 역시나 국립공원이라 코스가 친절하다. 비포장이 많이 없고 길도 넓은 편이라 천~천히 오르기에 너무 잘 되어 있다. 손으로 돌이나 나무를 짚어야 할 일도 없다. 오르는 느낌은 소백산 때랑 많이 비슷했고, 비로봉에 오르기 전까지는 역시나 별 조망이 없다. 향로봉삼거리 쯤부터 비로봉미륵불탑이 보이긴 함. 머 이정도? 요즘은 등산로 에어브러쉬가 왜케 안보이나 모르겠다. 맨 마지막에 온몸에 땀과 먼지를 날려버려야 마무리한 느낌이 드는데...

 

 

오늘은 반성. 다음번에는 준비물 적어놓고 철저하게 다 챙겨오는 걸로. 아까 휴대폰 후레시 용으로 쓰다가 잠깐 떨어트렸었는데 돌에 떨어졌으면 진짜 개작살 날뻔 했는데 다행히 흙에 떨어져서... 그 생각만 하면 아찔~ 또 오늘 돌아오는 2시간 동안 1시간은 졸면서 왔는데 진짜 위험했음. 잠 푹 자고 다녀야지. >.< 끝!

 

 


WRITTEN BY
손가락귀신
정신 못차리면, 벌 받는다.

트랙백  0 , 댓글  0개가 달렸습니다.
secret

ORACLE dump import

Daily/Prog 2021. 7. 22. 00:14

 

초보 오라클러가 오라클 데이터를 덤프받아 import 하며 간만에 크게 삽질한 과정을 적어본다. (난 도대체 언제까지 초보일껀가?) impdp 과정에서 오류나는 tablespace 열심히 만들고, 그 외에 유독 눈에 띄는 오류들이 있었다.

 

ora-12899: value too large for column actual x maximum n

 

아니 똑같은 스키마에 덤프 떠서 고대로 넣는데 먼 소린고... 

 

무시하다가 나중에 데이터를 확인했는데 같은 테이블에서도 어떤 컬럼은 한글이 깨지고 어떤 컬럼은 안깨지고... Mysql 에서도 테이블 별로 인코딩 설정은 가능하지만, 컬럼 별로 깨지고 안깨진다? 오라클 초보자로서는 당최 이해할 수가 없었는데 검색을 조금 해보니 알 것 같았다. KO16MSWIN949 의 2바이트짜리 한글들이 AL32UTF8 의 3바이트 한글로 넘어오면서 컬럼값이 넘친 것이니 인코딩 문제는 맞다. 아니 오라클 깔면 기본으로 UTF8 쓰게 되어 있는데 굳이 바꿔 가지고 이렇게들 피곤하게 할까잉...

 

오라클에서 인코딩 관련 설정 2개 / 언어 관련 설정 2개를 찾았다.

 

SELECT name, value$
FROM sys.props$
WHERE name IN ('NLS_LANGUAGE','NLS_TERRITORY','NLS_CHARACTERSET','NLS_NCHAR_CHARACTERSET');

or

SELECT * 
FROM NLS_DATABASE_PARAMETERS 
WHERE PARAMETER IN ('NLS_LANGUAGE','NLS_TERRITORY','NLS_CHARACTERSET','NLS_NCHAR_CHARACTERSET');

--NLS_LANGUAGE AMERICAN
--NLS_TERRITORY AMERICA
--NLS_CHARACTERSET AL32UTF8
--NLS_NCHAR_CHARACTERSET AL16UTF16

 

NLS_CHARACTERSET : char / varchar 데이터타입에서 사용하는 문자셋

NLS_VCHAR_CHARACTERSET  : nchar / nvarchar 데이터타입에서 사용하는 문자셋

 

 

역시 덤프 받아온 운영DB 와 NLS_CHARACTERSET 이 달랐고, varchar 의 한글만 문제가 발생한 것이다. KO16MSWIN949 로 인코딩 변경이 필요했다.

 

 

SQL> update props$ set value$='KO16MSWIN949' where name='NLS_CHARACTERSET';
SQL> commit;
SQL> shutdown immediate;
SQL> startup;

 

인터넷에서 대충 검색 해보고 뙇! 역시 천재라고 잠시 생각했지만, update 하면서 인코딩 값에 오타가 들어갔었는지 습관적으로 커밋은 했는데 startup 에 실패했다. 그 일순간의 오타로 오라클을 재설치까지 했다.ㅋㅋ nomount 하고 어쩌구 저쩌구 하면 가능하다고는 하는데, 난 모르겠고 빨리 재설치를 빨리 하는 것이 더 이득인 상황. 어짜피 이미 깨진 한글 다시 넣으려면 테이블들 다 확인해서 drop 을 하던 truncate 를 하던 해야 할 상황이었는데, 재설치가 빠르지... 라는 타협을 하고서는 ./deinstall ㅋㅋ 역시 뭔 프로그램이던 삭제는 참 빨라. $ORACLE_HOME 이랑 oradata 디렉토리도 비워주고 재설치 고고.

 

이번엔 미리 NLS_CHARACTERSET 인코딩 설정하고, profile 에 NLS_LANG 도 맞춰주고... impdp 뙇!

 

ORA-39006: internal error
ORA-39065: unexpected master process exception in DISPATCH
ORA-00600: internal error code, arguments: [kokle_lob2lob13:input mismatch], [1], [], [], [], [], [], []
ORA-39097: Data Pump job encountered unexpected error -600

 

아씨... 이럼 완전 나가린데...

 

한참 삽질 끝에 구글신이 도와주긴 했는데 이해는 안간다. NLS_CHARACTERSET 랑 DB internal 캐릭터셋이 따로 노는겨? 왜 둘다 바꿔줘야 하는겨? ㅡ.ㅡ 테스트 해보니 아래 방법이 NLS_CHARACTERSET 까지 확실하게 바뀌니, 아래 방법을 추천하는 걸로...

 

SQL> shutdown immediate;
SQL> startup mount;
SQL> alter system enable restricted session;
SQL> alter system set job_queue_processes=0;
SQL> alter database open;
SQL> alter database character set internal_use KO16MSWIN949;
SQL> shutdown immediate;
SQL> startup;

 

alter database character set internal_use <- 요기가 포인트!

 

아무튼 긴~ 삽질끝에 덤프질 해결~


WRITTEN BY
손가락귀신
정신 못차리면, 벌 받는다.

트랙백  0 , 댓글  0개가 달렸습니다.
secret