블로그는 나의 힘!
[ Programing ]/Database2010. 3. 22. 21:26
환경 Setting
1. 실습 환경
Machine/IP Address :
OS User Name/Password :

$ echo $ORACLE_HOME :
$ echo $ORACLE_SID :
$ sqlplus /nolog

SQL> conn /as sysdba
SQL> startup
SQL> select instance_name from v$instance;
SQL> select name from v$database;



Lesson 2. Getting Started with Oracle Server
1. SQL *Plus에 SYSDBA로 접속해 봅니다.
$ sqlplus /nolog

2. SQL *Plus에서 다음 질의를 수행하여 데이터베이스에 접속되었는지 확인하고 SQL *Plus를 종료합니다.
SQL> select * from dual;
SQL> exit



Lesson 3. Managing an Oracle Instance
1. SYS 사용자가 SYSDBA 권한으로 데이터베이스에 접속하고 데이터베이스를 종료하십시오.
$ sqlplus /nolog
SQL> connect / AS SYSDBA
SQL> shutdown immediate


2. 데이터베이스가 종료되면 PFILE에서 SPFILE을 생성하십시오. SPFILE은 spfilePROD.ora 파일 이름 형식으로 생성합니다.
$ sqlplus /nolog
SQL> connect / AS SYSDBA
SQL> create SPFILE from PFILE;


3. 새로운 터미널 세션을 열고 운영체제에서 SPFILE을 보십시오.
$ vi $ORACLE_HOME/dbs/spfilePROD.ora
( 볼수는 있지만 수정 불가 )

4. SYS 사용자라 SYSDBA 권한으로 접속하고 SPFILE을 사용하여 데이터베이스를 시작하십시오.
$ sqlplus /nolog
SQL> connect / AS SYSDBA
SQL> startup


5. 다음의 지시대로 실습하세요.
( 5-1 ) 데이터베이스를 종료하고 읽기 전용 모드로 여십시오.
SQL> connect / AS SYSDBA
SQL> shutdown immediate
SQL> startup mount
SQL> alter database open read only;


( 5-2 ) 암호가 HR인 사용자 HR로 접속하여 REGION 테이블에 다음 행을 삽입하십시오.
SQL> conn hr/hr
SQL> insert into regions values(5, 'Mars');
   -> Error 발생

( 5-3 ) 데이터베이스를 읽기/쓰기 모드로 되돌리십시오.
SQL> connect / AS SYSDBA
SQL> shutdown immediate
SQL> startup

6. 다음의 지시대로 실습하세요. ( 2대. 일반 PC, DB PC )
( 6-1 ) 암호가 HR인 사용자로 HR로 접속하여 REGIONS 테이블에 다음 행을 Insert 하십시오.
이때 commint이나 rollback은 하지 마십시오.
HR SESSION
SQL> connect hr/hr
SQL> inset into regions values(5, 'Mars');


( 6-2 ) 새로운 터미널 세션에서 SQL *Plus를 시작하십시오. SYS 사용자가 SYSDBA 권한으로 접속하고 Transactional 모드로 종료하십시오.
SYS SESSION
SQL> connect / as sysdba
SQL> shutdown transactional


( 6-3 ) HR 세션에서 Inset 작업을 rollback 하고 종료하십시오. HR 세션에서 어떤 결과가 발생했습니까? SYS 세션에 어떤 상황이 발생했습니까?
HR SESSION
SQL> rollback;
SQL> exit

SYS SESSION
SYS 세션이 완료되고 데이터베이스가 닫힙니다.

7. 다음 실습을 하십시오. ( 권한 없는 유저 접근 불가. 권한 실습 )
( 7-1 ) SYS 사용자로 데이터베이스를 시작하십시오.
SQL> connect / as sysdba
SQL> startup


( 7-2 ) HR 사용자로 다른 세션을 시작하십시오.
두개의 SQL *Plus 세션을 연 상태로, 하나는 SYS 사용자로, 다른 하나는 HR 사용자로 유지하십시오.
HR SESSION
SQL> connect hr/hr

( 7-3 ) SYS 사용자로 제한된 세션을 활성화 하십시오.
SYS SESSION
SQL> alter system enable restricted session;

( 7-4 ) HR 사용자로 Regions 테이블에서 select 문을 수행하십시오. select 문이 성공했습니까? 세션을 종료한 다음 HR 사용자로 다시 접속하십시오. 결과는? ( -> select 성공, 접속은 안됨 )
HR SESSION
SQL> select * from regions;
SQL> exit
SQL> connect hr/hr


( 7-5 ) SYS 사용자로 제한된 세션을 비활성화 하십시오.
SYS SESSION
SQL> alter system disable restricted session;

Posted by Mister_Q