저는 Mac Os에서 Oracle을 사용하기 위해 Docker를 사용하고 있습니다
* 도커 설치 및 오라클 설치
jione-e.tistory.com/3?category=951692
SQL Developer 를 실행시키고 접속하려면 먼저 터미널을 실행시키고 명령어를 입력합니다.
docker ps
현재 실행중인 docker 컨테이너 목록을 보여줍니다.
저는 oracle 컨테이너를 실행시켰기 때문에 실행 목록에 있지만 안보이신다면 다음 명령어를 입력하세요.
docker restart oracle11g
oracle11g 컨테이너를 재시작하는 명령어입니다.
system 계정 생성
접속을 완료했다면 system 계정을 생성해주세요.
이제 보통같으면 여기서 Scott 계정을 활성화하고 사용하면 되는데
저는 [ORA-01918: user 'SCOTT' does not exist] 라는 SCOTT 유저가 없다는 오류만 떠서 ㅜㅜ
아예 계정을 새로 생성했습니다.
그런데 찾아봐도 윈도우에서 SCOTT 계정을 생성한 경우는 많은데 저는 맥에서 도커로 오라클을 사용하기 때문에 한참 헤맸네요 ㅜㅜ
sqlplus 접속하기
먼저 sqlplus에 관리자 권한으로 접속하기 위해 다음 명령어를 입력합니다.
docker exec -it oracle11g bin/bash
docker exec -it oracle11g bin/bash
root@6251d1456415:/# sqlplus /nolog
SQL> conn sys/oracle as sysdba
Connected.
SCOTT USER 생성
SQL> CREATE USER scott IDENTIFIED BY tiger
2 DEFAULT TABLESPACE users
3 TEMPORARY TABLESPACE temp;
SCOTT USER 권한부여
SQL> GRANT CONNECT, RESOURCE, DBA TO scott;
SCOTT 접속
SQL디벨로퍼에서 SCOTT 계정으로 접속
SCOTT 생성 스크립트
SCOTT의 워크시트에 아래 스크립트를 복사해 실행시키면 끝 !
--
-- 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
--
--
DROP TABLE EMP;
DROP TABLE DEPT;
DROP TABLE BONUS;
DROP TABLE SALGRADE;
DROP TABLE DUMMY;
SET TERMOUT ON
PROMPT Building demonstration tables. Please wait.
SET TERMOUT OFF
CREATE TABLE BONUS
(ENAME VARCHAR2(10),
JOB VARCHAR2(9),
SAL NUMBER,
COMM NUMBER);
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-12-1980', 'DD-MM-YYYY'), 800, NULL, 20);
INSERT INTO EMP VALUES
(7499, 'ALLEN', 'SALESMAN', 7698,
TO_DATE('20-02-1981', 'DD-MM-YYYY'), 1600, 300, 30);
INSERT INTO EMP VALUES
(7521, 'WARD', 'SALESMAN', 7698,
TO_DATE('22-02-1981', 'DD-MM-YYYY'), 1250, 500, 30);
INSERT INTO EMP VALUES
(7566, 'JONES', 'MANAGER', 7839,
TO_DATE('02-04-1981', 'DD-MM-YYYY'), 2975, NULL, 20);
INSERT INTO EMP VALUES
(7654, 'MARTIN', 'SALESMAN', 7698,
TO_DATE('28-09-1981', 'DD-MM-YYYY'), 1250, 1400, 30);
INSERT INTO EMP VALUES
(7698, 'BLAKE', 'MANAGER', 7839,
TO_DATE('01-05-1981', 'DD-MM-YYYY'), 2850, NULL, 30);
INSERT INTO EMP VALUES
(7782, 'CLARK', 'MANAGER', 7839,
TO_DATE('09-06-1981', 'DD-MM-YYYY'), 2450, NULL, 10);
INSERT INTO EMP VALUES
(7788, 'SCOTT', 'ANALYST', 7566,
TO_DATE('09-12-1982', 'DD-MM-YYYY'), 3000, NULL, 20);
INSERT INTO EMP VALUES
(7839, 'KING', 'PRESIDENT', NULL,
TO_DATE('17-11-1981', 'DD-MM-YYYY'), 5000, NULL, 10);
INSERT INTO EMP VALUES
(7844, 'TURNER', 'SALESMAN', 7698,
TO_DATE('08-09-1981', 'DD-MM-YYYY'), 1500, NULL, 30);
INSERT INTO EMP VALUES
(7876, 'ADAMS', 'CLERK', 7788,
TO_DATE('12-01-1983', 'DD-MM-YYYY'), 1100, NULL, 20);
INSERT INTO EMP VALUES
(7900, 'JAMES', 'CLERK', 7698,
TO_DATE('03-12-1981', 'DD-MM-YYYY'), 950, NULL, 30);
INSERT INTO EMP VALUES
(7902, 'FORD', 'ANALYST', 7566,
TO_DATE('03-12-1981', 'DD-MM-YYYY'), 3000, NULL, 20);
INSERT INTO EMP VALUES
(7934, 'MILLER', 'CLERK', 7782,
TO_DATE('23-01-1982', 'DD-MM-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 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);
COMMIT;
SET TERMOUT ON
PROMPT Demonstration table build is complete.
다음과 같이 테이블 4개가 생성된것을 볼 수 있습니다.
맥에서 오라클 사용하기 너무 힘드네요 ㅜㅜ
그래도 다행히 성공했습니다.
맥에서 오라클 사용하시는 분들에게 도움이 됐으면 좋겠습니당
'Database & Bigdata > Oracle' 카테고리의 다른 글
[1/29] 강의정리 (JDBC, DBConnection, Java, Oracle, Mybatis) (0) | 2021.01.29 |
---|---|
[Oracle] 1/28 강의 정리 (서브쿼리, 딕셔너리, merge, 트랜잭션) (0) | 2021.01.28 |
[Oracle] 1/27 강의 정리 (오라클 함수, NVL, DECODE, CASE, JOIN) (0) | 2021.01.27 |
[Oracle] 1/26 강의 정리 (TAB, IS NULL, ROUND, 오라클 함수) (0) | 2021.01.26 |
댓글