2018년 12월 15일 토요일

Create a scott account and sample schema in Oracle 18c


아래 내용으로 demobld.sql 파일을 생성한다.
--
-- Copyright (c) Oracle Corporation 1988, 1999.  All Rights Reserved.
--
--  NAME
--    demobld.sql
--
-- DESCRIPTION
--   This script creates the SQL*Plus demonstration tables in the
--   current schema.  It should be STARTed by each user wishing to
--   access the tables.  To remove the tables use the demodrop.sql
--   script.
--
--  USAGE
--       SQL> START demobld.sql
--
--

SET TERMOUT ON
PROMPT Building demonstration tables.  Please wait.
SET TERMOUT OFF

DROP TABLE EMP;
DROP TABLE DEPT;
DROP TABLE BONUS;
DROP TABLE SALGRADE;
DROP TABLE DUMMY;

CREATE TABLE EMP
       (EMPNO NUMBER(4) NOT NULL,
        ENAME VARCHAR2(10),
        JOB VARCHAR2(9),
        MGR NUMBER(4),
        HIREDATE DATE,
        SAL NUMBER(7, 2),
        COMM NUMBER(7, 2),
        DEPTNO NUMBER(2));

INSERT INTO EMP VALUES
        (7369, 'SMITH',  'CLERK',     7902,
        TO_DATE('17-DEC-1980', 'DD-MON-YYYY'),  800, NULL, 20);
INSERT INTO EMP VALUES
        (7499, 'ALLEN',  'SALESMAN',  7698,
        TO_DATE('20-FEB-1981', 'DD-MON-YYYY'), 1600,  300, 30);
INSERT INTO EMP VALUES
        (7521, 'WARD',   'SALESMAN',  7698,
        TO_DATE('22-FEB-1981', 'DD-MON-YYYY'), 1250,  500, 30);
INSERT INTO EMP VALUES
        (7566, 'JONES',  'MANAGER',   7839,
        TO_DATE('2-APR-1981', 'DD-MON-YYYY'),  2975, NULL, 20);
INSERT INTO EMP VALUES
        (7654, 'MARTIN', 'SALESMAN',  7698,
        TO_DATE('28-SEP-1981', 'DD-MON-YYYY'), 1250, 1400, 30);
INSERT INTO EMP VALUES
        (7698, 'BLAKE',  'MANAGER',   7839,
        TO_DATE('1-MAY-1981', 'DD-MON-YYYY'),  2850, NULL, 30);
INSERT INTO EMP VALUES
        (7782, 'CLARK',  'MANAGER',   7839,
        TO_DATE('9-JUN-1981', 'DD-MON-YYYY'),  2450, NULL, 10);
INSERT INTO EMP VALUES
        (7788, 'SCOTT',  'ANALYST',   7566,
        TO_DATE('09-DEC-1982', 'DD-MON-YYYY'), 3000, NULL, 20);
INSERT INTO EMP VALUES
        (7839, 'KING',   'PRESIDENT', NULL,
        TO_DATE('17-NOV-1981', 'DD-MON-YYYY'), 5000, NULL, 10);
INSERT INTO EMP VALUES
        (7844, 'TURNER', 'SALESMAN',  7698,
        TO_DATE('8-SEP-1981', 'DD-MON-YYYY'),  1500,    0, 30);
INSERT INTO EMP VALUES
        (7876, 'ADAMS',  'CLERK',     7788,
        TO_DATE('12-JAN-1983', 'DD-MON-YYYY'), 1100, NULL, 20);
INSERT INTO EMP VALUES
        (7900, 'JAMES',  'CLERK',     7698,
        TO_DATE('3-DEC-1981', 'DD-MON-YYYY'),   950, NULL, 30);
INSERT INTO EMP VALUES
        (7902, 'FORD',   'ANALYST',   7566,
        TO_DATE('3-DEC-1981', 'DD-MON-YYYY'),  3000, NULL, 20);
INSERT INTO EMP VALUES
        (7934, 'MILLER', 'CLERK',     7782,
        TO_DATE('23-JAN-1982', 'DD-MON-YYYY'), 1300, NULL, 10);

