데이터베이스2018. 10. 15. 18:52

'A' DB   --- DB Link --→ 'B' DB

 (로컬)                          (원격지)


 


1. 로컬 'A' DB 의 tnsnames.ora 파일에 원격지 'B' DB 접속 정보 추가

ex)

B_DB =

  (DESCRIPTION =

    (ADDRESS_LIST =

       (ADDRESS = (PROTOCOL = TCP) (HOST = 192.168.0.1) (PORT = 1521))

    )

    (CONNECT_DATA =

       (SID = ORA9)

    )

  )


※ 'B' DB 접속 정보가 올바르게 입력되었는지 확인 : tnsping 명령으로 확인할 수 있다.

tnsping B_DB


 


2. DB Link 설정 명령

CREATE [PUBLIC] DATABASE LINK DB LINK 이름

CONNECT TO 유저명

IDENTIFIED BY 비밀번호

USING '서비스 이름'


ex)

CREATE DATABASE LINK DBLK_B_DB

CONNECT TO SCOTT

IDENTIFIED BY TIGER

USING 'B_DB' 


※ tnsnames.ora 추가 없이 DB Link 설정하기

tnsnames.ora 에 원격지 'B' DB 정보 추가 없이 아래와 같이 CREATE DATABASE LINK 명령에 직접 기술함으로 추가할 수도 있다.


ex)

CREATE DATABASE LINK DBLK_B_DB

CONNECT TO SCOTT

IDENTIFIED BY TIGER

USING '(DESCRIPTION =

               (ADDRESS_LIST =

                   (ADDRESS = (PROTOCOL = TCP)(HOST = 192.168.0.1)(PORT = 1521))

                )

                (CONNECT_DATA =

                    (SID = ORA9)

                )

            )'; 


※ DB Link 설정하기 위해서는 권한이 필요하다. 만약 권한이 없다면 다음으로 권한 설정을 해준다.

    GRANT CREATE PUBLIC DATABASE LINK, DROP PUBLIC DATABASE LINK TO user_id;


 


3. DB Link 사용

SELECT * FORM TABLE명@DBLK_B_DB


 


4. DB Link 삭제

DROP DATABASE LINK DB LINK 이름


ex)

DROP DATABASE LINK DBLK_B_DB


 


※ DB Link 생성 시 GLOBAL_DB_NAME - REGRESS.RDBMS.DEV.US.ORACLE.COM 이 붙는 현상

DB Link 생성 시 DBLK_B_DB.REGRESS.RDBMS.DEV.US.ORACLE.COM 와 같이 사용자가 정한 DB Link DBLK_B_DB 이름 뒤에 GLOBAL_DB_NAME 이 붙을 때는 GLOBAL_DB_NAME 을 DB_NAME 으로 변경하고 DB_LINK 를 생성하면 된다.


DB Link 이름 뒤에 붙어 있는 GLOBAL_DB_NAME 일반적으로 DB Link 사용 시에 크게 문제되지 않는다.

(그저 보기 지저분할 뿐...)


단, 원격 DB 의 SHOW PARAMETERS GLOBAL_NAMES 의 값(Value) 이 TRUE 인 경우 GLOBAL_DB_NAME 까지 일치해야 한다.

(일반적으로 디폴트 SHOW PARAMETERS GLOBAL_NAME 의 값은 FALSE 이다.)

 


GLOBAL_DB_NAME 확인

SELECT  *  FROM PROPS$ WHERE NAME = 'GLOBAL_DB_NAME';  (VALUE$ 컬럼 값이 GLOBAL_DB_NAME 이다)

DB_NAME 확인

SHOW PARAMETERS DB_NAME

GLOBAL_DB_NAME 의 변경

UPDATE PROPS$ SET VALUE$ = '<DB_NAME>' WHERE NAME = 'GLOBAL_DB_NAME';

<DB_NAME> 은 SHOW PARAMETERS DB_NAME 으로 확인한 이름값을 넣어준다.

