반응형

안녕하세요 가야태자 @talkit 입니다. 

다른 클라우드에서 가상 서버를 만들어 보셨나요?

그렇다면, 아마 좀 저렴한 서비스는 웹에서 아이디/패스워드를 설정 하셨을 겁니다. 

하지만, 지난 번 글

리눅스/Linux 오라클 클라우드에 무료 가상 서버를 만들어 보자.(2) VM 인스턴스 만들기 Let's make free VPS on Oracle Cloud.(2) Create VM Instance :: 가야태자의 IT이야기 (tistory.com)

에서 비밀번호를 설정한 기억이 없습니다. ^^

제가 SSH 키를 잘 보관해 두시라는 이야기 했지만, 어디다가 비밀번호를 넣어라는 말씀은 드린적이 없네요

그래도 접속이 되는지만 일단 확인 해보겠습니다. 

혹시나 접속이 안된다는 메시지가 나온다면 putty를 최신 버전으로 업그레이드 하십시오.

[무료소프트웨어] 무료 보안쉘 클라이언트 PuTTY 최신 버전 다운로드 및 설치하기. How to Install the latest version PuTTY that is free Secure Shell Client. :: 가야태자의 IT이야기 (tistory.com)

접속이 되시면, Accept를 클릭하십시오. 머 매번 저걸 누르실 필요는 없으니까요 ^^

그려면 화면에 login as : 이렇게 나올텐데 여기에 아까 기억해두신 아이디를 입력하십시오.

기본적으로 ubuntu 입니다. ^^

키가 없기 때문에 ^^ 위와 같이 접속이 끊겨 버릴 겁니다. ^^

이제 키를 만들어 보겠습니다. 

최신 버전으로 설치하신 PuTTY에서 PuTTYgen이라는 프로그램을 실행 합니다. 

요렇게 생겼습니다. 

Conversions >> Import key를 클릭하십시오.

그리고 인스턴스만들면서 받은 Oracle에서 받은 key 파일을 선택하십시오.

Save public key와 Save private key를 클릭해서 다시 잘 저장해둡니다. 

저는 파일명은 public key는 oraclevm2.pub로 private key는 oraclevm2.ppk 로 저장 하였습니다. 

이제 다시 putty로 돌아가겠습니다. 

새로 설치한 putty를 여시는 것이 좋습니다. ^^

왼쪽에 있는 메뉴 중에서 Connection SSH Auth Credntials 를 클릭하십시오.

Privte key file for authentication: 에 앞에서 저장한 ppk 파일을 선택 합니다. 

그리고 다시 Session으로 돌아가서 Save버튼을 클릭하시고 Open버튼을 클릭 합니다. 

Open을 클릭하시면 

위와 같이 잘 접속이 됩니다. 

이제 제가 가르쳐 드리고 있는 여러가지 Linux 명령어들을 실험해 보시면 됩니다. ^^

감사합니다. 

 

반응형
반응형

요즘은 ORACLE 관련 글을 계속 적고 있네요.

요즘 사이트에서 사용하고 있는 DB가 ORACLE 이어서 그렇습니다. ^^

1. 오류 발생

오류가 아래와 같이 발생 하더라구요. 

SQL> drop index hr.JHIST_EMP_ID_ST_DATE_PK;
drop index hr.JHIST_EMP_ID_ST_DATE_PK
              *
ERROR at line 1:
ORA-02429: cannot drop index used for enforcement of unique/primary key

2. 오류와 관련 된 테이블 확인 하기 

SQL> column constraint_name format a30;
SQL> select constraint_name from all_constraints where index_owner = 'HR' and index_name = 'JHIST_EMP_ID_ST_DATE_PK';

CONSTRAINT_NAME
------------------------------
JHIST_EMP_ID_ST_DATE_PK

3. Drop Constraint

인덱스를 지우기 전에 Constraint를 먼저 수정 해야 합니다. 

SQL> alter table hr.job_history drop constraint JHIST_EMP_ID_ST_DATE_PK;

