DB/Oracle

새로운 계정을 만들어 테이블 만들어보기

내용요약

새로운 계정을 만든다.

해석한다.

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 옵션이 부적합합니다

 

그래서 찾아보니

meaownworld.tistory.com/6

 

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을 넣고자 한다.

더보기 하면 내용 볼 수 있음.

별로 안길어서 미리보기 넣었는데 다운로드가 더 편할테니..

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에서 확인하기.

접속한다.

 

 

잘 들어왔다.