-
DB Oracle 백업을 통한 테이블 복구 하는 방법Programming and Database/SQL 2023. 1. 16. 21:29반응형
DB Oracle 백업을 통한 테이블 복구 하는 방법
SELECT * FROM TAB; TNAME TABTYPE CLUSTERID ------------------------------ ------- ---------- BIN$9H/3QzYZTmW8cCAXmlrXdA==$0 TABLE DELETEDMEMBERTBL TABLE INDEXTBL TABLE MEMBERTBL TABLE MEMBERTBL_VIEW VIEW PRODUCTTBL TABLE 6개 행이 선택되었습니다.
▶ Shop 스키마 유저에서 SELECT * FROM TAB; SQL문을 통해서 전체 테이블 조회를 합니다. MEMBERTBL...PRODUCTTBL 등의 테이블이 있는 것을 확인할 수 있습니다.
SELECT * FROM PRODUCTTBL; PROD COST MAKEDATE COMPA AMOUNT ---- ---------- -------- ----- ---------- 컴퓨터 100000 22/01/20 삼성 17 세탁기 200000 21/12/24 LG 3 냉장고 150000 20/06/06 대우 22
▶ PRODUCTTBL 테이블을 조회하게되면 위와 같은 칼럼에 데이터들이 조회 되게 됩니다. 해당 테이블 삭제를 통해서 테이블 복구를 하기 전에 사전 백업을 받도록 합니다.
C:\>dir | findstr "DBbackup20230115" 2023-01-15 오전 11:33 <DIR> DBbackup20220115
▶ 윈도우에서 C:\ 경로에 DBbackup20220115 디렉터리 하나를 생성합니다.
C:\>exp userid=SYSTEM/oracle@xe OWNER=Shop FILE=C:\DBbackup20230115\ShopSchema.dmp Export: Release 11.2.0.2.0 - Production on 일 1월 15 11:45:48 2023 Copyright (c) 1982, 2009, Oracle and/or its affiliates. All rights reserved. Connected to: Oracle Database 11g Express Edition Release 11.2.0.2.0 - 64bit Produc Export done in KO16MSWIN949 character set and AL16UTF16 NCHAR character set server uses AL32UTF8 character set (possible charset conversion) About to export specified users ... . exporting pre-schema procedural objects and actions . exporting foreign function library names for user SHOP . exporting PUBLIC type synonyms . exporting private type synonyms . exporting object type definitions for user SHOP About to export SHOP's objects ... . exporting database links . exporting sequence numbers . exporting cluster definitions . about to export SHOP's tables via Conventional Path ... . . exporting table DELETEDMEMBERTBL 2 rows exported EXP-00091: Exporting questionable statistics. . . exporting table INDEXTBL 107 rows exported EXP-00091: Exporting questionable statistics. EXP-00091: Exporting questionable statistics. . . exporting table MEMBERTBL 5 rows exported EXP-00091: Exporting questionable statistics. EXP-00091: Exporting questionable statistics. . . exporting table PRODUCTTBL 3 rows exported EXP-00091: Exporting questionable statistics. EXP-00091: Exporting questionable statistics. . exporting synonyms . exporting views . exporting stored procedures . exporting operators . exporting referential integrity constraints . exporting triggers . exporting indextypes . exporting bitmap, functional and extensible indexes . exporting posttables actions . exporting materialized views . exporting snapshot logs . exporting job queues . exporting refresh groups and children . exporting dimensions . exporting post-schema procedural objects and actions . exporting statistics Export terminated successfully with warnings.
▶ C:\>exp userid=SYSTEM/oracle@xe OWNER=Shop FILE=C:\DBbackup20230115\ShopSchema.dmp 명령어를 사용하여 Shop 스키마 유저에 대한 백업을 진행하도록 합니다.
1) userid= SYSTEM -- 시스템 계정
2) /oracle@xe -- 패스워드 및 SID
3) OWNER=Shop --권한
4) FILE: FILE=C:\DBbackup20220115\ShopSchema.dmp -- 백업 경로C:\DBbackup20230115>doskey ls=dir C:\DBbackup20220115>ls C 드라이브의 볼륨에는 이름이 없습니다. 볼륨 일련 번호: 5656-1B88 C:\DBbackup20220115 디렉터리 2023-01-15 오전 11:45 <DIR> . 2023-01-15 오전 11:45 <DIR> .. 2023-01-15 오전 11:45 24,576 ShopSchema.dmp 1개 파일 24,576 바이트 2개 디렉터리 78,461,247,488 바이트 남음
▶ C:/DBbackup20220115 디렉터리에 ShopSchema.dmp 파일이 저장되어 존재하는 것을 확인할 수 있습니다.
SELECT * FROM PRODUCTTBL; PROD COST MAKEDATE COMPA AMOUNT ---- ---------- -------- ----- ---------- 컴퓨터 100000 22/01/20 삼성 17 세탁기 200000 21/12/24 LG 3 냉장고 150000 20/06/06 대우 22
▶ Shop 스키마 유저의 PRODUCTTBL 테이블을 조회 후 삭제하도록 하겠습니다.
DROP TABLE PRODUCTTBL; Table PRODUCTTBL이(가) 삭제되었습니다.
▶ DROP TABLE PRODUCTTBL SQL문을 통해서 PRODUCTTBL 테이블을 삭제합니다.
SELECT * FROM PRODUCTTBL; 오류 발생 명령행: 1 열: 15 오류 보고 - SQL 오류: ORA-00942: table or view does not exist 00942. 00000 - "table or view does not exist" *Cause: *Action:
▶ SELECT 문을 통해서 PRODUCTTBL 테이블을 조회했을 때 존재하지 않는 테이블이라는 오류가 발생합니다.
C:\DBbackup20220115>imp userid=SYSTEM/oracle@xe FROMUSER=Shop TOUSER=Shop FILE=C:\DBbackup20220115\ShopSchema.dmp TABLES=(productTBL) Import: Release 11.2.0.2.0 - Production on 일 1월 15 11:54:54 2023 Copyright (c) 1982, 2009, Oracle and/or its affiliates. All rights reserved. Connected to: Oracle Database 11g Express Edition Release 11.2.0.2.0 - 64bit Production Export file created by EXPORT:V11.02.00 via conventional path import done in KO16MSWIN949 character set and AL16UTF16 NCHAR character set import server uses AL32UTF8 character set (possible charset conversion) . importing SHOP's objects into SHOP . . importing table "PRODUCTTBL" 3 rows imported Import terminated successfully without warnings.
▶ 사전에는 export 했다면 import를 통해서 백업받아둔 파일을 통해서 해당 테이블을 복구해 보도록 하겠습니다.
imp userid=SYSTEM/oracle@xe FROMUSER=Shop TOUSER=Shop FILE=C:\DBbackup20220115\ShopSchema.dmp TABLES=(productTBL)
1) userid= SYSTEM -- 시스템 계정
2) /oracle@xe -- 패스워드 및 SID
3) FROMUSER -- 출발지 유저스키마
4) TOUSER -- 목적지 유저스키마
4) FILE=C:\DBbackup20220115\ShopSchema.dmp TABLES=(productTBL) -- 특정 테이블 지정SELECT * FROM PRODUCTTBL; PROD COST MAKEDATE COMPA AMOUNT ---- ---------- -------- ----- ---------- 컴퓨터 100000 22/01/20 삼성 17 세탁기 200000 21/12/24 LG 3 냉장고 150000 20/06/06 대우 22
▶ 복구를 통해서 삭제되었던 PRODUCTTBL 테이블이 다시 복구되어 조회가 되는 것을 확인할 수 있습니다.
2022.12.22 - [Programming and Database/SQL] - DB Oracle 스키마 생성하는 방법
2022.12.22 - [Programming and Database/SQL] - DB Oracle 테이블 생성, 데이터 입력/조회하는 방법(1)
2022.12.23 - [Programming and Database/SQL] - DB Oracle 테이블 생성, 데이터 입력/조회하는 방법(2)
PS. 포스팅의 내용은 제 기준으로 작성한 것이기 때문에 참고해서 보시면 감사하겠습니다.
포스팅 과정의 오류 및 오타 그리고 궁금한 점에 대해서는 댓글 남겨주세요.
반응형'Programming and Database > SQL' 카테고리의 다른 글
DB Oracle Select문 활용하는 방법 (4) 2023.02.11 DB Oracle SQL PLUS 활용하는 방법 (8) 2023.01.17 DB Oracle 뷰(View) 테이블 생성 및 저장 프로시저 사용하는 방법 (6) 2023.01.11 DB Oracle 트리거(Trigger) 생성을 통한 데이터 관리하는 방법 (10) 2023.01.10 DB Oracle 테이블 생성, 데이터 입력/조회하는 방법(2) (8) 2022.12.23