본문 바로가기
PROGRAMING📚/SQL DB📑

Sql Developer - SCOTT 계정 생성/스크립트 테이블 만들

Ta이니 2024. 6. 5.
728x90
반응형

 

scott  계정을 만들어 주기 위해서 system 계정에서 새로운 워크시트를 열어서 다음과 같이

코드를 작성해준다

 

바로 계정을 만들면 오류가 뜨면서 생성 할수없다고 한다

 Oracle 12C 버전부터는 사용자명에 c##을 붙이지 않으면 다음과 같은 오류가 발생 한다고 한다

ORA-65096: 공통 사용자 또는 롤 이름이 부적합합니다.
65096. 00000 -  "invalid common user or role name"
*Cause:    An attempt was made to create a common user or role with a name
           that was not valid for common users or roles. In addition to the
           usual rules for user and role names, common user and role names
           must consist only of ASCII characters, and must contain the prefix
           specified in common_user_prefix parameter.
*Action:   Specify a valid common user or role name.

 

다음과 같은 문제를

해결하기 위해서  계정을 만들기 전에

ALTER SESSION SET "_ORACLE_SCRIPT"=true;

_oracle_script 설정을 true 로 만들어 주어야 함

 

관리자에서 사용자 생성하기

Create user SCOTT identified by tiger;

 

데이터베이스 접속 권한

grant CREATE session to SCOTT;

 

테이블 생성 권한 

GRANT CREATE TABLE TO scott;
GRANT DROP TABLE TO scott;

 

 

SCOTT 계정 권한 부여 

GRANT CONNECT, RESOURCE, DBA TO SCOTT;

 

UNLIMITED TABLESPACE (테이블스페이스 사용 권한)

GRANT UNLIMITED TABLESPACE TO scott;

 

CREATE INDEX(인덱스 생성 권한)

GRANT CREATE ANY INDEX TO scott;
GRANT DROP ANY INDEX TO scott;

 

 

계정을 만들어 주었다

scott 계정 안에는 아무 데이터가 없기 때문에

 

접속이 완료되면 새로운 워크시트를 열어서

테이블을 만들어 줄 것이다

 

CREATE TABLE DEPT
       (DEPTNO NUMBER(2) CONSTRAINT PK_DEPT PRIMARY KEY,
    DNAME VARCHAR2(14) ,
    LOC VARCHAR2(13) ) ;

CREATE TABLE EMP
       (EMPNO NUMBER(4) CONSTRAINT PK_EMP PRIMARY KEY,
    ENAME VARCHAR2(10),
    JOB VARCHAR2(9),
    MGR NUMBER(4),
    HIREDATE DATE,
    SAL NUMBER(7,2),
    COMM NUMBER(7,2),
    DEPTNO NUMBER(2) CONSTRAINT FK_DEPTNO REFERENCES DEPT);

INSERT INTO DEPT VALUES
    (10,'ACCOUNTING','NEW YORK');

--------------------------------------------------------------

CREATE TABLE BONUS
    (
    ENAME VARCHAR2(10)    ,
    JOB VARCHAR2(9)  ,
    SAL NUMBER,
    COMM NUMBER
    ) ;
CREATE TABLE SALGRADE
      ( GRADE NUMBER,
    LOSAL NUMBER,
    HISAL NUMBER );

--------------------------------------------------------------

INSERT INTO DEPT VALUES (20,'RESEARCH','DALLAS');
INSERT INTO DEPT VALUES
    (30,'SALES','CHICAGO');
INSERT INTO DEPT VALUES
    (40,'OPERATIONS','BOSTON');
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-2-1981','dd-mm-yyyy'),1600,300,30);
INSERT INTO EMP VALUES
(7521,'WARD','SALESMAN',7698,to_date('22-2-1981','dd-mm-yyyy'),1250,500,30);
INSERT INTO EMP VALUES
(7566,'JONES','MANAGER',7839,to_date('2-4-1981','dd-mm-yyyy'),2975,NULL,20);
INSERT INTO EMP VALUES
(7654,'MARTIN','SALESMAN',7698,to_date('28-9-1981','dd-mm-yyyy'),1250,1400,30);
INSERT INTO EMP VALUES
(7698,'BLAKE','MANAGER',7839,to_date('1-5-1981','dd-mm-yyyy'),2850,NULL,30);
INSERT INTO EMP VALUES
(7782,'CLARK','MANAGER',7839,to_date('9-6-1981','dd-mm-yyyy'),2450,NULL,10);
INSERT INTO EMP VALUES
(7788,'SCOTT','ANALYST',7566,to_date('13-JUL-87','dd-mm-rr')-85,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('8-9-1981','dd-mm-yyyy'),1500,0,30);
INSERT INTO EMP VALUES
(7876,'ADAMS','CLERK',7788,to_date('13-JUL-87', 'dd-mm-rr')-51,1100,NULL,20);
INSERT INTO EMP VALUES
(7900,'JAMES','CLERK',7698,to_date('3-12-1981','dd-mm-yyyy'),950,NULL,30);
INSERT INTO EMP VALUES
(7902,'FORD','ANALYST',7566,to_date('3-12-1981','dd-mm-yyyy'),3000,NULL,20);
INSERT INTO EMP VALUES
(7934,'MILLER','CLERK',7782,to_date('23-1-1982','dd-mm-yyyy'),1300,NULL,10);

--------------------------------------------------------------

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;

 

 위 코드를 복사해서

새로연 scott.sql 시트에 넣고 한번 실행 시켜준다

 

 

새로고침 누르면 생성된 테이블을

확인 할 수 있다

728x90
반응형

댓글