스토리이알피

오라클 DB 생성(ORACLE DB 재생성) 본문

컴퓨터/데이터베이스

오라클 DB 생성(ORACLE DB 재생성)

Storyerp 2019. 12. 8. 20:21
반응형

[ 오라클 DB 생성 및 DB 삭제하기]

안녕하세요. 꿈꾸는 개발자입니다. 오늘은 오라클 DB 생성하는 방법을 포스팅하겠습니다.

2005년 서버 관리자로 일했던 내용을 토대로 작성되었습니다. 

혹시라도 잘못된 부분은 댓글 남겨주시면 수정하도록 하겠습니다.

 

1. DB export

 exp kies/kies file=20191226.dmp log=20191226.log buffer=20480000

   
 
2. tblspace.sql로 용량 체크 및 산정(kies계정으로 안되면 sys계정으로)

SQL> @tblspace.sql

*설 명*****************************************************************************
*  tblspace.sql를 통해 현재 사용 중인 tablespace 구성을 확인 ******************
*  테이블스페이스 크기 산정 시 고려한다.                    ***********************
*  테이블스페이스 단위 크기는 가급적 5000으로 하고 add 하는 방향  *********
***********************************************************************************

 

3. drop user 할 것

SQL> drop user kies cascade;

 

4. tablespace 삭제

 SQL> DROP TABLESPACE kies_db INCLUDING CONTENTS and datafiles;
 SQL> DROP TABLESPACE kies_idx INCLUDING CONTENTS and datafiles;
 SQL> DROP TABLESPACE kies_tmp INCLUDING CONTENTS and datafiles;

 

*설 명*********************************************************
*  위 sql문에서 끝 and datafiles는 9i에만 적용.(8i는 안됨)  *
***************************************************************

 

5. tablespace 생성 (기존 용량 체크한 것을 참고한다)

SQL> create tablespace kies_db datafile '/isp_oradata/ispdev/data/kies_db.dbf' size 5000m extent management local segment space management auto;

SQL> create tablespace kies_idx datafile '/isp_oradata/ispdev/index/kies_idx.dbf' size 5000m extent management local segment space management auto;

SQL> create temporary tablespace kies_tmp tempfile '/isp_oradata/ispdev/temp/kies_tmp.dbf' size 3000m extent management local uniform size 2m;

SQL> alter tablespace kies_db add datafile '/isp_oradata/ispdev/data/kies1_db.dbf' size 5000m;

SQL> alter tablespace kies_idx add datafile '/isp_oradata/ispdev/index/kies1_idx.dbf' size 5000m;

*************************************설 명******************************************
*  미리 산정해둔 크기로 사이트 상황에 맞게 테이블스페이스 생성 및 추가 *****
************************************************************************************

6. kies user create.

SQL> @kiesuser. sql
create user kies identified by kies
default tablespace kies_db
temporary tablespace kies_tmp
quota unlimited on kies_db
quota unlimited on kies_idx
profile default;
grant resource, connect, query rewrite to kies;

7. import DB

SQL> imp system/managerisp fromuser=kies touser=kies file=20051220_buf.dmp log=20051220_buf.log buffer=20480000

8. kies_tmp 재생성

SQL> DROP TABLESPACE kies_tmp INCLUDING CONTENTS and datafiles;

SQL> create temporary tablespace kies_tmp tempfile '/isp_oradata/ispdev/temp/kies_tmp.dbf' size 3000m extent management local uniform size 2m;

SQL> alter user kies temporary tablespace kies_tmp;

=======================================================================
import작업 후 차지하고 있는 kies_tmp 초기화하기 위해서 다시 생성하여 준다.
=======================================================================


9.  compile 후,  trigger , index가 깨져있는지 반드시 체크 (compile.sql은 기존 업그레이드 디렉터리에 있음)

SQL> @compile. sql  시행 횟수는 invalid 0 나올 때까지(보통 3번 정도면 )

10. ## Memory Keep ##

 1). SYS User로 sqlplus 로그인

sqlplus "/as sysdba"

SQL> GRANT EXECUTE ON DBMS_SHARED_POOL TO KIES;

 2). kies user로 sqlplus 로그인

SQL> exec sys.dbms_shared_pool.keep('PACK_USERINFO', 'p');

 

 3). 확인 (SYS user)

SELECT * FROM V$DB_OBJECT_CACHE WHERE KEPT='YES' AND NAME = 'PACK_USERINFO';

 

11. 정상적인 테스트

 

반응형
Comments