CREATE TABLE DEPT
       (DEPTNO NUMBER(2),
        DNAME VARCHAR2(14),
        LOC VARCHAR2(13) );

INSERT INTO DEPT VALUES (10, 'ACCOUNTING', 'NEW YORK');
INSERT INTO DEPT VALUES (20, 'RESEARCH',   'DALLAS');
INSERT INTO DEPT VALUES (30, 'SALES',      'CHICAGO');
INSERT INTO DEPT VALUES (40, 'OPERATIONS', 'BOSTON');

CREATE TABLE BONUS
        (ENAME VARCHAR2(10),
         JOB   VARCHAR2(9),
         SAL   NUMBER,
         COMM  NUMBER);

CREATE TABLE SALGRADE
        (GRADE NUMBER,
         LOSAL NUMBER,
         HISAL NUMBER);

INSERT INTO SALGRADE VALUES (1,  700, 1200);
INSERT INTO SALGRADE VALUES (2, 1201, 1400);
INSERT INTO SALGRADE VALUES (3, 1401, 2000);
INSERT INTO SALGRADE VALUES (4, 2001, 3000);
INSERT INTO SALGRADE VALUES (5, 3001, 9999);

CREATE TABLE DUMMY
        (DUMMY NUMBER);

INSERT INTO DUMMY VALUES (0);

COMMIT;

SET TERMOUT ON
PROMPT Demonstration table build is complete.
EXIT



위와 같은 오류가 발생 시에는
다음을 수행해 준다.

@demobld.sql이 정상 수행되면
아래 처럼 확인하면 끝!

Solaris time synchronization





간혹 time.bora.net 이 동작을 하지 않을 때가 있는데
이럴 경우에는  # nptdate kr.pool.ntp.org 를 사용해서 시간을 동기화 해준다.

참고로 리눅스에서의 시간 관리는 이전에 작성한 내용을 참조한다.
https://codehexa.blogspot.com/2016/11/linux-rdate-date-hwclock.html

2018년 12월 9일 일요일

Applying jellybean theme Vim on Mac OS X

https://www.vim.org/scripts/script.php?script_id=2555 에서


jellybeans.vim 링크를 선택하여 해당 파일을 다운로드 한뒤

$ sudo mv jellybeans.vim /usr/share/vim/vim80/colors

수행한 뒤

사용자 홈 디렉토리에서 .vimrc파일 생성 후 아래와 같이 작성해 주면 끝

if has("syntax")
    syntax on
endif

set autoindent
set cindent
set smartindent
set ts=4
set shiftwidth=4

colorschem jellybeans




Enable sudo on Mac OS X

Mac OS X 에서 sudo 명령어를 사용하여
시스템에서 사용되는 폴더에 접근하려면 다음과 같이 해줘야 한다.

Mac OS X  부팅전에 command + R 키를 누르고 있으면 복구모드로 들어가게 된다.
복구모드에서 Terminal을 수행 후

$ csrutil disable

재부팅 후에 사용중인 사용자로 로그인 한 후에
 terminal에서

$ csrutil status
System Integrity Protection status: disabled.

위 처럼 메시지가 표시되면 성공!

2018년 12월 8일 토요일

oracle 18c installation sample schema

오라클 설치를 하였으니
테스트용으로 HR 샘플 스키마를 설치한다.

oracle@solaris:~$ sqlplus sys as sysdba

Connected to:
SQL*Plus: Release 18.0.0.0.0 - Production on Sun Dec 2 06:50:10 2018
Version 18.3.0.0.0

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

Enter password:

Connected to:
Oracle Database 18c Enterprise Edtion Release 18.0.0.0.0 - Production
Version 18.3.0.0.0

SQL> alter session set "_ORACLE_SCRIPT"=true;    -- 이걸 안해주면 아래와 같은 오류가 발생한다.

-- ora-20000 schema hr does not exist or insufficient privileges

SQL> @?/demo/schema/human_resources/hr_main.sql

specify password for HR as parameter 1:
Enter value for 1: hr

specify default tablespace for HR as parameter 2:
Enter value for 2: users

specify temporary tablespace for HR as parameter 3:
Enter value for 3: temp

