Admin/admin 62

UNDO TABLESPACE 변경

UNDO Tablespace변경방법 1. 먼저 새로운 undo tablespace를 생성한다. SQL> create undo tablespace UNDO_TBS1 datafile 'd:\oracle\oradata\orcl\undorbs1.dbf' size 100m; 2. 새로 생성한 undo TS를 default undo TS로 변경한다. SQL> alter system set undo_tablespace=UNDO_TBS1; 이렇게 하면 undo segment가 새로운 undo TS에 생성된다. 3. 기존의 undo TS에 active undo segment가 있는지 확인한다. SQL> SELECT a.name,b.status FROM v$rollname a, v$rollstat b WHERE a.nam..

Admin/admin 2007.10.29

유닉스에서 ORACLE의 자원 활용 상태 점검 방법

유닉스에서 ORACLE의 자원 활용 상태 점검 방법 ============================================= PURPOSE ------- 이 문서의 목적은 DBA로 하여금, 오라클에 의해 사용되는 자원 활용 정도를 전반적으로 살펴보는 방법과, 자원 활용 상태를 점검하는데 사용되는 툴에 대한 설명을 기술하는데 목적이 있다. Explanation ----------- 데이터베이스 성능은 시스템 자원 상태에 의해 제약된다. 때때로, 데이터베이스 상의 성능 문제는, 데이터베이스의 구성이나 물리 구성이 효과적으로 이루어 지지 않아 발생하는 경우가 있으며, 오라클의 트랜잭션이나 사용자나, 프로세스에 의한 비 정상적인 자원 점유에 의해 발생 하기도 한다. 데이터베이스 관리자는 기본적으로, 자..

Admin/admin 2007.10.09

파티셔닝된 Index-Organized 테이블의 신속한 파티션 분리 - 10gR2

다음과 같은 경우를 생각해 봅시다. 파티셔닝된 테이블이 하나 있습니다. 월말이 되어 다음달을 위한 파티션을 정의해야 하는데, 그만 잊어버리고 말았습니다. 이런 경우 어떻게 해야 할까요? maxvalue 파티션을 두 개로 분리하여, 새로운 달을 위한 파티션과 새로운 maxvalue 파티션을 생성하는 것이 유일한 방법입니다. 하지만 파티셔닝된, index-organized 테이블(IOT)에서 이러한 방법을 사용하는 것은 조금 위험합니다. 이 경우, 물리적인 파티션이 먼저 생성되고 여기에 maxvalue 파티션의 로우(row)를 이동해야 하므로 추가적인 I/O와 CPU 사이클을 소모하기 때문입니다. Oracle Database 10g Release 2에서는 이 과정이 대폭적으로 단순화되었습니다. 아래 그림에서..

Admin/admin 2007.09.04

단일 파티션의 온라인 재구성 - 10gR2

트랜잭션 히스토리를 저장한 TRANS 테이블이 있다고 가정해 봅시다. 이 테이블은 TRANS_DATE를 기준으로 파티셔닝 되며, 각 분기별로 새로운 파티션이 생성됩니다. 가장 최근에 생성된 파티션은 매우 빈번하게 업데이트되지만, 분기가 마감되고 나면 해당 파티션에 대해 트랜잭션이 거의 발생하지 않으므로 파티션을 다른 위치로 옮겨도 무방합니다. 하지만 파티션을 이동하는 과정에서 테이블에 락(lock)이 걸리고 액세스가 차단될 수 있다는 것이 문제입니다. 그렇다면 가용성을 저해하지 않으면서 파티션을 이동할 수 있는 방법이 있을까요? Oracle Database 10g Release 2는 단일 파티션에 대한 온라인 재구성 기능을 제공합니다. 이 작업은 전체 테이블을 대상으로 하는 온라인 재구성 작업과 동일한 ..

Admin/admin 2007.09.04

온라인 재정의를 통한 LONG -> LOB 변환

운영중인 데이터 웨어하우스에 많은 양의 텍스트 데이터가 입력되어 있는 환경에서는, LONG 데이터타입을 갖는 컬럼이 여럿 존재할 가능성이 높습니다. LONG 데이터타입은 SUBSTR과 같은 데이터 처리 함수에서 활용될 수 없다는 단점이 있으며, 따라서 LOB 컬럼으로 변환하는 것이 바람직합니다. DBMS_REDEFINITION 패키지를 이용하면 온라인 상태에서 LONG 데이터타입을 LOB 데이터타입으로 변환할 수 있습니다. 하지만 Oracle Database 10g Release 2 이전 버전에는 중요한 제약사항이 존재했습니다. LONG 컬럼을 LOB 컬럼으로 변환하는 작업은 최대한 신속하게 완료되어야 합니다. 테이블이 파티셔닝되어 있는 경우, 프로세스는 각 파티션 별로 병렬적으로 수행됩니다. 하지만 테..

Admin/admin 2007.09.04

Oracle DB에 접근할수 없을때 SYSTEMSTATE 덤프 받는법

Oracle Database에 접근할 수 없을때 시스템 덤프를 받는 방법이다. 접근이 가능하다면 svrmgr> connect internal svrmgr> oradebug setmypid svrmgr> oradebug unlimit svrmgr> oradebug dump systemstate 10 혹은 svrmgr> alter session set max_dump_file_size=unlimited; svrmgr> alter session set events 'immediate trace name systemstate level 10'; dbx 명령 목적:운영 시스템하에서 프로그램을 실행하고 디버그하기 위한 환경을 제공합니다. dbx -h dbx: fatal error: DBX Startup Option..

Admin/admin 2007.08.30

PARTITION TABLE의 EXPORT/ IMPORT

8~10g Standard Edition 에서는 Partitioning Option 은 지원하지 않는다. 1. export partitioned table과 관련하여 export는 다음의 두가지 level로 분류할 수 있다. table-level export : 1) partitioned 또는 non-partitioned table 전체를 export한다. 2) 모든 export mode (full, user, table)에서 사용된다. 예) $ exp scott/tiger file=wookpark.dmp tables=emp emp table(partitioned 또는 non-partitioned) 전체를 export partition-level export : 1) partitioned table의 일..

Admin/admin 2007.08.24