스토리이알피
오라클 DB 생성(ORACLE 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. 정상적인 테스트
'컴퓨터 > 데이터베이스' 카테고리의 다른 글
[oracle] 오라클10g 데이터베이스 한글 깨짐 발생시 체크 (0) | 2019.12.26 |
---|---|
오라클 현재 접속(세션) 상태 확인 (0) | 2019.11.22 |