specify log path as parameter 4:
Enter value for 4: $ORACLE_HOME/demo/schema/log/

……

Comment created.

Commit complete.

PL/SQL procedure successfully completed.


SQL>

2018년 12월 1일 토요일

oracle 18c install 관련하여

오랜만에 뜬금없이 solaris 11.4를 설치하고 무얼할까? 고민하다가
oracle 18c를 설치해 보기로 한다.
12c 이후로 참으로 오랜만에 oracle을 설치해본다.

우선은 https://docs.oracle.com/en/database/oracle/oracle-database/18/ssdbi/lot.html 페이지를 스르륵 한번 보는 걸로 시작.


설치하면서 잘 안되는 부분에 대해서만 나중에 잊어버리지 않기 위해 나름대로
정리를 해둔다.

우선  oracle을 설치전에 preinstall 패키지를 설치





oracle 유저 생성
오랜만에 하려니 이것도 옵션이 잘 기억이 나지 않네.


패스워드 설정







파일 다운 받아서 적절한 위치로 옮겨주고 unzip 해준뒤에
runInstaller을 수행한다.


순조롭게 잘 진행이 되다가 swap 관련 오류가 발생

swap 용량 확인 후 좀 늘려줘서 해결하고


아래는 공유 메모리 부족으로 오류 발생

공유 메모리를 좀 더 잡아주니 해결됨

$ dbca 수행 시작!
별 오류없이 순조롭게 잘 진행이 되고
설치는 완료

일단 재부팅을 한번 해주고

.profile 에 다음을 추가

$lsnrctl start를 했는데 뭔가 이상하다.
아래 그림의 아래에서 셋째줄
The listener supports no services


















listener.ora 파일을 수정



정지하고
 시작 하니 된다.


이제 오랜만에 sql 가지고 좀 놀아봐야겠다. ㅋㅋ

2018년 11월 29일 목요일

[Virtualbox] Guest OS solaris 11.4 Increse hdd size







How to resize a virtualbox VDI disk under windows

VBoxManage.exe 명령을 사용한다.

아래 명령을 관리자: 명령 프롬프트에서 수행 하면 끝
"c:\Program Files\Oracle\VirtualBox\VBoxManage.exe" modifyhd "C:\Users\bitnine\VirtualBox VMs\solaris\solaris.vdi" --resize 40960
0%...10%...20%...30%...40%...50%...60%...70%...80%...90%...100%


2018년 7월 15일 일요일

해피해킹 키보드 루프

해피해킹 키보드 스킨이 없을까? 하고 찾아보다가
우연히 발견하게된 키보드 루프를 구매했다.
Bird Electronic Keyboard Roof Pro Ink PZ – Kbrf – hhprob

전체적으로 키보드를 잘 커버해 주고
키보드가 다치지(?) 않게 우레탄 부품도 들어 있어 나름 만족한다.

이제 먼지에서 어느정도 해방될까 했는데
색깔이 어두운 색이라 햇빛이 비칠때 먼지가 눈에 너무 잘 띄는게 흠이라면 흠.
하지만 이미 샀으니 그냥 열심히 먼지 털어주면서 사용해야지!















2018년 7월 11일 수요일

Shell script for 활용

vi test

linux
unix
minix
freebsd
openbsd
netbsd
macos
----------------------------
vi test.sh

#!/bin/sh

var1=`cat test`
echo $var1
for value in $var1
do
        touch $value
done

----------------------------
result

$ ls -ltr
-rw-rw-r-- 1 codehexa codehexa 80 2018-07-11 09:47 test.sh
-rw-rw-r-- 1 codehexa codehexa47 2018-07-11 16:47 test
-rw-rw-r-- 1 codehexa codehexa  0 2018-07-11 16:47 linux
-rw-rw-r-- 1 codehexa codehexa  0 2018-07-11 16:47 unix
-rw-rw-r-- 1 codehexa codehexa  0 2018-07-11 16:47 minix
-rw-rw-r-- 1 codehexa codehexa  0 2018-07-11 16:47 freebsd
-rw-rw-r-- 1 codehexa codehexa  0 2018-07-11 16:47 openbsd
-rw-rw-r-- 1 codehexa codehexa  0 2018-07-11 16:47 netbsd
-rw-rw-r-- 1 codehexa codehexa  0 2018-07-11 16:47 macos

