Mac 사용자 “scott” 계정 생성 및 설정

YEONU LEE·2023년 2월 19일
0

Window 사용자와 다르게 Mac 사용자는 Oracle Database에서 scott (학습용 계정)이 존재하지 않을 수 있습니다. (ALTER USER SCOTT 를 입력했을 때 SCOTT 이 존재하지 않는다고 뜰 경우)

따라서,  Window사용자와 동일한 진행을 위해 scott 계정을 생성하고 직접 쿼리문을 통해 작성 해 주어야합니다.

sqlplus에 도커를 이용하여 접속

docker exec -it oracle sqlplus

명령어 입력 후 가이드라인대로 진행한 sqlplus의 계정을 입력하여 접속합니다.

Enter user-name : system 

Enter password:

유저 생성 쿼리문 작성

CREATE USER scott identified by tiger;

위 쿼리문은 ‘scott’ 이라는 유저를 생성하여 비밀번호를 ‘tiger’로 설정한다는 뜻 입니다.

권한 부여 쿼리문 작성

GRANT CONNECT, resource, dba to scott;

‘scott’ 유저에 권한을 부여합니다.

‘SCOTT’ 유저가 정상적으로 생성되었는지 확인하는 쿼리문 작성

select username from dba_users where username = 'SCOTT';

여기까지 진행하셨다면 ‘SCOTT’ 유저가 생성되었을 것 입니다.

이제 해야할 것은 ‘SCOTT’ 유저로 접속하여 쿼리문을 작성해 Window 환경에서 ‘SCOTT’ 유저를 언락한 것과 똑같이 테이블을 작성해 주는 것 입니다.

SCOTT 유저로 접속하기

docker exec -it oracle sqlplus

명령어 입력 후 ‘scott’ 유저로 접속합니다. (비밀번호는 초기 설정한 ‘tiger’ 입니다.)

Enter user-name : scott 

Enter password:

SCOTT 테이블 세팅

--
-- Copyright (c) Oracle Corporation 1988, 2000.  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
--    From within SQL*Plus, enter:
--        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

위 코드 그대로 SQL>  에 입력해줍니다.

다시 SCOTT 유저로 접속하기

docker exec -it oracle sqlplus

명령어 입력 후 ‘scott’ 유저로 접속합니다. (비밀번호는 초기 설정한 ‘tiger’ 입니다.)

Enter user-name : scott 

Enter password:

‘EMP’ 를 조회

DESC EMP;

EMP 테이블을 조회합니다.

profile
Kongju National Univ 컴퓨터 공학 전공

1개의 댓글

comment-user-thumbnail
2024년 1월 16일

저는 테이블 자체가 없어서 DROP은 안 쳐도 되는거 같네요.
오히려 테이블 없는데 DROP 구문 쓰고있다고 에러메세지가 뜨네요.

답글 달기