GRANT SELECT ON OBJECT_NAME TO USER_NAME

클라이언트가 될 오라클 서버의 $ORACLD_HOME/network/admin/tnsnames.ora 파일에

서버가 될 DB의 TNSNAME 정보를 추가한다.

DANGJIK =
(DESCRIPTION =
(ADDRESS_LIST =
(ADDRESS = (PROTOCOL = TCP)(HOST = 100.1.26.38)(PORT = 1521))
)
(CONNECT_DATA =
(SID = APPSVR29)
)
)


1. 사용하실 오라클 유저권한으로 DATABASE LINK를 생성합니다.

userid : dangjikuser, userpw : dangjikpw 라고 한다면...

CREATE DATABASE LINKDANGJIK_DB
CONNECT TOdangjikuser
IDENTIFIED BYdangjikpw

USING 'DANGJIK';

2. 사용하실 오라클 유저권한으로 SYNONYM을 생성합니다.

CREATE SYNONYM 사용할이름

FOR DGVORGIF0@DATABASE링크명

이상입니다.

백업

#!/bin/sh

dat=`date +%Y%m%d%H%M`
/app/oracle/product/920/bin/exp userid/passwd file=/user/userid/backup/oracle_$dat.dmp

복구

FULL 백업을 한경우

user와 tablespace정보까지 함께 백업이 되므로

import할때 특별한 방법이 필요하다.

오라클관리자

1. drop user scott cascade;

2. create user scott identified by tiger

default tablespace scott_tablespace

temporary tablespace temp;

3. grant connect , resource to scott

4. imp scott/tiger file=aaa.dmp



19 04 * * * /home/my/bin/oracleback

crontab -e 를 이용하여 위의 내용을 추가
crontab -l 로 확인할수 있다.

매일 04:19분에 oracleback을 실행한다.


/home/my/bin/oracleback 화일의 내용

#!/bin/bash

#오라클 환경설정 시작
export ORACLE_HOME=/home/my/app/oracle/product/8.0.5
export LD_LIBRARY_PATH=$LD_lIBRARY_PATH:$ORACLE_HOME/lib
export PATH=$PATH:$ORACLE_HOME/bin
export ORACLE_SID=ORCL
export NLS_LANG=KOREAN_KOREA.KO16KSC5601
#오라클 환경설정 끝

#ss = `date +myDB%y%m%d.dmp` #요렇게 하면 오늘 날짜 생성
#echo `date +myDB%y%m%d.dmp` #밑에 있는 화일경로명을 $ss로 하면 된다.

/home/my/app/oracle/product/8.0.5/bin/exp id/passwd file=/home/my/`date +myDB%Y%m%d.dmp` FULL=Y

ss를 주석처리 했는데
위의 exp 실행문에서 file=$ss 라고 해놓으면 ss란 이름으로 오라클 FULL백업화일이 만들어
집니다. id/passwd 는 오라클 DB 관리자 계정/비밀번호 입니다.

'DataBase' 카테고리의 다른 글

[Oracle] Database link, Synonym How to  (0) 2007.01.09
[Oracle] 아카이브 백업 / 복구  (0) 2007.01.09
[Oracle] 시퀀스 초기화 프로시저  (0) 2007.01.09
[Oracle] TOAD에서 Explain Plan 보기  (1) 2007.01.09
[Oracle] Create SYNONYM  (0) 2007.01.09

CREATE OR REPLACE PROCEDURE P_RESET_SEQ( SEQ_NAME IN VARCHAR2 )
IS
L_VAL NUMBER;
BEGIN
EXECUTE IMMEDIATE 'SELECT ' || SEQ_NAME || '.NEXTVAL FROM DUAL' INTO L_VAL;

EXECUTE IMMEDIATE 'ALTER SEQUENCE ' || SEQ_NAME || ' INCREMENT BY -' || L_VAL || ' MINVALUE 0';

EXECUTE IMMEDIATE 'SELECT ' || SEQ_NAME || '.NEXTVAL FROM DUAL' INTO L_VAL;

EXECUTE IMMEDIATE 'ALTER SEQUENCE ' || SEQ_NAME || ' INCREMENT BY 1 MINVALUE 0';
END;
/

'DataBase' 카테고리의 다른 글

[Oracle] 아카이브 백업 / 복구  (0) 2007.01.09
[Oracle] cron을 이용한 Oracle 백업  (0) 2007.01.09
[Oracle] TOAD에서 Explain Plan 보기  (1) 2007.01.09
[Oracle] Create SYNONYM  (0) 2007.01.09
[Oracle] DB Link How-To  (0) 2007.01.09