2018년 6월 16일 토요일

해피해킹 키보드 키캡 적용

얼마전에 구매한 해피해킹 키보드의 키캡을 교환했다.
깔끔한 색상으로 포인트 역할을 제대로 한다.
가격이 사악한게 흠이라면 흠!




Rubik's Cube 2X2X4

오래전 취미 였던 큐브가 갑자기 생각나서 쇼핑몰을 보던 중 한번 풀어 보고 싶었던
2X2X4 큐브를 구매했다.
아래 사이트를 참조하니 맞추는 방법은 생각보다 어렵지 않았다.

2x2x4-tower-cube solution

일반적인 큐브 3X3X3에 비해 다양한 모습으로 변형가능한게 이 큐브의 매력이다.^^



2018년 6월 5일 화요일

PostgreSQL parallel test

Table 생성
create table ptest ( id SERIAL UNIQUE NOT NULL, code varchar(10) );

Data 생성
insert into ptest ( code )
select left(md5(i::text), 10) from generate_series(1, 50000000) s(i);



postgresql.conf파일에서
max_parallel_workers_per_gather 값을 변경하며 테스트

시간측정을 위해
\timing

result
------------------------------------------
0 Time: 2199.600 ms (00:02.200)
2 Time: 1904.080 ms (00:01.904)
3 Time: 1880.008 ms (00:01.880)
4 Time: 1514.789 ms (00:01.515)
5 Time: 1400.281 ms (00:01.400)
6 Time: 1400.250 ms (00:01.400)
7 Time: 1402.372 ms (00:01.402)

2018년 5월 17일 목요일

Happy Hacking Keyboard Professional BT

5 9 일본 아마존에서 구매한 
해피해킹 블루투스 키보드가 드디어 내손으로 들어왔다.

키감은 뭔가 좋은 느낌도 있으면서도 
가격대비 뭔가 좀 아쉬운 점 또한 없지 않다.
맥에서 스위치 2번만  on해서 쓰고 있는데 
타이핑 하는데 크게 문제는 없다.

기능키 자체를 사용하는 일이 거의 없는 나로선 그런거 같다.
백스페이스 위치만 적응하면 될듯 하다.

회사에서 쓰는 마이크로 소프트 블루투스 키보드와는 
차원이 다른 타이핑 느낌이다.
물론 가격도 차원이 달라서 솔직히 비교 불가다.

약간의 반발력이 있어서 손가락이  더 힘든거 같기도 하고
원래 설명에선 손가락에 무리가 가지 않는다고 한거 같은데 말이지.

암튼 어떻게 생각해도 가격은 사악하다는 생각이다.

가격만 10만원대 정도라면 정말 세계 최강의 키보드가 아닐까 생각한다.

영문 자판 배열이지만 한글을 사용하는데 전혀 문제가 없다.
오타 또한 거의 나지 않는다.

앞으로 이키보드를 이용하여 정말이지 happy hacking 해야겠다.

10년전에 살것을 이제서야 산건지 후회가 되기도 하지만
지금에서라도 산게 다행이란 생각이다.


늦게 덕분에 블루투스 샀잖아 하며 스스로를 위로한다.








마지막 사진은 키캡인데 일단 얼마동안 사용한 후에 이쁘게 교체해볼까 한다. 
^^

2018년 1월 7일 일요일

GIT warning: LF will be replaced by CRLF 메시지 안나오게 설정하기

$git add filename

해당 명령을 수행시에

warning: LF will be replaced by CRLF in
The file will have its original line endings in your working directory.


위와 같은 경고 메시지가 나왔을 때 해결 방법은 아래 설정으로 해결 가능함

$git config --global core.autocrlf false

리눅스 문자와숫자 조합의 파일이름 정렬( Sort alphanumeric filenames in Linux )

아래 처럼 문자와 숫자가 섞여 있는 파일에 대해서 정렬이 제대로 되지 않을 때 When sorting is not done properly for files with mixed letters and numbers as shown below [codeh...