Table altered.

4. Drop index

이제 인데스를 지웁니다. 

SQL> drop index hr.JHIST_EMP_ID_ST_DATE_PK;

Index dropped.

오류 없이 잘 지워 집니다. 

잊어 버리지 않으려고 한글로 번역해서 ^^

감사합니다.

원본 출처 : How to Resolve ORA-02429: cannot drop index used for enforcement of unique/primary key - Ed Chen Logic

반응형
반응형

이 쿼리는 가끔 쓸일이 있는데 매번 잊어 버리는 것 같습니다. T.T

GRANT SELECT, DELETE, INSERT, UPDATE ON TARGET_TABLE TO TARGET_USER;

 

권한 주기 명령어는 일단 GRANT 입니다. 

그리고 권한의 내용으로 더 많이 있지만, 기본적으로 데이터 베이스 사용자가 가져야할 권한을 SELECT DELETE INSERT UPDATE가 되겠지요 ^^

TARGET_TABLE은 어느 테이블에 줄 것인가?

TARGET_USER 는 어느 사용자에게 줄 것인가?

입니다. 

문장을 잘 변경해서 사용함시면 되겠습니다. 

감사합니다. 

 

반응형
반응형

안녕하세요 가야태자 @talkit 입니다.

매번 할때마다 잊어버리는 쿼리네요 t.t

 INSERT INTO target_table (col1, col2, col3) SELECT col1, col2, col3 FROM source_table WHERE condition;

위와 같이 하면 되납니다. ^^

SOURCE_TABLE 이 가져올 테이블이고 , TARGT_TABLE 넣을 테이블 입니다.

COL1, COL2, COL3 는 원하는 컬럼을 넣으시면 됩니다.

테이블을 통째로 이동 시키고 싶으시면, WHERE 절은 빼시면 됩니다.

필요한 내용만 가져올 때는 WHERE 절에 원하는 검색식을 넣으시면 됩니다.

감사합니다.

반응형
반응형

오늘은 개발하다가 Oracle 페이징을 어떻게 했지를 잃어 버려서 ^^ 최근에는 MySQL만 계속 사용해서 Limit의 편안함은 ^^ 얼마나 좋은지 모릅니다.

저는 답만 알면 되어서 일단

옛날에는 Rownum 등을 이용해서 뭔가를 많이 해줬던 것 같은데, 프로젝트에서 다른 분들이 해놓은 쿼리를 찾아 보니 ^^

OFFSET 시작카운터-1 ROW FETCH FIRST 원하는줄수 ROWS ONLY

라고 되어 있는 것을 발견 했습니다.

실제로는

OFFET 0 ROW FETCH FIRST 20 ROWS ONLY

였습니다.

그래서 저는 눈치로 필요한 쿼리를 작성 했습니다.

SELECT A,B,C,D FROM TB_TESTPAGE ORDER BY A DESC OFFSET 0 ROW FETCH FIRST 20 ROWS ONLY

처럼 작성 했습니다.

그런데, 조금 상세한 내용이 궁금해서 찾아 봤습니다.

https://programmer93.tistory.com/4

예전 방식의 쿼리 입니다.

https://action713.tistory.com/entry/Oracle-FETCH-%EA%B5%AC%EB%AC%B8-%EC%82%AC%EC%9A%A9%ED%95%98%EA%B8%B0

요즘 방식의 쿼리에 대한 설명입니다.

저는 구현만 하면 되어서 설명 보다는 어떻게 사용했는지를 적었습니다.

하지만, 다른 분들은 친절하게 설명해주셨으니 읽어 보시면 도움이 될 것 같습니다.

감사합니다.

반응형
반응형


ORACLE(오라클)에는 날짜를 표시하는 형이 DATE 형 입니다. 


그런데, 문자열로도 날짜를 표시 합니다. 


이때 해당 날짜에서 몇일을 뺀다 든지, 몇일을 더한다든지 또는 몇시간을 빼려면 어떻게 해야할까요.