옵티마이져를 이해하기 위해서는

실행계획(EXPLAIN PLAN)을 반드시 분석해보는 것이 좋다.

1, TOAD에서 간단히 실행계획을 보기위해서 다음 테이블을 생성한다.

CREATE TABLE PLAN_TABLE
(
STATEMENT_ID VARCHAR2(30) , -- 사용자가 지정한 제목
TIMESTAMP DATE , -- 실행계획이 수립된 날짜와 시간
REMARKS VARCHAR2(80) , -- 사용자가 부여한 주석(COMMENTS)
OPERATION VARCHAR2(30) , -- AND-EQUAL,INDEX, SORT 등과 같은 실행 연산자
OPTIONS VARCHAR2(30) , -- BY ROWID, JOIN, FULL 등과 같은 실행 옵션
OBJECT_NODE VARCHAR2(128), -- 사용한 데이타베이스 링크
OBJECT_OWNER VARCHAR2(30) , -- 객체를 생성한 소유자
OBJECT_NAME VARCHAR2(30) , -- 테이블, 인덱스, 클러스터 등의 객체의 이름
OBJECT_INSTANCE NUMERIC , -- SQL문의 FROM절에 기술된 객체를 좌에서 우로 부여한 번호
OBJECT_TYPE VARCHAR2(30) , -- UNIQUE, NON-UNIQUE INDEX 등의 객체의 종류
OPTIMIZER VARCHAR2(255), -- CHOOSE, FIRST_ROW 등의 현재의 옵티마이져 모드
SEARCH_COLUMNS NUMERIC , -- 현재 사용하지 않음
ID NUMERIC , -- 수립된 각 실행단계에 붙여진 일련번호
PARENT_ID NUMERIC , -- 부모단계의 일련번호
POSITION NUMERIC , -- 부모 ID를 가지고 있는 자식 ID간의 처리순
COST NUMERIC ,
CARDINALITY NUMERIC ,
BYTES NUMERIC ,
OTHER_TAG VARCHAR2(255),
OTHER LONG -- 다른 필요한 텍스트를 저장하기 위한 필드
);

☞ PLAN_TABLE 생성 스크립트는 $ORACLE_HOME/rdbms/admin/utlxplan.sql과 같다

2. TOAD의 메뉴에서 VIEW->OPTION->ORACLE->EXPLAIN PLAN TABLE NAME 란에 위에서 생성한 테이블명

('PLAN_TABLE')과사용할 오라클 USERID를 적는다.

3. 실행계획을 보고 싶은 쿼리문을 실행한후 VIEW->EXPLAIN PLAN

'DataBase' 카테고리의 다른 글

[Oracle] 아카이브 백업 / 복구  (0) 2007.01.09
[Oracle] cron을 이용한 Oracle 백업  (0) 2007.01.09
[Oracle] 시퀀스 초기화 프로시저  (0) 2007.01.09
[Oracle] Create SYNONYM  (0) 2007.01.09
[Oracle] DB Link How-To  (0) 2007.01.09
CREATE SYNONYM (synonym name)
FOR (user neme).(object_name[@dbname]) ;


예제
CREATE SYNONYM POOFCDT4_insa
FOR insauser.POOFCDT4@insa

'DataBase' 카테고리의 다른 글

[Oracle] 아카이브 백업 / 복구  (0) 2007.01.09
[Oracle] cron을 이용한 Oracle 백업  (0) 2007.01.09
[Oracle] 시퀀스 초기화 프로시저  (0) 2007.01.09
[Oracle] TOAD에서 Explain Plan 보기  (1) 2007.01.09
[Oracle] DB Link How-To  (0) 2007.01.09
생성하기
create database link (link_name)
connect to (user_id) identified by (password)
using '(tns_name)';

ex)
tnsname = 'dev'
user = scott
password = tiger

SQL> CREATE DATABASE LINK DEV_DB
2 CONNECT TO scott IDENTIFIED BY tiger
3 USING 'dev';

사용하기
ex)

SQL> SELECT * FROM tab@dev;

'DataBase' 카테고리의 다른 글

[Oracle] 아카이브 백업 / 복구  (0) 2007.01.09
[Oracle] cron을 이용한 Oracle 백업  (0) 2007.01.09
[Oracle] 시퀀스 초기화 프로시저  (0) 2007.01.09
[Oracle] TOAD에서 Explain Plan 보기  (1) 2007.01.09
[Oracle] Create SYNONYM  (0) 2007.01.09

+ Recent posts