Oracle 10g
-
패스워드 대소문자 구분 끄기 SQL> alter system set sec_case_sensitive_logon=false; 확인 방법 : 계정 접속 시 대소문자 구분 없이 접속해본다.ex) sqlplus dreamer/dsdvp sqlplus dreamer/DSDVP 패스워드 만료기간 끄기 SQL> select username, account_status, lock_date, expiry_date from dba_users; -> EXPIRY_DATE 의 내용이 있는지 확인SQL> alter profile default limit password_life_time unlimited; 확인 방법SQL> select * from user_password_limits; -> password_life_time..
[ORACLE] 오라클 패스워드 대소문자 끄기 / 만료기간 끄기패스워드 대소문자 구분 끄기 SQL> alter system set sec_case_sensitive_logon=false; 확인 방법 : 계정 접속 시 대소문자 구분 없이 접속해본다.ex) sqlplus dreamer/dsdvp sqlplus dreamer/DSDVP 패스워드 만료기간 끄기 SQL> select username, account_status, lock_date, expiry_date from dba_users; -> EXPIRY_DATE 의 내용이 있는지 확인SQL> alter profile default limit password_life_time unlimited; 확인 방법SQL> select * from user_password_limits; -> password_life_time..
2014.10.14 -
1. 이전서버 데이타를 Export. old-svr> exp test/test_pw OWNER=test FILE=test.dmp LOG=test.log 2. 신규 서버에서 이전 서버와 같은 유저가 있다면 삭제한다. new-svr> sqlplus / as sysdba SQL> drop user test cascade; 3. 신규 서버에 유저를 작성한다. new-svr> sqlplus / as sysdba SQL> create user test identified by testpw quota unlimited on system;SQL> grant connect, resource, dba to test; 4. 신규서버에 데이터를 import한다. new-svr> imp test/test_pw FROMUSER=..
[ORACLE] 오라클 DB 이전 (exp/imp)1. 이전서버 데이타를 Export. old-svr> exp test/test_pw OWNER=test FILE=test.dmp LOG=test.log 2. 신규 서버에서 이전 서버와 같은 유저가 있다면 삭제한다. new-svr> sqlplus / as sysdba SQL> drop user test cascade; 3. 신규 서버에 유저를 작성한다. new-svr> sqlplus / as sysdba SQL> create user test identified by testpw quota unlimited on system;SQL> grant connect, resource, dba to test; 4. 신규서버에 데이터를 import한다. new-svr> imp test/test_pw FROMUSER=..
2014.01.14 -
- 현재 사용량 select sum(bytes)/1024/1024/1024 GB from dba_segments; - 오라클에 잡혀있는용량 select sum(bytes)/1024/1024/1024 GB from dba_data_files;
[ORACLE] Oracle DB 사이즈 확인- 현재 사용량 select sum(bytes)/1024/1024/1024 GB from dba_segments; - 오라클에 잡혀있는용량 select sum(bytes)/1024/1024/1024 GB from dba_data_files;
2013.05.03 -
구조 및 데이터 복사 CREATE TABLE 대상테이블 AS SELECT * FROM 원본테이블 구조만 복사 CREATE TABLE 대상테이블 AS SELECT * FROM 원본테이블 WHERE 1=0; 조건절이 항상 거짓이므로 구조만 복사하게 된다. 응용하여 내가 필요한 정보만 복사 시킬수 있다. 데이터만 복사 INSERT INTO 대상테이블 SELECT * FROM 원본테이블 [출처] 테이블 복사|작성자 삼오사삼
[ORALCE] 테이블 복사구조 및 데이터 복사 CREATE TABLE 대상테이블 AS SELECT * FROM 원본테이블 구조만 복사 CREATE TABLE 대상테이블 AS SELECT * FROM 원본테이블 WHERE 1=0; 조건절이 항상 거짓이므로 구조만 복사하게 된다. 응용하여 내가 필요한 정보만 복사 시킬수 있다. 데이터만 복사 INSERT INTO 대상테이블 SELECT * FROM 원본테이블 [출처] 테이블 복사|작성자 삼오사삼
2011.05.19 -
tnsnames.ora 파일에 원격 디비를 등록 원격디비접속자 = (DESCRIPTION = (ADDRESS = (PROTOCOL = TCP) (HOST = 아이피) (PORT = 1521) ) (CONNECT_DATA = (SERVER = DEDICATED) (SERVICE_NAME = SID) ) ) 데이터베이스 링크 생성 CREATE PUBLIC DATABASE LINK 링크이름 CONNECT TO 원격디비ID IDENTIFIED BY 원격디비패스워드 using '원격디비접속자'; 데이터베이스 링크 삭제 DROP PUBLIC DATABASE LINK 링크이름; DB link 사용 방법 SELECT * FROM EMP@linkName; DB link 확인 SELECT * FROM all_db_link..
[ORACLE] DBLINK 생성/삭제tnsnames.ora 파일에 원격 디비를 등록 원격디비접속자 = (DESCRIPTION = (ADDRESS = (PROTOCOL = TCP) (HOST = 아이피) (PORT = 1521) ) (CONNECT_DATA = (SERVER = DEDICATED) (SERVICE_NAME = SID) ) ) 데이터베이스 링크 생성 CREATE PUBLIC DATABASE LINK 링크이름 CONNECT TO 원격디비ID IDENTIFIED BY 원격디비패스워드 using '원격디비접속자'; 데이터베이스 링크 삭제 DROP PUBLIC DATABASE LINK 링크이름; DB link 사용 방법 SELECT * FROM EMP@linkName; DB link 확인 SELECT * FROM all_db_link..
2011.05.19 -
1. ASH는? - 세션 히스토리 정보를 볼수 있는 도구 2. ASH 방법 - 오라클은 현재 접속해서 활동 중인 Active 세션 정보를 1초에 한번씩 샘플링해서 ASH 버퍼에 저장한다. - SGA Shared Pool에서 CPU당 2MB의 버퍼를 할당 받아 세션 정보를 기록하며, 1시간 혹은 버퍼의 2/3가 찰 때마다 디스크로 기록한다. 즉, AWR에 저장하는 것이다. - v$active_session_history 뷰를 이용해 ASH 버퍼에 저장된 세션 히스토리 정보를 조회할 수 있다. 출처 : 오라클 클럽 (http://wiki.oracleclub.com/display/CORE/ASH(Active+Session+History))
[ORACLE] ASH (Active Session History)1. ASH는? - 세션 히스토리 정보를 볼수 있는 도구 2. ASH 방법 - 오라클은 현재 접속해서 활동 중인 Active 세션 정보를 1초에 한번씩 샘플링해서 ASH 버퍼에 저장한다. - SGA Shared Pool에서 CPU당 2MB의 버퍼를 할당 받아 세션 정보를 기록하며, 1시간 혹은 버퍼의 2/3가 찰 때마다 디스크로 기록한다. 즉, AWR에 저장하는 것이다. - v$active_session_history 뷰를 이용해 ASH 버퍼에 저장된 세션 히스토리 정보를 조회할 수 있다. 출처 : 오라클 클럽 (http://wiki.oracleclub.com/display/CORE/ASH(Active+Session+History))
2010.05.19 -
0. 툴의 종류(목차) - OWI 다이나믹 뷰 - 기타 중요 다이나믹 뷰 - Extended SQL Trace - Oradebug & dump - Automatic Workload Repository 1. OWI 다이나믹 뷰 - V$EVENT_NAME : 오라클에 정의된 모든 대기 이벤트에 대한 참조성 정보 - V$SYSTEM_EVENT : 인스턴스 기동 후 지금까지 모든 세션에서 발생한 대기이벤트 누적 정보 - V$SESSION_EVENT : 현재 접속되어 있는 각 개별 세션별 대기이벤트의 누적 정보 - V$SESSION_WAIT : 각 세션이 현재 대기하고 있는 이벤트에 대한 상세정보 - V$SESSION_WAIT_HISTORY : V$SESSION_WAIT 정보를 세션별로 최대 10개 까지의 누적 ..
[ORACLE] OWI 툴0. 툴의 종류(목차) - OWI 다이나믹 뷰 - 기타 중요 다이나믹 뷰 - Extended SQL Trace - Oradebug & dump - Automatic Workload Repository 1. OWI 다이나믹 뷰 - V$EVENT_NAME : 오라클에 정의된 모든 대기 이벤트에 대한 참조성 정보 - V$SYSTEM_EVENT : 인스턴스 기동 후 지금까지 모든 세션에서 발생한 대기이벤트 누적 정보 - V$SESSION_EVENT : 현재 접속되어 있는 각 개별 세션별 대기이벤트의 누적 정보 - V$SESSION_WAIT : 각 세션이 현재 대기하고 있는 이벤트에 대한 상세정보 - V$SESSION_WAIT_HISTORY : V$SESSION_WAIT 정보를 세션별로 최대 10개 까지의 누적 ..
2010.05.19 -
1-1. UNDO Segement란? - Rollback과 Undo는 기본적으로는 동의어 입니다. - Oracle 9i 이전엔 Rollback Segement라는 용어를 사용했는데, Oracle 9i 이후버전 부터는 Undo Segment라는 용어를 사용합니다. - Rollback(Oracle 9i 이전 버전) = Undo(Oracle 9i 이후 버전) - Undo 세그먼트는 관리 방식에 있어서 9i 이후 버전에서 자동 관리 모드와 수동 관리 모드를 선택 할 수 있는 기능이 추가 되었고, 트랜잭션 처리를 위한 알고리즘이 개선되었습니다. - Undo 세그먼트는 생성, 할당 및 튜닝을 오라클 서버가 관리하므로 DBA는 더 이상 몇개의 Rollback 세그먼트를 생성 할 것인지, 크기는 어떻게 할 것인지, 트..
[ORACLE] UNDO 와 REDO 그리고 차이점1-1. UNDO Segement란? - Rollback과 Undo는 기본적으로는 동의어 입니다. - Oracle 9i 이전엔 Rollback Segement라는 용어를 사용했는데, Oracle 9i 이후버전 부터는 Undo Segment라는 용어를 사용합니다. - Rollback(Oracle 9i 이전 버전) = Undo(Oracle 9i 이후 버전) - Undo 세그먼트는 관리 방식에 있어서 9i 이후 버전에서 자동 관리 모드와 수동 관리 모드를 선택 할 수 있는 기능이 추가 되었고, 트랜잭션 처리를 위한 알고리즘이 개선되었습니다. - Undo 세그먼트는 생성, 할당 및 튜닝을 오라클 서버가 관리하므로 DBA는 더 이상 몇개의 Rollback 세그먼트를 생성 할 것인지, 크기는 어떻게 할 것인지, 트..
2010.05.19 -
0. 래치와 락의 존재 이유 - 래치(Latch) 와 락(Lock)이라는 두 개의 동기화 메커니즘을 이용하여 리소스를 보호한다. - 래치와 락의 존재 이유는 동시 작업으로부터 오라클의 자원을 보호하는 것이다. - 특정 작업을 수행하기 위해 래치와 락을 획득해야 한다는 사실 자체는 성능과 무관하다. - OWI 를 이용하면 래치와 락에 의한 경합 현상을 가장 직관적으로 파악할 수 있다. - 어떤 종류의 래치와 락이 어떤 상황에서 발생했는지에 대한 "사실" 만을 제공하며, 사실에 대한 해석은 분석자의 몫이다. 1. 차이점 출처 : http://blog.naver.com/kiyoun82?Redirect=Log&logNo=110070186953
[ORACLE] 래치(latch)와 락(lock) 그리고 차이점0. 래치와 락의 존재 이유 - 래치(Latch) 와 락(Lock)이라는 두 개의 동기화 메커니즘을 이용하여 리소스를 보호한다. - 래치와 락의 존재 이유는 동시 작업으로부터 오라클의 자원을 보호하는 것이다. - 특정 작업을 수행하기 위해 래치와 락을 획득해야 한다는 사실 자체는 성능과 무관하다. - OWI 를 이용하면 래치와 락에 의한 경합 현상을 가장 직관적으로 파악할 수 있다. - 어떤 종류의 래치와 락이 어떤 상황에서 발생했는지에 대한 "사실" 만을 제공하며, 사실에 대한 해석은 분석자의 몫이다. 1. 차이점 출처 : http://blog.naver.com/kiyoun82?Redirect=Log&logNo=110070186953
2010.05.18 -
1. OWI란? - 풀어서 Oracle Wait Interface 는 용어다. 이책에서는 프로세스가 겪는 대기현상을기록하고 관찰하는일련의 기능과 인터페이스, 그리고 방법론을 통칭하여 OWI라고 부르고 있다. ※ OWI 용어는 정식 용어는 아니다. 2. 쉽게 생각해서! - 하나의 도구가 있다. 이것은 1인용이 여서 여러 사람이 동시에 사용할수 없다. 그래서 선점한 사람이 이도구를 사용 할때 다른 사람이 이것을 사용하지 못하게 막는것.(lock, latch) 다른 사람이 이것을 사용하기 위해 대기하는 시간을 확인하는 것을 저자는 OWI라 칭한 것이다. 3. OWI에서 리소스 - 2에서 말한 도구가 즉 리소스가 된다. OWI에서는 대기 이벤트는 p1, p2, p3 라는 세개의 파라미터를 통해 현재 다기 하는 ..
[ORACLE] OWI란?1. OWI란? - 풀어서 Oracle Wait Interface 는 용어다. 이책에서는 프로세스가 겪는 대기현상을기록하고 관찰하는일련의 기능과 인터페이스, 그리고 방법론을 통칭하여 OWI라고 부르고 있다. ※ OWI 용어는 정식 용어는 아니다. 2. 쉽게 생각해서! - 하나의 도구가 있다. 이것은 1인용이 여서 여러 사람이 동시에 사용할수 없다. 그래서 선점한 사람이 이도구를 사용 할때 다른 사람이 이것을 사용하지 못하게 막는것.(lock, latch) 다른 사람이 이것을 사용하기 위해 대기하는 시간을 확인하는 것을 저자는 OWI라 칭한 것이다. 3. OWI에서 리소스 - 2에서 말한 도구가 즉 리소스가 된다. OWI에서는 대기 이벤트는 p1, p2, p3 라는 세개의 파라미터를 통해 현재 다기 하는 ..
2010.05.18 -
0. 개요 미디어(디스크)나 논리적 또는 소프트웨어에 문제가 있을때 데이터베이스가 손상되었다. 혹은 깨졌다라는 표현을 사용합니다. 이때 손상된 원인을 찾고 대처 할수 있는 능력을 키워야 할것이다. 1. 증상 알기 에러 메시지 ORA-01578 발생 - 손상된 데이터 블록이 발생하였을때 발생 - 손상된 파일번호와 블럭번호를 반환 - 손상된 블럭을 확인한(블럭을 사용한) 세션에게 에러를 반환 - alert.log 에 나타남 2. 손상된 블럭 확인 기능등 - DBVERIFY Utility - ANALYZE - DB_BLOCK_CHECKING - DB_BLOCK_CHECKSUM - EXP 3. 손상된 블럭 복구 관련 기능들 - Flashback - DBMS_REPAIR - Block Media Recovery ..
[ORACLE] 데이터 베이스 손상처리 - ORA-015780. 개요 미디어(디스크)나 논리적 또는 소프트웨어에 문제가 있을때 데이터베이스가 손상되었다. 혹은 깨졌다라는 표현을 사용합니다. 이때 손상된 원인을 찾고 대처 할수 있는 능력을 키워야 할것이다. 1. 증상 알기 에러 메시지 ORA-01578 발생 - 손상된 데이터 블록이 발생하였을때 발생 - 손상된 파일번호와 블럭번호를 반환 - 손상된 블럭을 확인한(블럭을 사용한) 세션에게 에러를 반환 - alert.log 에 나타남 2. 손상된 블럭 확인 기능등 - DBVERIFY Utility - ANALYZE - DB_BLOCK_CHECKING - DB_BLOCK_CHECKSUM - EXP 3. 손상된 블럭 복구 관련 기능들 - Flashback - DBMS_REPAIR - Block Media Recovery ..
2010.05.18 -
직접 그려본 접속구조. 틀린점 있다면 댓글 부탁드려요.
[ORACLE] 오라클 접속 구조직접 그려본 접속구조. 틀린점 있다면 댓글 부탁드려요.
2010.05.14 -
수업시간에 select * from t1 sort; 라는 문구를 수행 했을때 결과 값이 제대로 나온다는 이상한 이야기가 나왔다. sort 라는 syntax가 있던가;;; 왜 되냐고 -ㅅ-;;;; 일단 상황 발생 SCOTT@192.168.0.10:1521/orcl> drop table t1 purge; 테이블이 삭제되었습니다. SCOTT@192.168.0.10:1521/orcl> create table t1 (no number); 테이블이 생성되었습니다. SCOTT@192.168.0.10:1521/orcl> insert into t1 values (3); 1 개의 행이 만들어졌습니다. SCOTT@192.168.0.10:1521/orcl> insert into t1 values (1); 1 개의 행이 만들어..
[ORACLE] select * from t1 sort; sort ????수업시간에 select * from t1 sort; 라는 문구를 수행 했을때 결과 값이 제대로 나온다는 이상한 이야기가 나왔다. sort 라는 syntax가 있던가;;; 왜 되냐고 -ㅅ-;;;; 일단 상황 발생 SCOTT@192.168.0.10:1521/orcl> drop table t1 purge; 테이블이 삭제되었습니다. SCOTT@192.168.0.10:1521/orcl> create table t1 (no number); 테이블이 생성되었습니다. SCOTT@192.168.0.10:1521/orcl> insert into t1 values (3); 1 개의 행이 만들어졌습니다. SCOTT@192.168.0.10:1521/orcl> insert into t1 values (1); 1 개의 행이 만들어..
2010.05.07 -
1. Sql trace 은? - SQL Trace는 실행되는 SQL문의 실행통계를 세션별로 모아서 트레이스 파일을 만듭니다. - SQL Trace는 세션과 인스턴스 레벨에서 SQL문장들을 분석 할 수 있습니다. - SQL Trace에 의해 생성된 파일의 확장자는 .TRC 입니다. - .TRC파일은 직접 읽을수가 없으므로 반드시 TKPROF 유틸리티를 실행 시켜야 합니다. - init.ora파일에서 SQL Trace를 지정하여 인스턴스 레벨로 Trace를 수행시키면 전체적인 수행능력이 20~30% 정도 감소합니다. 2. SQL Trace에서 제공하는 정보 - parse, execute, fetch count : 오라클의 SQL 처리 작업에서 parse,execute,fetch 작업들이 처리된 횟수 - 수행..
[ORACLE] Sql trace1. Sql trace 은? - SQL Trace는 실행되는 SQL문의 실행통계를 세션별로 모아서 트레이스 파일을 만듭니다. - SQL Trace는 세션과 인스턴스 레벨에서 SQL문장들을 분석 할 수 있습니다. - SQL Trace에 의해 생성된 파일의 확장자는 .TRC 입니다. - .TRC파일은 직접 읽을수가 없으므로 반드시 TKPROF 유틸리티를 실행 시켜야 합니다. - init.ora파일에서 SQL Trace를 지정하여 인스턴스 레벨로 Trace를 수행시키면 전체적인 수행능력이 20~30% 정도 감소합니다. 2. SQL Trace에서 제공하는 정보 - parse, execute, fetch count : 오라클의 SQL 처리 작업에서 parse,execute,fetch 작업들이 처리된 횟수 - 수행..
2010.05.06 -
▶ SQL Parser - 사용자가 SQL문을 요청하면... - 오라클은 맨 먼저 Paser엔진이 SQL문을 받아서 parsing 한다. - SQL문장을 개별 구성요소를 분석하고 파싱해서 파싱트리를 만든다. - 그 과정에서 syntax체크(문법적 오류)하고, semantic체크(의미상 오류,즉 존재하지 않은 칼럼, 권한 없는 오 브젝트 사용 여부 등등) 한다. - 해싱 알고리즘(라이브러리 캐시의 위치값을 찾기 위해)을 이용해서 SQL 커서(SQL 구분 및 실행계획등 SQL 이 실행하기 위한 정보가 있는 AREA)가 Shared Pool에 캐시되어 있는지 확인한다. - SQL 커서를 찾았다면 바로 실해단계로 넘어가고, - 최적화가 필요하면 옵티마이저에게 넘긴다. ▶ Optimizer - SQL Transf..
[ORACLE] SQL 실행과정▶ SQL Parser - 사용자가 SQL문을 요청하면... - 오라클은 맨 먼저 Paser엔진이 SQL문을 받아서 parsing 한다. - SQL문장을 개별 구성요소를 분석하고 파싱해서 파싱트리를 만든다. - 그 과정에서 syntax체크(문법적 오류)하고, semantic체크(의미상 오류,즉 존재하지 않은 칼럼, 권한 없는 오 브젝트 사용 여부 등등) 한다. - 해싱 알고리즘(라이브러리 캐시의 위치값을 찾기 위해)을 이용해서 SQL 커서(SQL 구분 및 실행계획등 SQL 이 실행하기 위한 정보가 있는 AREA)가 Shared Pool에 캐시되어 있는지 확인한다. - SQL 커서를 찾았다면 바로 실해단계로 넘어가고, - 최적화가 필요하면 옵티마이저에게 넘긴다. ▶ Optimizer - SQL Transf..
2010.04.28 -
출처 : http://blog.naver.com/daleena?Redirect=Log&logNo=100053271179 /*+ ALL_ROWS */ explicitly chooses the cost-based approach to optimize a statement block with a goal of best throughput (that is, minimum total resource consumption) 전체 RESOURCE 소비를 최소화 시키기 위한 힌트. Cost-Based 접근방식. /*+ CHOOSE */ causes the optimizer to choose between the rule-based approach and the cost-based approach for a SQL st..
[ORACLE] HINT출처 : http://blog.naver.com/daleena?Redirect=Log&logNo=100053271179 /*+ ALL_ROWS */ explicitly chooses the cost-based approach to optimize a statement block with a goal of best throughput (that is, minimum total resource consumption) 전체 RESOURCE 소비를 최소화 시키기 위한 힌트. Cost-Based 접근방식. /*+ CHOOSE */ causes the optimizer to choose between the rule-based approach and the cost-based approach for a SQL st..
2010.04.27