나의 즐겨찾기 | 블로그홈 | 바로가기 바로가기 | 로그인
블로그  |  사진갤러리  |  동영상갤러리 방명록  |   즐겨찾기 추가
ITEDU (sdsduck)
프로필     
전체 글보기(397)
기본폴더
IT관련뉴스
Computing관련뉴스
Mobile관련뉴스
문화컨텐츠관련뉴스
통신/방송관련뉴스
Microsoft자격증
SUN자격증
ORACLE자격증
CISCO자격증
Oracle강좌
Microsoft강좌
CISCO강좌
LPIC강좌
Solaris강좌
JAVA강좌
C언어강좌
그 외 프로그램
추천사이트
개설일 : 2006/01/11
 

[Oracle강좌]SUN에 오라클설치하기

2006.02.10 13:25 | Oracle강좌 | ITEDU

http://kr.blog.yahoo.com/sdsduck/383 주소복사

1) Solaris8 설치

- 시스템 사양

Sun Microsystem Ultra10 System (64bit)

HDD : 40GB

RAM : 256 (512)MB

OS : Solaris 8 01/07




- 파티션 분할

/ : 20GB

/swap : 1G

/oracle : 10GB

- 배포판 전체 설치 옵션으로 Solaris를 설치함

- SWAP이 부족한 경우 설치가 실패 할 수 있음.. 묻지 말고 HDD를 추가해서

swap를 늘리거나 운영체제를 새로 설치하도록...







2) 시스템 설정 변경 - Kernel 메모리 설정 변경




# vi /etc/system

===================================

* Oracle memory value forceloading option

forceload:sys/shmsys

forceload:sys/semsys

forceload:sys/msgsys




* Oracle shared memory setting

set shmsys:shminfo_shmmax=4294967295

set shmsys:shminfo_shmmin=50

set shmsys:shminfo_shmmni=256

set shmsys:shminfo_shmseg=256




* Oracle Semapore setting

set semsys:seminfo_semmni=2048

set semsys:seminfo_semmsl=400

set semsys:seminfo_semmns=2048

set semsys:seminfo_semopm=100

set semsys:seminfo_semvmx=32767

set semsys:seminfo_semume=128

set semsys:seminfo_semmap=128

set semsys:seminfo_semmnu=2048




* Protocol Message parameter setting(IPC)

set msgsys:msginfo_msgmap=512

set msgsys:msginfo_msgmax=8192

set msgsys:msginfo_msgmnb=65536

set msgsys:msginfo_msgmni=256

set msgsys:msginfo_msgssz=8

set msgsys:msginfo_msgtql=512

set msgsys:msginfo_msgseg=8192




* ETC parameter setting

set maxusers=100

set max_nprocs=1000

set rlim_fd_max=4096

set rlim_fd_cur=512

set pt_cnt=128

===================================




3) 오라클 관리 그룹생성 및 설치 계정 생성




# groupadd -g 1000 dba

# useradd -g 1000 -u 100 -d /oracle oracle

# passwd oracle




4) 환경 설정




- C쉘인 경우 (.cshrc)

=========================================================================

set path=(/oracle/9i/bin /usr/ccs/bin /usr/bin /etc /usr/openwin/bin /usr/local/bin /usr/ucb

/oracle/9i/network/admin /bin /usr/bin .)

setenv ORACLE_BASE /oracle

setenv ORACLE_HOME /oracle/9i

setenv ORACLE_SID DB02

setenv ORACLE_OWNER oracle

setenv LANG ko

setenv CLASSPATH /oracle/9i/jlib:/oracle/9i/JRE:/oracle/9i/rdbms/jlib:/oracle/9i/network/jlib

setenv DISPLAY teacher:0.0

setenv TERM vt100

setenv ORACLE_TERM vt100

setenv ORA_NLS33 /oracle/9i/ocommon/nls/admin/data

setenv TNS_ADMIN /oracle/9i/network/admin

