내용요약
새로운 계정을 만든다.
해석한다.
scott.sql을 넣는다.
전제조건
오라클이 설치 되어 있어야 한다.
진행하고 있는 오라클의 버전은 11g이다.
XE와 좀 다르다.
환경확인
먼저 서비스(services.msc)에서 오라클이 잘 돌아가고 있는지 확인한다.
SQL plus
커멘드로 들어간다.
sqlplus 로 접속한다.
sqlplus
sysdba(최고관리자)로 로그인한다.
근래들어 다양한 oracle의 버전을 사용해봤다.
EE(ORCL)나 XE(XE)나
버전별로 프로그램별로 명령어에 차이가 있는것 같다.
메모에는 로그인 후에
ALTER SESSION SET "_ORACLE_SCRIPT"=true;
해주라고 했는데 계속 오류가 발생했다.
오류메세지 : ORA-02248: ALTER SESSION 옵션이 부적합합니다
그래서 찾아보니
Oracle SQL Database developer 12c 계정 생성
11g와 달라서 2시간 동안 빅엿을 먹었기에 계정 생성 시행착오를 여기에 기록한다 상태: 실패 -테스트 실패: Listener refused the connection with the following error: ORA-12505, TNS:listener does not curre..
meaownworld.tistory.com
를 참고하자면
ALTER SESSION SET "_ORACLE_SCRIPT"=true;
는 12c이후에 유효한 방식으로 12c이후부터는 C##아이디로 지정해야 하는데
C##이 명령어가 아닌 ID에 같이 포함되어 세션을 변경하기 위한 명령어로 보인다.
때문에 나는 필요가 없었고 그냥 유저 생성을 진행하면 된다.
아이디 생성
CREATE USER [아이디] --유저를 만든다.
IDENTIFIED BY [비밀번호] --비밀번호를 만든다.
DEFAULT TABLESPACE USERS --DEFAULT TABLESPACE는 USER 스키마를 위한 기본 테이블스페이스를 지정 한다.
TEMPORARY TABLESPACE temp; --TEMPORARY TABLESPACE는 USER의 임시 테이블스페이스를 지정한다.
정상적으로 생성되었다면 테이블 스페이스의 영역을 설정한다.
얼만큼의 공간을 사용할지 결정한다고 보면 된다.
ALTER USER [아이디] DEFAULT TABLESPACE USERS QUOTA UNLIMITED ON users;
--QUOTA절을 사용하여 USER가 사용할 테이블스페이스의 영역을 할당한다. / 공간의 제약을 두지 않겠다.
GRANT resource, connect TO [아이디]; --리소스 권한과 연결 권한을 아이디에 부여한다.
conn [아이디]/[비밀번호] --생성한 계정에 연결한다.
scott.sql 넣기
생성된 계정에 scott.sql을 넣고자 한다.
더보기 하면 내용 볼 수 있음.
별로 안길어서 미리보기 넣었는데 다운로드가 더 편할테니..
Google 드라이브 - 모든 파일을 한 곳에서
하나의 계정으로 모든 Google 서비스를 Google 드라이브로 이동하려면 로그인하세요.
accounts.google.com
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');
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-7-1987','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('8-9-1981','dd-mm-yyyy'),1500,0,30);
INSERT INTO EMP VALUES
(7876,'ADAMS','CLERK',7788,to_date('13-7-1987','dd-mm-yyyy'),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);
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);
COMMIT;
파일을 적당한 곳에 준비하고
연결된 test계정에서 소스넣기를 실행한다.
@ [경로]/[파일이름]
*) 참고, 늘 데이터를 변경한 후에는 '커밋'을 해야한다.
종료 : exit
SQL Developer에서 확인하기.
접속한다.
잘 들어왔다.