GLOBAL_DB_NAME 변경 후 DB 인스턴스를 재기동 해주어야 반영된다.!!! (shutdown immediate / Startup)

'데이터베이스' 카테고리의 다른 글

집계 쿼리  (0) 2023.02.07
두 날짜 사이의 날짜 구하기  (0) 2018.01.02
오라클의 GREATEST, LEAST 함수  (0) 2017.12.20
FIRST, LAST (최대, 최소값을 가진 로우 추출)  (0) 2017.12.15
피어슨 상관계수 SQL  (0) 2017.11.30
Posted by 미랭군
HTML52018. 10. 11. 11:28

&#10; 또는 &#13;

<a href="#none" title="안녕하세요.&#10;C.m.A 입니다.">마우스를 올려보세요</a>

'HTML5' 카테고리의 다른 글

Canvas에서 아크라인(ARC LINE) 그리기  (0) 2016.06.14
d3에 대해 배우는 방법 정리  (0) 2014.11.28
특수기호 표시  (0) 2014.10.02
Handsontable 한글 문제  (0) 2014.08.13
부트스트랩 관련 블로그  (0) 2013.08.13
Posted by 미랭군
2018. 9. 12. 17:59

https://www.amcharts.com/kbase/automatically-marking-out-highest-and-lowest-points-on-the-graph/

Posted by 미랭군
카테고리 없음2018. 4. 26. 11:13

Spring Framework를 사용하면서 Maven을 쓰는 경우가 많다.

pom.xml에 설정만 하면 원하는 library를 다운로드 받아주고 관리도 쉬운 편이다.

다만 외부 인터넷 연결이 원활해야 사용이 편리하다.

그럼 외부망 연결이 불가능한 망분리 환경에서는 Maven을 쓸 수 없는걸까?


그건 아니다. offline으로도 Maven 프로젝트를 사용할 수 있다.

단, 최초 1회는 해당 프로젝트에서 사용될 library를 세팅해줘야 할 필요는 있다.

이 방법은 기존에 Maven 구조의 library가 있는 경우 다시 세팅할 필요없이 해당 폴더를 연결하는 방법이며

또는 Maven에서 설정파일을 읽어올 때마다 library를 재차 찾아오는 과정을 생략시켜주는 것이므로

library가 애초부터 설정되어 있지 않은데 offline으로 이용하는 것은 불가능하다.


Maven 프로젝트 : offline 연결을 위한 설정

그럼 기존에 구성되어 있던 Maven 구조의 library 폴더와 연결하는 방법을 알아보자.

해당 workspace 자체의 설정을 변경하는 것이므로,


Eclipse 상단의 도구 > Window > Preferences > Maven > User Settings




노란색으로 밑줄쳐둔 부분에 원하는 세팅파일을 넣어주면 된다.

나는 이미 설정이 되어있는 상태지만, Default는 Maven을 통해서 library가 다운로드 받아지는 폴더 내의 설정파일으로 세팅되어 있을 것이다.

그럼 내가 설정한 파일 내용이 어떤식인지 보여드리자면...


내용은 매우 간단하다. localRepository 값에 library가 세팅되어 있는 경로를 설정하면 된다.

이렇게 해서 뭐가 돌아가겠나 싶겠지만 여기서 함께 해줘야 하는 설정이 있으니 조금만 더 따라해주세여...

workspace 내의 프로젝트 중에서 Maven을 사용하고 있는 프로젝트를 하나 골라서 오른쪽 클릭을 하고

Maven > Update Project를 진행하자.

그럼 다음과 같은 화면을 볼 수 있는데, 빨간 줄 친 내용이 제일 중요하다.


여기서 Offline으로 Maven 프로젝트를 Update 처리하겠다는 설정을 해줘야 한다.

이걸 빼먹으면 Maven은 Spring 홈페이지에서 계속 찾으려고 시도하므로 나의 경우는 망분리 환경이라 영원히 끝나지 않을 것 같은 업데이트를 계속 시도한다.