setenv NLS_LANG AMERICAN_AMERICA.KO16KSC5601

setenv LD_LIBRARY_PATH /oracle/9i/lib:/oracle/9i/lib64:/oracle/9i/jdbc/lib:lib:/usr/lib:

/usr/openwin/lib:usr/dt/lib:usr/ucblib:/uusr/local/lib:usr/ccs/lib:

/oracle/9i/rdbms/lib:/oracle/9i/network/lib

setenv EDITOR vi

=========================================================================




- 콘쉘,배시쉘 (.profile, .dtprofile .....)

=========================================================================

export PATH=$PATH:/oracle/9i/bin:/usr/ccs/bin:/usr/bin:/etc:/usr/openwin/bin:

export PATH=$PATH:/usr/local/bin:/usr/ucb:/oracle/9i/network/admin:/bin:/usr/bin

export ORACLE_BASE=/oracle

export ORACLE_HOME=/oracle/9i

export ORACLE_SID=DB02

export ORACLE_OWNER=oracle

export LANG=ko

export CLASSPATH=/oracle/9i/jlib:/oracle/9i/JRE:/oracle/9i/rdbms/jlib:/oracle/9i/network/jlib

export TERM=vt100

export ORACLE_TERM=vt100

export ORA_NLS33=/oracle/9i/ocommon/nls/admin/data

export TNS_ADMIN=/oracle/9i/network/admin

export NLS_LANG=AMERICAN_AMERICA.KO16KSC5601

export LD_LIBRARY_PATH=/oracle/9i/lib:/oracle/9i/lib64:/oracle/9i/jdbc/lib:lib:/usr/lib:

export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/usr/openwin/lib:usr/dt/lib:usr/ucblib:/uusr/local/lib:usr/ccs/lib:

export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/oracle/9i/rdbms/lib:/oracle/9i/network/lib

setenv EDITOR=vi

=========================================================================




5) 파일 다운로드 및 압축풀기




(1) http://otn.oracle.com/software/products/oracle9i/index.html 사이트에서 필요한

Oracle 데이터베이스 버전을 다운로드 받는다.

/down디렉토리에 다운 받는다.




solaris64_9.2.0.1.0.Disk1.cpio.gz (583,756,222 bytes)

solaris64_9.2.0.1.0.Disk2.cpio.gz (603,567,380 bytes)

solaris64_9.2.0.1.0.Disk3.cpio.gz (334,964,265 bytes)




(2) 압축해제 2 단계로 수행됩니다.

% gunzip solaris64_9.2.0.1.0.Disk1.cpio.gz

% gunzip solaris64_9.2.0.1.0.Disk2.cpio.gz

% gunzip solaris64_9.2.0.1.0.Disk3.cpio.gz



% cpio idmv < solaris64_9.2.0.1.0.Disk1.cpio

% cpio idmv < solaris64_9.2.0.1.0.Disk2.cpio

% cpio idmv < solaris64_9.2.0.1.0.Disk3.cpio




% cpio idmv < Disk1.cpio

% cpio idmv < Disk2.cpio

% cpio idmv < Disk3.cpio




6) Oracle 설치수행 파일의 실행

/down/disk1/runInstaller

 


