'Parrot & SQL'에 해당되는 글 6건

  1. 2009.07.29 Oracle Commit와 Rollback,Transaction(커밋,롤백,트랜잭션)의 개념.
  2. 2009.07.24 오라클 테이블 작성.
  3. 2009.07.24 오라클 vi를 이용해 SQL문 작성시..
  4. 2009.07.24 오라클 계정으로 오라클 가동..
  5. 2009.07.24 오라클 DB생성과 DB유져생성
  6. 2009.07.24 오라클 system, sys 비밀번호 재설정
2009. 7. 29. 15:51

Oracle Commit와 Rollback,Transaction(커밋,롤백,트랜잭션)의 개념.

 SQL> insert into MUSIC values('00001','Yesterday','yesterday.mp3','Beatles','M.
Jack','/rtps/data/Y/','02');
1 개의 행이 만들어졌습니다.

앞전 포스팅에서 만든 테이블에 위와 같이 데이타를 입력합니다.

select문을 이용하여 insert된 데이타를 조회합니다.
 SQL> select title from Music;

TITLE
-----------------------------------------------------------------------

Yesterday

SQL>

commit하여 완전히 DB상에 저장을 합니다.
 SQL> commit;

커밋이 완료되었습니다.

SQL>

두번째 데이타를 넣어봅시다.
 
SQL> insert into MUSIC values('00002','Say Yes','sayyes.mp3','ChangeAska','CA','
/rtps/data/S/','81');

1 개의 행이 만들어졌습니다.
SQL> select title from Music;

TITLE
-------------------------------------------------------------------------

Yesterday
Say Yes

SQL>

여기서 롤백을 실시해봅시다.
 SQL> rollback;

롤백이 완료되었습니다.

롤백후에 데이타를 조회해봅니다.
 SQL> select title from Music;

TITLE
-----------------------------------------------------------------------

Yesterday

commit는 작업된 SQL문을 완전히 오라클테이블스페이스에 적용시키는것입니다.
rollback은 마지막으로 commit된 곳으로 되돌리는 기능을 하게됩니다.

단, 테이블의 생성과 테이블의 삭제의 경우에는 적용되지 않습니다.

즉 우리말로 말하자면 승인과 취소의 역활을 하는 것이지요..인터넷에서 무언가를 입력할때 확인과 취소의 역활을 한다고 보면 됩니다. 그걸 영어로 어렵게 말하면 commit하고 rollback한다고 유식쟁이들이 말하는겁니다.

이런 방법을 트랜잭션이라고 말합니다만 단순 확인/취소보다는 약간 어려운 개념이 있습니다.
여러명이 DB를 열고 데이타를 추가하거나 삭제,변경시에는 어느 시기에 commit된 시각이 적용되느냐하는 어려움이 남게 되지요...바로 이럴때 교통정리까지 해주는 기능을 또한번 유식쟁이들은 트랜잭션이라고 하는거지요..
2009. 7. 24. 18:40

오라클 테이블 작성.


oracle_bas테이블스페이스를 만들고 bestakas의 디폴트 테이블스페이스를 oracle_bas로 전 포스팅에 주었다.
그럼 이제..~ 테이블을 만들어보자..

CD관련 테이블을 간단히 만들어본다.. sqlplus에서 해당아이디로 접속후,..!를 치고 셀상으로 빠져나와 vi 파일명.sql을 작성한다..

 /************************************************************
테이블명 : music
내용 : 음원기록
************************************************************/

create table MUSIC (
                       EMPNO varchar2(05) NOT NULL,
                       TITLE varchar2(100) NOT NULL,
                       FILENAME varchar2(100),
                       SINGER varchar2(12),
                       COPYRIGHT varchar2(12),
                       directory varchar2(100),
                       NATION varchar2(2),
                    CONSTRAINT PK_MUSIC PRIMARY KEY(EMPNO)  );

다시 exit하여 sqlplus로 들어가서..
 [oracle@AkasLinux ~]$ exit
exit

SQL> @misc.sql

Table created.

SQL> select * from tabs;

TABLE_NAME                     TABLESPACE_NAME
------------------------------ ------------------------------
CLUSTER_NAME                   IOT_NAME                       STATUS
------------------------------ ------------------------------ --------
  PCT_FREE   PCT_USED  INI_TRANS  MAX_TRANS INITIAL_EXTENT NEXT_EXTENT
---------- ---------- ---------- ---------- -------------- -----------
MIN_EXTENTS MAX_EXTENTS PCT_INCREASE  FREELISTS FREELIST_GROUPS LOG B   NUM_ROWS
----------- ----------- ------------ ---------- --------------- --- - ----------
    BLOCKS EMPTY_BLOCKS  AVG_SPACE  CHAIN_CNT AVG_ROW_LEN
---------- ------------ ---------- ---------- -----------
AVG_SPACE_FREELIST_BLOCKS NUM_FREELIST_BLOCKS
------------------------- -------------------
DEGREE
----------------------------------------
INSTANCES                                CACHE                TABLE_LO
---------------------------------------- -------------------- --------
SAMPLE_SIZE LAST_ANAL PAR IOT_TYPE     T S NES BUFFER_ ROW_MOVE GLO USE
----------- --------- --- ------------ - - --- ------- -------- --- ---
DURATION        SKIP_COR MON CLUSTER_OWNER                  DEPENDEN COMPRESS
--------------- -------- --- ------------------------------ -------- --------
COMPRESS_FOR       DRO REA
------------------ --- ---
MUSIC                          ORACLE_BAS

TABLE_NAME                     TABLESPACE_NAME
------------------------------ ------------------------------
CLUSTER_NAME                   IOT_NAME                       STATUS
------------------------------ ------------------------------ --------
  PCT_FREE   PCT_USED  INI_TRANS  MAX_TRANS INITIAL_EXTENT NEXT_EXTENT


테이블을 좀 보니..주저리 주저리 뭔말들이 나온다..

오라클 SQL Developer로 확인하여 보자..
정상적으로 테이블이 생성됨을 알수있다.

의도한대로 원하는 테이블스페이스에 테이블이 생성되었다.. ㅋ..

Oracle SQL Developer는
 /home/oracle/oracle11/product/11.1.0/db_1/sqldeveloper에 위치한다.
다음 포스팅은 JDBC를 구성하고..
php와 jsp를 통해서 오라클 쿼리를 이용하여 웹상에서 직접 데이타를 넣어보자...
오늘은 배고프므로.. 여기서 고만... 밥줄인 서버맹글기 일하러 갑니다.

2009. 7. 24. 17:35

오라클 vi를 이용해 SQL문 작성시..

간단하다..아주..
외부에서 vi나 gedit로 SQL문을 작성해서

SQL> @파일명

해주면 끝...

지금보는 Oracle교재가 순전히 정통 SQL문으로만 서술하네...ㅋ
 

2009. 7. 24. 17:24

오라클 계정으로 오라클 가동..


오라클을 부팅시 자동시동하니..
리눅스 머신이 너무 무거워지는듯 하다.
그래서 데탑용 리눅스 머신에서 자동시동기능을 없애고...
오라클 계정으로만 오라클을 만질때 써야긋다.

 /home/oracle/oracle11/product/11.1.0/db_1/bin/emctl start dbconsole
/home/oracle/oracle11/product/11.1.0/db_1/bin/lsnrctl start
/home/oracle/oracle11/product/11.1.0/db_1/bin/sqlplus "/as sysdba"
SQL*Plus: Release 11.1.0.6.0 - Production on Thu Jul 23 17:04:01 2009

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

Connected to an idle instance.

SQL> startup
ORACLE instance started.

Total System Global Area  849530880 bytes
Fixed Size                  1303216 bytes
Variable Size             461376848 bytes
Database Buffers          381681664 bytes
Redo Buffers                5169152 bytes
Database mounted.
Database opened.
SQL>




2009. 7. 24. 15:32

오라클 DB생성과 DB유져생성

[oracle@AkasLinux emd]$ sqlplus

SQL*Plus: Release 11.1.0.6.0 - Production on Thu Jul 23 15:20:00 2009

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

Enter user-name: system
Enter password:

Connected to:
Oracle Database 11g Enterprise Edition Release 11.1.0.6.0 - Production
With the Partitioning, OLAP, Data Mining and Real Application Testing options

SQL> create tablespace oracle_bas datafile '/home/oracle/oracle11/oradata/orcl/bas.dbf' size 10M;

Tablespace created.

SQL> create user bestakas identified by password default tablespace oracle_bas;

User created.

SQL> grant connect, resource to bestakas;

Grant succeeded.

SQL> connect bestakas/password
Connected.
SQL>

Let's Go Oracle
2009. 7. 24. 14:43

오라클 system, sys 비밀번호 재설정

 [oracle@AkasLinux bin]$ sqlplus "/ as sysdba"

SQL*Plus: Release 11.1.0.6.0 - Production on Thu Jul 23 14:32:51 2009

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


Connected to:
Oracle Database 11g Enterprise Edition Release 11.1.0.6.0 - Production
With the Partitioning, OLAP, Data Mining and Real Application Testing options

SQL> show user
USER is "SYS"
SQL> alter user sys identified by password;

User altered.

SQL> alter user system identified by password;

User altered.


SQL> quit
Disconnected from Oracle Database 11g Enterprise Edition Release 11.1.0.6.0 - Production
With the Partitioning, OLAP, Data Mining and Real Application Testing options
[oracle@AkasLinux bin]$ sqlplus

SQL*Plus: Release 11.1.0.6.0 - Production on Thu Jul 23 14:34:33 2009

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

Enter user-name: system
Enter password:

Connected to:
Oracle Database 11g Enterprise Edition Release 11.1.0.6.0 - Production
With the Partitioning, OLAP, Data Mining and Real Application Testing options

SQL>

확인 끝