(물론 끝난다. 안된다고 하면서.)

모든 프로젝트마다 Update Project 시 Offline 설정하는게 귀찮다면

이 역시도 workspace의 Maven 설정에서 처리해주면 된다.

Window > Preferences > Maven 기본 설정에 Offline 여부 체크가 가능하다.


이걸 설정해두면 프로젝트 별 Update 시 Offline을 기본값으로 설정되어 나온다.


모든 프로젝트는 환경설정이 제일 오래걸리고 중요한 작업이다.


출처: http://ojava.tistory.com/114

Posted by 미랭군
자바·JSP2018. 1. 25. 15:39

java 단에 jsp 에서 값을 넘겨줄때 POST 방식인지 , GET 방식인지 확인 하는 메소드

request.getMethod() 함수를 이용해서 찍어보면 (request 는 HttpServletRequest 클래스의 객체)
GET 인지 ,  POST 인지 확인 할 수 있다.

request.getMethod().equals("GET") 일 경우 GET 으로 넘어오는 경우엔 true 를 반환하고
request.getMethod().equals("POST") 일 경우 POST 로 넘어오는 경우엔 true를 반환 하겠죠.. ^^

SQL Injection 관련하여 알아본 결과,
URL 인증우회로  GET 방식일 경우 취약 하므로  jsp 에서 POST 방식으로 submit() 해 주는 것이 좋다.
 

아니면 java 단에서 권한 체크를 해 주어야 한다.


'자바·JSP' 카테고리의 다른 글

[JAVA] OS별로 CPU정보 가져오기  (0) 2019.04.05
Apache Configuration for Java WebStart  (0) 2018.12.14
원리금 균등 분할 상환 계산  (0) 2017.12.20
두 IP사이의 IP 모두 출력하기  (0) 2015.10.20
jsoup 사용 예제  (0) 2015.05.29
Posted by 미랭군
리눅스2018. 1. 7. 16:23

Cent OS 7 을 설치하다 보면 실수로 타임존 설정을 건너뛰곤 한다.

리눅스를 설치할 때 시간대(타임존;Timezone)를 맞추지 않으면, 컴퓨터 시계가 미국 시간인 EST로 나온다.

이 때에는 ntp 를 설치하여 서버 시간을 맞추려 한들 소용이 없다. 서버 자체의 timezone 을 바꿔야만 한다.

이것을 한국 표준시인 KST 로 변경할 필요가 있다.


정상

# date

Tue Jan 27 00:24:08 KST 2015


비정상

# date

Tue Jan 26 09:24:08 EST 2015


서울의 timezone 정보가 담긴 파일을 찾아 서버 시간으로 연결해줘야 한다.

# ls /usr/share/zoneinfo/Asia


이 안에 보면 Seoul 이라는 파일이 존재한다. 이제 이 파일을 서버 시간을 맞춰주는 파일에 심볼릭 링크를 걸어줘야 한다.

먼저 원래 파일 백업한 뒤 심볼릭 링크를 만들어준다.

# mv /etc/localtime /etc/localtime_org

# ln -s /usr/share/zoneinfo/Asia/Seoul /etc/localtime

(백업 없이 덮어씌우려면 -f 명령어를 추가하면 된다.)


이제 date 명령어를 치면 제대로 된 시간이 나오는 것을 확인할 수 있다.

# date

Tue Jan 27 00:24:08 KST 2015


[Tip] date 명령어로 시간 및 날짜 바꾸기

시간 바꾸기 - (24시간제로 입력)

# date -s 00:21:21


날짜 바꾸기

# date -s '2015-1-27 00:21:21'

Posted by 미랭군
데이터베이스2018. 1. 2. 19:03

<오라클 9i 이상>

 

1)두 날짜 사이의 달 구하기

SELECT ROWNUM RM
,TO_CHAR (ADD_MONTHS (TO_DATE ('200511', 'YYYYMM'), LEVEL - 1),'YYYYMM') mon
FROM DUAL
CONNECT BY ADD_MONTHS (TO_DATE ('200511', 'YYYYMM'), LEVEL-1) <=TO_DATE ('200610', 'YYYYMM')

 

