책은 SQLD 비밀노트 이다. (왠만하면.....추천 안한다)
음...-_- 책에서 실습 환경이 윈도우로만 되어 있어서 mac 환경에서 하기 위해 docker로 진행한 부분을 포스팅 한다.
책에서 쓰인 데이터 및 스크립트들은 아래 링크에서 받을 수 있다. (언제든지 링크 주소는 바뀔수 있으니, 한빛출판사 홈페이지에서 검색해보자)
https://hanbit.co.kr/media/books/book_view.html?p_code=B8289488788
1. docker로 oracle 실행하기
docker image : https://hub.docker.com/r/jaspeen/oracle-xe-11g
$ docker run --name oracle11g -v "현재 PC의 원하는 위치:/tmp" -d -p 1521:1521 jaspeen/oracle-xe-11g
오라클 사용자 아이디/비번
system // oracle
2. 책의 챕터2 부분 진행 (TABLESPACE / TEMPORARY 경로는 임의로 설정했음)
CREATE USER SQLD IDENTIFIED BY 1234;
ALTER USER SQLD ACCOUNT UNLOCK;
GRANT RESOURCE, DBA, CONNECT TO SQLD;
CREATE TABLESPACE SQLD_DATA
DATAFILE '/tmp/SQLD_DATA.dbf' SIZE 4G
CREATE TEMPORARY TABLESPACE SQLD_TEMP
TEMPFILE '/tmp/SQLD_TEMP.dbf' SIZE 1G
AUTOEXTEND ON NEXT 100M MAXSIZE UNLIMITED;
alter user SQLD default tablespace SQLD_DATA;
ALTER USER SQLD TEMPORARY TABLESPACE SQLD_TEMP;
3. 덤프파일 적용
챕터2 책에서 표기된 데이터를 받으라고 한 링크는 동작하지 않습니다. (나처럼 시간 낭비하지 말자)
한빛출판사에서 책 검색 후 부록/예제소스에서 다운로드 받으면 됩니다.
https://www.hanbit.co.kr/store/books/look.php?p_code=B8289488788
EXPORT_SQLD 압축 해제 후 처음 도커 실행시 volumn 설정 경로에 dump 파일을 옮기면 도커내부에서 접근이 가능합니다.
도커 콘솔로 접속 후 덤프 파일을 적용합니다. (시간이 꽤 걸립니다.)
impdp SQLD/1234 schemas=SQLD directory=D_SQLD dumpfile=EXPORT_SQLD.dmp logfile=EXPORT_SQLD.log
적용 후 테이블 검색
SELECT ROWNUM AS 순번
, TABLE_NAME AS 테이블명
, (SELECT L.COMMENTS
FROM DBA_TAB_COMMENTS L
WHERE L.OWNER = 'SQLD'
AND L.TABLE_NAME = A.TABLE_NAME) AS 테이블한글명
, DATA_CNT AS 테이블행수
, COUNT(*) OVER() AS 총테이블수
, SUM(DATA_CNT) OVER() AS 총행수
FROM
(
SELECT TRIM('TB_ADRES_CL') AS TABLE_NAME, COUNT(*) DATA_CNT FROM SQLD.TB_ADRES_CL
UNION ALL
SELECT TRIM('TB_ADRES_CL_SE') AS TABLE_NAME, COUNT(*) DATA_CNT FROM SQLD.TB_ADRES_CL_SE
UNION ALL
SELECT TRIM('TB_ADSTRD') AS TABLE_NAME, COUNT(*) DATA_CNT FROM SQLD.TB_ADSTRD
UNION ALL
SELECT TRIM('TB_AGRDE_SE') AS TABLE_NAME, COUNT(*) DATA_CNT FROM SQLD.TB_AGRDE_SE
UNION ALL
SELECT TRIM('TB_PLOT_SE') AS TABLE_NAME, COUNT(*) DATA_CNT FROM SQLD.TB_PLOT_SE
UNION ALL
SELECT TRIM('TB_POPLTN') AS TABLE_NAME, COUNT(*) DATA_CNT FROM SQLD.TB_POPLTN
UNION ALL
SELECT TRIM('TB_POPLTN_SE') AS TABLE_NAME, COUNT(*) DATA_CNT FROM SQLD.TB_POPLTN_SE
UNION ALL
SELECT TRIM('TB_RN') AS TABLE_NAME, COUNT(*) DATA_CNT FROM SQLD.TB_RN
UNION ALL
SELECT TRIM('TB_STDR_INDUST_CL') AS TABLE_NAME, COUNT(*) DATA_CNT FROM SQLD.TB_STDR_INDUST_CL
UNION ALL
SELECT TRIM('TB_SUBWAY_STATN') AS TABLE_NAME, COUNT(*) DATA_CNT FROM SQLD.TB_SUBWAY_STATN
UNION ALL
SELECT TRIM('TB_SUBWAY_STATN_TK_GFF') AS TABLE_NAME, COUNT(*) DATA_CNT FROM SQLD.TB_SUBWAY_STATN_TK_GFF
UNION ALL
SELECT TRIM('TB_TK_GFF_SE') AS TABLE_NAME, COUNT(*) DATA_CNT FROM SQLD.TB_TK_GFF_SE
UNION ALL
SELECT TRIM('TB_BSSH') AS TABLE_NAME, COUNT(*) DATA_CNT FROM SQLD.TB_BSSH
UNION ALL
SELECT TRIM('TB_INDUTY_CL') AS TABLE_NAME, COUNT(*) DATA_CNT FROM SQLD.TB_INDUTY_CL
UNION ALL
SELECT TRIM('TB_INDUTY_CL_SE') AS TABLE_NAME, COUNT(*) DATA_CNT FROM SQLD.TB_INDUTY_CL_SE
) A
;
끝!
- 책이 나온지 반년도 안되었는데......이건 너무하다..
- 실행스크립트도 윈도우 포멧으로 작성되어 한글이 전부 깨진다. (sql 칼럼을 한글로 하면 어떻하니...)
- 빨리 자격증따고 버려야겠다
'쓰레기장""' 카테고리의 다른 글
[엄마친구아들] 그거 시간표 안될텐데요? (0) | 2024.08.25 |
---|---|
요즘 같은 세상에.... (0) | 2021.12.20 |
지구야 미안해!! (0) | 2020.07.18 |
월세로 집을 구한다면 꼭 첫달 월세를 확인하세요!! (0) | 2019.07.03 |
jenkins 설치 및 연동 (0) | 2019.05.14 |