가장 좋은 방법은 DATE 형으로 바꿔서 DATE 연산을 하는 것이 최선이겠지요 ^^


그래서 사용하는 함수가 TO_DATE 입니다.


사용법은 


TO_DATE(문자열,날짜패턴) 


입니다.


여기서 문자열은 '20161010 11:11:11' 같은 문자로 된 년월일시분초 정보입니다.


날짜 패턴은


YYYY : 4자리 년도


MM : 2자리 월


DD : 2자리 일


HH24 : 24시간 단위 시간


MI : 분


SS : 초


등입니다. 


좀 더 상세 한 내용은 https://docs.oracle.com/cd/B19306_01/server.102/b14200/sql_elements004.htm#i170559 URL에서 확인 하실 수 있습니다. 



실제 위의 문자열을 TO_DATE로 DATE 형으로 변환해 보면 아래와 같습니다. 


SELECT TO_DATE('20161010 11:11:11' , 'YYYYMMDD HH24:MI:SS') FROM DUAL


로 하시면 됩니다.


MySQL STR_TO_DATE 함수는 http://talkit.tistory.com/268 을 참조 하시면 됩니다.


감사합니다.




반응형
반응형




이번에는 CUBRID를 사용하는 프로젝트에서 NULL 처리할  일이 있어서 적어 둡니다.


CUBRID 의 경우 


IFNULL 을 사용할 수 있습니다.


IFNULL(필드명 또는 값, NUL일때원하는표현)


IFNULL(sample, 0)


sample 이라는 필드가 NULL이면 0으로 표현 입니다.


그리고 또한가지 


COALESCE(필드명 또는 값, NULL일때원하는표현)


COALESCE(sample,0)


IFNULL과 동일한 기능입니다.


그리고 CUBRID 외에 다른 데이터 베이스들은 


MySQL 

ifnull(필드,처리할 값)


Oralce
NVL(필드,처리할 값)


MSSQL

ISNULL(필드,처리할 값)

MySQL과 Oracle MSSQL에서 각각 NULL처리를 담당하는 함수들입니다.

전 주로 오라클을 써서 NVL로 알았는데요

다 다르네용 T.T


반응형
반응형
오늘도 한 3시간 삽질을 했습니다.

프로그램을 한본 짰는데....

목록 프로그램인데

목록에 DATA가 안나오는 겁니다. ^^;;

T.T

분명히 smartSQL plus에서

DATA를 입력 했는데 말이죠

그런데 한 2시간쯤 뒤에

밑에 직원이

과장님 테이블 만들어 주세요

그리고, 값두 좀 넣어 주세요

라고 이야기를 했는데


그래서 제가 한것 하고 똑같이

값을 넣었습니다. ^^;;


그쪽에서도 안나온다는 것이 아니겠어요

혹시나 해서

smartSQL plus에서

SQL 창하나 더 열고

Commit;



이제 보인다는 겁니다.

혹시나 해서 제 목록 프로그램으로 갔습니다.



보이는 겁니다.


T.T

맨날 MySQL에 Informix만 다루다가

오랫만에 오라클을 다뤘더니

Commit

잊지 말자 Commit




반응형

'DATABASE > ORACLE' 카테고리의 다른 글

[ORACLE] 문자열 길이를 구해보자 LENGTH  (0) 2016.12.07
[ORACLE] 문자열을 잘라보자 SUBSTR  (0) 2016.12.06
[ORACLE] LPAD 함수  (2) 2009.07.24
[ORACLE] RPAD 함수  (0) 2009.05.24
[ORACLE] 트리구조 만들기  (0) 2009.05.23
반응형
2009/05/24 - [DATABASE/ORACLE] - [ORACLE] RPAD 함수


사용법 : LPAD(변수,길이,변형자);

예)  SELECT LPAD('KOREA', 8, '*') FROM DUAL;
RESULT >>>>>>
***KOREA

좌측에 자리수 만큼 채워줍니다.

RPAD에서 써먹었던 예구용 ^^;;