2)두 날짜 사이의 날짜 구하기
SELECT YMD FROM(
SELECT TO_DATE ('20050422', 'YYYYMMDD')+(LEVEL - 1) YMD
FROM DUAL
CONNECT BY TO_DATE ('20050422', 'YYYYMMDD')+(LEVEL-1) <=TO_DATE ('20050521', 'YYYYMMDD'))


또는

 

SELECT TO_CHAR(TO_DATE(BB.DAY, 'YYYYMMDD') + NUM, 'YYYY-MM-DD') AS DAY
FROM (
SELECT ROWNUM AS NUM 
FROM DICTIONARY A,(
  SELECT B.DAY AS BDAY, C.DAY AS CDAY 
  FROM
   ( SELECT TO_CHAR(SYSDATE,'YYYYMM') || '01' AS DAY FROM DUAL ) B,
   ( SELECT TO_CHAR(LAST_DAY(SYSDATE),'YYYYMMDD') AS DAY FROM DUAL ) C
  ) B
WHERE ROWNUM <= TO_DATE(B.CDAY, 'YYYYMMDD') - TO_DATE(B.BDAY, 'YYYYMMDD')  + 1) AA,
( SELECT TO_CHAR(SYSDATE - TO_NUMBER(TO_CHAR(SYSDATE,'D')) + 1,'YYYYMMDD') AS DAY FROM DUAL ) BB

 


이거는 원하는 시작일부터 끝일까지 가지고 오는 쿼리입니다.

 

SELECT TO_CHAR(TO_DATE('[SDATE]', 'YYYY-MM-DD') + NUM-1, 'YYYY-MM-DD') AS DAY
FROM (
 SELECT ROWNUM NUM 
 FROM DICTIONARY
 WHERE ROWNUM <= TO_DATE('[EDATE]', 'YYYY-MM-DD') - TO_DATE('[SDATE]', 'YYYY-MM-DD')  + 1
)

'데이터베이스' 카테고리의 다른 글

집계 쿼리  (0) 2023.02.07
[ORACLE] DB Link 설정  (0) 2018.10.15
오라클의 GREATEST, LEAST 함수  (0) 2017.12.20
FIRST, LAST (최대, 최소값을 가진 로우 추출)  (0) 2017.12.15
피어슨 상관계수 SQL  (0) 2017.11.30
Posted by 미랭군
카테고리 없음2017. 12. 21. 13:31

Q) 다음 조건을 만족하는 SQL 질의문을 작성하시오.

C) 사원번호(emp.seq), 이름(emp.name), 부서명(dept.name) 컬럼이 매핑되며, 모든 사원이 전부 출력되어야 함

emp 테이블

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

seq | name | dept_seq

1 | 홍길동 | 2

2 | 죠나단 | 1

3 | 죠스타 | null


dept 테이블

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

seq | name

1 | 개발부

2 | 운영부


W) Left Outer Join 문법을 이해하고 있는지 평가


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


Q) 다음 javascript 소스코드가 어떻게 동작할지 서술하시오.
C) 

function f() {
    for ( var i = 0; i < 3; i++ ) {
        setTimeout( function() {
        alert( i );
    }, 1000);
    }
}
f(); // f를 실행한다

W) timer나 클로저를 이해하고 있는지 평가. 이 문제는 일종의 덤임(신입 레벨에서 맞출 수 있는 사람이 있으리라고 기대하지 않음) 기대하지 않았다고 해도 이 문제를 대하는 태도와 답변에서 지원자의 많은 부분을 엿볼 수 있었음

Posted by 미랭군
카테고리 없음2017. 12. 21. 13:20

우선

URL은 Uniform Resource Locator

URI는 Uniform Resource Identifier

이다.

 

그냥 단어의 뜻대로 해석하자면 예전에는 URL이 가리키는게 파일리소스 였는데

