오라클 Intro (user생성 및 테이블작성)

Oracle Intro

가장 먼저 (ctrl + R) 후, cmd 입력해서 콘솔창을 엽니다.

frontspace라는 DBF 파일을 생성합니다.

오라클에서는 tablespace라는 큰 개념을 이용합니다.

1
2
3
4
5
SQL> create tablespace frontspace
2 datafile 'C:\oraclexe\app\oracle\oradata\XE\frontspace.dbf'
3 size 2M;

Tablespace created.

frontspace라는 db를 생성합니다.

개발자를 위한 새로운 user를 생성합니다.

1
2
3
4
5
6
SQL> create user dominonly
2 identified by 1234
3 default tablespace frontspace
4 quota unlimited on frontspace;

User created.

db를 관리하는 dba가 아닌 개발자는 database를 건드릴 수 있는 권한이 없기 때문에
관리자로부터 권한을 받아내야 합니다. 그러기 위해서는 db에 새로운 자신의 계정을
생성한 뒤에, dba로부터 권한을 받아야 합니다. 실제 실무에서 db를 건드려야 하는 상황이
왔을때, 함부로 db password나 name을 요구하면 스파이로 오해받을 수 있습니다^^;;;

저같은 경우 계정명-> dominonly, 패스워드-> 1234로 설정하였습니다.
db를 생성할때 default로 입력될 tablespace를 위에서 만들었던 frontspace로 셋팅합니다.

수정은 ed 라는 편집기로 가능합니다(여기서는 ;이 아니라 /로 문장이 끝났음을 알려줍니다.)

생성된 유저를 확인해봅니다.

1
2
3
4
5
6
7
8
9
SQL> run
1 create user dominonly
2 identified by 1234
3 default tablespace frontspace
4* quota unlimited on frontspace
create user front
*
ERROR at line 1:
ORA-01920: user name 'FRONT' conflicts with another user or role name

새로운 cmd창을 열어 생생된 user로 접속해봅니다.

1
2
3
4
5
6
7
8
9
C:\Users\Leeminjeong>sqlplus

SQL*Plus: Release 11.2.0.2.0 Production on 토 7월 7 09:56:08 2018

Copyright (c) 1982, 2014, Oracle. All rights reserved.

Enter user-name: front/front
ERROR:
ORA-01045: user FRONT lacks CREATE SESSION privilege; logon denied

접속권한 오류가 뜨는 것을 확인할 수 있습니다.

다시 이전 cmd창으로 와서 생성한 계정에 권한을 부여합니다.

1
2
3
SQL> grant create session to dominonly;

Grant succeeded.

두번째 cmd창에서 접속된 것을 확인해 볼 수 있습니다.

1
2
3
4
Enter user-name: dominonly/1234

Connected to:
Oracle Database 11g Express Edition Release 11.2.0.2.0 - 64bit Production

첫번째 cmd에서 user에게 table을 만드는 권한도 부여합니다.

1
2
3
SQL> grant create table to dominonly;

Grant succeeded.

table을 만듭니다.

저는 fruit의 정보를 담은 table을 생성해 보았습니다.

1
2
3
4
5
6
7
8
SQL> run
1 create table fruit(
2 name varchar(20)
3 , price number default 0
4 , loc varchar(30)
5* )

Table created.

이제 table의 데이터를 생성합니다.

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
SQL> insert into fruit(name,price,loc) values('배',2000,'나주');

1 row created.

SQL> insert into fruit(name,price,loc) values('사과',1000,'대구');

1 row created.

SQL> insert into fruit(name,price,loc) values('참외',1500,'성주');

1 row created.

SQL> insert into fruit(name,price,loc) values('바나나',3000,'필리핀');

1 row created.

SQL> insert into fruit(name,price,loc) values('딸기',4000,'이마트');

1 row created.

5개의 데이터를 담아보았습니다.
여기서 중요한데, commit이라는 과정을 꼭 거쳐야지만 입력된 데이터를
확정시킬 수 있습니다. commit을 하지 않으면 애써 입력한 데이터들을 모두
잃을 수 있으니까 유의해야합니다.

Commit 해서 확정시킵니다.

1
2
3
4

SQL> commit;

Commit complete.

table을 확인해봅니다.

1
2
3
4
5
6
7
8
9
10

SQL> select * from fruit;

NAME PRICE LOC
---------------------------------------- ---------- ------------------------------------------------------------
배 2000 나주
사과 1000 대구
참외 1500 성주
바나나 3000 필리핀
딸기 4000 이마트

만약 table의 가로길이를 조절하고 싶다면
SQL> set line 300; 라고 입력하면 됩니다.

oracle나가기!!

1
2
SQL> exit
Disconnected from Oracle Database 11g Express Edition Release 11.2.0.2.0 - 64bit Production

간단하게 exit이라고 입력하면 나갈수있습니다.

Share