LPAD는 솔직히

저 예 보다는

예2) SELECT LPAD('1', 8,'0') FROM DUAL
RESULT >>>>>>
00000001

이런식으로 써먹기 위한 것입니다. ^^;;

보통 제어번호 같은거 만들때 시퀀스로 순번을 만들고

char로 값을 채워넣는데 그때 0을 채워 주려면 프로그램을 써야 하지만,

DB에서 lpad를 사용하면 끝입니다.

^^;;

가끔 까먹어서 ^^;;

그리고, 이 글은 ㅋㅋㅋ

낚시성 글이기도 합니다.

요즘 유입 키워드에 RPAD가 있어서 ^^;;

ㅎㅎㅎ



반응형

'DATABASE > ORACLE' 카테고리의 다른 글

[ORACLE] 문자열을 잘라보자 SUBSTR  (0) 2016.12.06
[삽질기] 잊지말자 Commit 명령  (0) 2010.01.15
[ORACLE] RPAD 함수  (0) 2009.05.24
[ORACLE] 트리구조 만들기  (0) 2009.05.23
[ORACLE] 오라클 계정 만들기  (0) 2009.05.21
반응형

1호점에서 퍼왔습니다.

사용법 : RPAD(변수,길이,변형자);

예)  SELECT RPAD('KOREA', 8, '*') FROM DUAL;
RESULT >>>>>>
KOREA***

우측에 자리수 만큼 채워줍니다.

가끔 까먹어서 ^^;;

반응형

'DATABASE > ORACLE' 카테고리의 다른 글

[삽질기] 잊지말자 Commit 명령  (0) 2010.01.15
[ORACLE] LPAD 함수  (2) 2009.07.24
[ORACLE] 트리구조 만들기  (0) 2009.05.23
[ORACLE] 오라클 계정 만들기  (0) 2009.05.21
ORACLE scott 계정 활성화 하기  (0) 2009.05.20
반응형

1호점에서 가져왔습니다.

ORACLE 새로운 계정 만들기

0. ORACLE sysdba 아이디로 접속하기
서버에 접속후에 oracle 계정으로 전환한다.

su - oracle

sqlplus로 sysdba 계정에 접속한다.

sqlplus sys/oracle[@orcl4] "AS SYSDBA"

1. 계정의 테이블 스페이스 생성
명령어
create tablespace [tablespace_name]
datafile '/home/oracle/oradata/DANBEE/[file_name].dbf' size 500m;

예)

create tablespace jw1 datafile='/home/oracle/oracle/oradata/orcl4/jw1.dbf' size 500m;

저기서 orcl4와 jw1 을 원하는대로 바꾸면 됨

2. 오라클 유저 만들기
명령어
CREATE USER [user_name]
IDENTIFIED BY [password]
DEFAULT TABLESPACE [tablespace_name]
TEMPORARY TABLESPACE TEMP;
예)

CREATE USER jw1 IDENTIFIED BY  jw1 DEFAULT TABLESPACE jw1 TEMPORARY  TABLESPACE TEMP;


 

3. 생성한 USER에 권한주기

GRANT connect, resource, dba TO [user_name];

예)
GRANT connect, resource, dba TO jw1

4. 생성한 USER로 ORACLE에 접속하기

sqlplus jw1/jw1[@orcl4]

SQL>

프롬프트가 나오면 USER 생성에 성공한 것이다.

참고 문서 : http://kin.naver.com/db/detail.php?d1id=1&dir_id=10110&docid=918052

반응형

'DATABASE > ORACLE' 카테고리의 다른 글

[ORACLE] RPAD 함수  (0) 2009.05.24
[ORACLE] 트리구조 만들기  (0) 2009.05.23
ORACLE scott 계정 활성화 하기  (0) 2009.05.20
[ORACLE] 테이블 구조만 백업 하기  (0) 2009.05.19
[ORACLE] ORACLE Split 함수(Function)  (0) 2009.05.18

+ Recent posts