[ORACLE 참고교육사이트 = http://www.lesson-web.com/ocp/main_1.htm]

[Oracle강좌][pl/sql] User defined Exception을 발생시켜 보시오

2006.02.10 13:24 | Oracle강좌 | ITEDU

http://kr.blog.yahoo.com/sdsduck/382 주소복사

set serveroutput on

DECLARE
        e_too_less_sal EXCEPTION;
        v_sal s_emp.salary%TYPE;
BEGIN
        SELECT salary
        INTO v_sal
        FROM s_emp
        WHERE id = 23;

        IF v_sal < 2000 THEN
                RAISE e_too_less_sal;
        END IF;

        DBMS_OUTPUT.PUT_LINE('LAST STATEMENT');
EXCEPTION
        WHEN e_too_less_sal THEN
                DBMS_OUTPUT.PUT_LINE('Salary Increase is needed');
END;
/

//////////////////
@ex3

 


[ORACLE 참고교육사이트 = http://www.lesson-web.com/ocp/main_1.htm]

[Oracle강좌][pl/sql] DELETE, INSERT 를 각각 실행하여 다른 종류의 Exception을 발생시키시요

2006.02.10 13:24 | Oracle강좌 | ITEDU

http://kr.blog.yahoo.com/sdsduck/381 주소복사

CREATE TABLE ex1 (a NUMBER PRIMARY KEY);
INSERT INTO ex1 VALUES(10);
CREATE TABLE ex2 (b NUMBER REFERENCES ex1 (a) );
INSERT INTO ex2 VALUES(10);
COMMIT;
ed ex2

//////////////////////////
set serveroutput on
DECLARE
        e_child_exists EXCEPTION;
        e_no_parent EXCEPTION;
        PRAGMA EXCEPTION_INIT(e_child_exists, -2292);
        PRAGMA EXCEPTION_INIT(e_no_parent, -2291);
BEGIN
        DELETE FROM ex1;
        -- INSERT INTO ex2 VALUES(30);
EXCEPTION
        WHEN e_child_exists THEN
                DBMS_OUTPUT.PUT_LINE('Referential integrity constraint violated.');
        WHEN e_no_parent THEN
                DBMS_OUTPUT.PUT_LINE('Foreign key constraint violated.');
END;
/

///////////////////////////
@ex2
 

 

 


[ORACLE 참고교육사이트 = http://www.lesson-web.com/ocp/main_1.htm]

 

[Oracle강좌][pl/sql] Parameter 를 이용한 Cursor를 사용하는 실습

2006.02.10 13:24 | Oracle강좌 | ITEDU

http://kr.blog.yahoo.com/sdsduck/380 주소복사

set serveroutput on

DECLARE
        CURSOR c_dept IS
                SELECT *
                FROM s_dept;
        CURSOR c_emp_sal(p_dept_id s_emp.dept_id%TYPE) IS
                SELECT last_name, salary
                FROM s_emp
                WHERE dept_id = p_dept_id;
BEGIN
        FOR dept IN c_dept LOOP
                DBMS_OUTPUT.PUT_LINE('==========================');
                DBMS_OUTPUT.PUT_LINE(dept.id || ' :: ' || dept.name);
                FOR emp_record IN c_emp_sal (dept.id) LOOP
                        DBMS_OUTPUT.PUT_LINE(emp_record.last_name ||
                                ' ' || emp_record.salary);
                END LOOP;
        END LOOP;
END;
/

///////////////////////////
@a13
 
 

[ORACLE 참고교육사이트 = http://www.lesson-web.com/ocp/main_1.htm]

[Oracle강좌][pl/sql] Where Current of 를 사용하여 Cursor를 사용하는 실습

2006.02.09 17:01 | Oracle강좌 | ITEDU

http://kr.blog.yahoo.com/sdsduck/348 주소복사

set serveroutput on
DECLARE
        CURSOR c_emp_sal IS
                SELECT last_name, salary
                FROM s_emp
                FOR UPDATE;
BEGIN
        FOR emp_rec IN c_emp_sal LOOP
                DBMS_OUTPUT.PUT_LINE(emp_rec.last_name || ' ' || emp_rec.salary);
                        IF emp_rec.salary < 2000 THEN
                                UPDATE s_emp SET salary = salary * 1.2
                                        WHERE CURRENT OF c_emp_sal;
                        ELSE
                                UPDATE s_emp SET salary = salary * 1.1
                                        WHERE CURRENT OF c_emp_sal;
                        END IF;
        END LOOP;
END;
/

////////////////////////
@a12
select last_name, salary from s_emp;


[ORACLE 참고교육사이트 = http://www.lesson-web.com/ocp/main_1.htm]

 

[ 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 ] 다음 페이지 다음 10번째 페이지