요즘은 Rewrite 등의 Apache , IIS, Tomcat 핸들러 때문에 자원 이라고 부른다.

 

즉 웹사이트 주소가 (http://test.com/adultdisease/diabetes) 라고 했을 때

요청하는 주소가 파일이라기 보다는 구분자로 보는 것이다.

실제로 해당 웹사이트의 adultdisease/diabetes 라는 파일은 없다.

 

요약하자면 URL 은 다음과 같다.

http://test.com/work/sample.pdf

test.com 서버에서 work 폴더안의 sample.pdf 를 요청하는 URL.

 

URI(통합 자원 식별자) 의 예는 다음과 같다.

1) rewrite 기술을 사용하여 만든 의미있는 식별자

http://test.com/company/location

 

2) REST 서비스 (url로 실행되는 서비스)

http://service.com/tv/turn/on

 

3) Web-oriented architecture (웹 기반의 구조문법)

kakaotalk://sendmsg?text=hello!  (이 uri는 kakaotalk 프로토콜을 해석할 수 있는 프로그램이 핸들링한다. 해당프로그램은 sendmsg 라는 식별자를 해석하고 동작한다.)

facebookmsg://like?url=mysite.com (이 uri는 facebookmsg 프로토콜을 해석할 수 있는 프로그램이 핸들링한다. 해당프로그램은 like 라는 식별자를 해석하고 동작한다.)

 

 

이해하기 쉽게 동물로 표현하자면.

URI(동물) 가 좀더 상위 개념이라서 URL(강아지), URN(다람쥐) 등의 하위 개념을 포함한다.

 

URI 와 URL 이 아예 다른게 아니라 포함관계라서

모든 URL 는 URI 이다. 가 성립힌다. (TRUE)

URI = URL + URN

 


URI 가 URL과 URN을 포함하는데 URN은 Uniform Resource Name 의 약자이다.

URN 문법은

urn:isbn:0451450523

urn:uuid:6e8bc430-9c3a-11d9-9669-0800200c9a66

이런건데 isbn이나 uuid를 해석가능한 프로그램이 있어야 동작합니다.

 

예를 들어서 urn을 만들어보자면

urn:laelbe:blog-61

을 쓰고 laelbe 해석 프로그램을 만든다음에 https://blog.lael.be/post/61 으로 매칭하도록 짤수 있겠다.

[출처] URL과 URI의 차이점|작성자 이회장


Posted by 미랭군
카테고리 없음2017. 12. 21. 13:20

전산기초

프로세스와 쓰레드의 차이?

Context Switching이란?

64비트와 32비트의 차이점은 무엇인가요?


자료구조
정렬 기법 중 가장 빠른 방법은? 왜 그런가?

Email 정규식을 만들어 보시오.(어려우면 전화 번호)

디자인 패턴이란 무엇인가?

디자인 패턴을 아는 대로 얘기해 보시오.



실무

사용해본 version control 서버는?

oAuth에 대해서 설명해 보시오.

DB

DB 정규화란 무엇인가?

merge 구문에 대해서 설명해 보시오.

Oracle의 NVL함수의 ANSI-SQL 표기법은?

Index란 무엇이며, 이것을 사용했을 때 장단점은?


JAVA

Framework이란 무엇인가?

Library와 Framework의 차이점

사용해본 Framework은?

컴파일 과정 및 실행 과정을 설명해보세요.

interface와 abstract 구문을 사용하는 이유?

캡슐화와 은닉화? 차이는 무엇인가?

자신을 OOP의 관점에서 설명해보라

String, StringBuilder, StringBuffer의 차이는?

JAVA의 Garbage Collector는 어떻게 동작하는지.

오버로딩과 오버라이딩의 차이

추상화란?

자바에서 추상 클래스와 인터페이스 클래스의 차이는?

자바에서 == 와 Equals() 메서드의 차이는?

리플렉션이란?

프로세스를 이루는 각 메모리 영역에 대한 이해(코드, 데이터, 스택 힙)

JVM은 무엇이며, 왜 자바를 플랫폼 독립적이라고 이야기 하는지 설명하시오.

JDK와 JRE의 차이점을 설명하시오.

static 키워드의 의미는 무엇이며, static method는 오버라이딩할 수 있나요?

static context에서 non static 변수에 접근 가능한가요?

자바 기본형 데이터 타입을 아는 데로 적어보세요.

자바에서 함수 오버라이딩과 오버로딩이 무엇이며, 어떠한 경우에 필요한지요?

인터페이스와 추상 클래스의 차이점은 무엇인가요? 또 인터페이스는 어떠한 경우에 필요한지요?

프로세스와 쓰레드의 차이점은?


웹 기초

웹 브라우저에서 서버로 어떤 페이지를 요청하면 일어나는 일련의 과정을 설명해보시오.

http method 4가지 설명해보라

REST API에 대해 설명해보라

XML, JSON이란 무엇이며 장단점에 대해서 설명해보세요.

UTF-8이란 무엇인가?

UTF-8과 UTF-16에서 각각 한글은 몇 byte를 차지하나?

URL과 URI의 차이점?

URL encode란 무엇인가?

쿠키(Cookies)와 세션저장소(sessionStorage)와 로컬저장소(localStorage)의 차이점을 설명해주세요.


웹개발

data-속성은 무엇을 하는 것인가요? 사용했을 때 이점은 무엇인가요?

class와 id의 차이점에 대해서 설명해주세요.


Javascript

AJAX란 무엇인가?

jquery를 한마디로 정의하자면?

jquery 원리나 소스를 들여다 본 적 있나?

jquery plug-in 제작해 본 적 있나?

jquery에서 live와 bind의 차이는 무엇인가?

spa에 대해서 설명해보시오.

현재 가장 핫한 javascript framework에 대해서 아는데로 설명해주세요.

javascript의 prototype에 대해서 설명해보라

javascript의 closure에 대해서 설명해보라

동기와 비동기의 차이점에 대해서 설명해보세요.


보안

Sql Injection과 XSS에 대해서 설명해주세요.

Sql Injection을 이용해서 로그인 인증을 우회하는 방법을 설명해보시오.

단방향 암호화와 양방향 암호화의 차이를 설명해주세요. 또 각각 대표적인 알고리즘이 무엇인지 말해주세요.


관심정도

개인적인 프로젝트를 진행해 본 적이 있나?

다른 언어를 공부 한 적 있나?

최근에 본 IT뉴스 중에서 가장 관심 있었던 기사는?

IT관련 업계에서 존경하는 인물이 있다면?

왜 존경하는지 말해 보시오.

왜 프로그램을 시작하게 되었나?

왜 그 언어(C, C++, JAVA)를 하게 되었나?

(프로그램의)어떤 부분에 흥미를 가지나?

어떻게 공부하나?

(프로그램) 책은 얼마나 읽나?

(프로그램) 책 중에 내용이 너무 괜찮아서 남들에게 꼭 권해주고 싶은 책?

프로그램 동호회에서 활동해 본 적이 있나?

오픈 소스에 대해서 생각하는 바를 말해보시오.

오픈 소스 프로젝트 중에 가장 관심 있게 지켜보고 있는 프로젝트가 있다면?

잘 짜여진 프로그램을 만들기 위해서 자신만의 신조나 신념이 있다면?

개발자로써 꿈이 있다면?

그 꿈이 만들고 싶은 프로그램이라면 어떤 것을?


기타

프로젝트가 주어졌는데 회사에서 아무도 경험 해본 적이 없는 분야다. 어떻게 진행 할 것인가?

해 왔던 업무 중 가장 힘들었던 업무(기술적)는 왜? 어떻게 해결 했나?

힘들지만 보람 있었던 업무가 있었다면?

프로그램이 막힐 때 참고 하는 사이트는?

친구 중에 프로그램 하는 사람은 몇 명이나?



Posted by 미랭군