실수로 삭제된 Oracle 데이터베이스를 신속하게 복구하는 세 가지 방법
이 기사에서는 Oracle에 대한 관련 지식을 제공하며, Oracle 데이터베이스에서 실수로 데이터를 삭제하는 것과 관련된 문제를 주로 소개하고, 전체 데이터베이스 백업 및 아카이브 로그 활용을 고려하지 않고 데이터를 빠르게 복원하는 방법을 살펴보겠습니다. 함께하면 모두에게 도움이 되기를 바랍니다.
추천 튜토리얼: "Oracle Video Tutorial"
오라클 데이터베이스의 데이터가 실수로 삭제되었습니다. 전체 데이터베이스 백업 및 아카이브 로그 활용을 고려하지 않고 데이터를 빠르게 복원하는 방법은 무엇입니까?
3가지 방법이 있습니다.
1. 데이터 복구에는 삭제 삭제 방법에 적합한 플래시백 방법을 사용합니다.
먼저 삭제된 데이터의 시점을 가져옵니다:
select * from v$sql where sql_text like '%table_name%' ; 1
sql_text 내용에 따라 code> 결과에서 <code>delete
를 찾아 해당 명령문에 해당하는 sql_text
内容,找到delete
执行语句对应的删除时间点,执行下面语句查询出删除的数据。
select * from table_name as of timestamp to_timestamp(‘删除时间点’,‘yyyy-mm-dd hh24:mi:ss’) where (删除时的条件) 12
检查数据无误后,执行下面操作,将数据插回原表中。注意主键不重复
insert into table_name select * from from table_name as of timestamp to_timestamp(‘删除时间点’,‘yyyy-mm-dd hh24:mi:ss’) where (删除时的条件) 123
2. 利用oracle虚拟回收站功能
原理是因为oracle数据库在删除表时会将删除信息存放于某虚拟回收站中而非直接清空,在此种状态下数据库标记该表的数据库为可以复写,所以在该块未被重新使用前依然可以恢复数据。该方法多用于drop删除。
首先查询user_table
视图,找到被删除的表:
select table_name,dropped from user_tables; select object_name,original_name,type,droptime from user_recyclebin; 12
注意此时的,object_name
和original_name
就是回收站存放的表名和原来删除的表名,如果表名没有被重新命名,可以通过下面语句进行恢复:
flashback table original_name to before drop; 1
如果不知道源表名,或者需要重新命名新的表名存放数据,则可以通过回收站中的object_name
进行恢复,命令如下:
flashback table object_name to before drop new_table_name; 1
3. 用oracle数据库的闪回功能可以将数据库恢复到过去某一状态
注意,此时是整库恢复,具体语法如下:
SQL>alter database flashback on SQL>flashback database to scn SCNNO; SQL>flashback database to timestamp to_timestamp(‘frombyte 2021-09-02 23:59:59’,‘yyyy-mm-dd hh24:mi:ss’); 123
4. 彻底删除数据
如果确定需要删除的数据又不想无谓的占用空间,我们可以使用以下3种方式:
- 采用truncate方式进行截断。(不能进行数据回恢复)
- 在drop时加上purge选项:
drop table table_name purge
- 通过删除
recyclebin
区域来永久性删除表 ,drop table table_name cascade constraints purge table table_name;
5. 关于清空回收站
-
删除当前用户回收站
purge recyclebin;
-
删除全体用户在回收站的数据
을 실행하고, 다음 명령문을 실행하여 삭제된 데이터를 쿼리합니다.purge dba_recyclebin;
삭제 시점 rrreee
user_table
뷰를 쿼리하여 삭제된 테이블을 찾습니다. 🎜rrreee🎜 이때 object_name
및 original_name
은 다음 위치에 저장됩니다. 휴지통 테이블 이름과 원래 삭제된 테이블 이름이 변경되지 않은 경우 다음 명령문을 통해 복원할 수 있습니다. 🎜rrreee🎜원본 테이블 이름을 모르거나 이름을 변경해야 하는 경우 데이터를 저장할 새 테이블 이름은 휴지통 object_name
을 사용하여 복원할 수 있습니다. 명령은 다음과 같습니다. 🎜rrreee🎜🎜3 데이터베이스를 복원하려면 oracle 데이터베이스의 플래시백 기능을 사용하세요. 🎜🎜🎜이것이 🎜전체 데이터베이스 복구🎜라는 점에 유의하세요. 구체적인 구문은 다음과 같습니다. 🎜rrreee🎜🎜4 데이터를 완전히 삭제합니다. 🎜🎜🎜데이터를 삭제해야 한다고 확신하는 경우 불필요하게 공간을 차지하고 싶지 않다면 다음 3가지 방법을 사용할 수 있습니다. 🎜- Truncate 방법을 사용하세요. (데이터 복구 불가) 🎜
- 드롭 시 퍼지 옵션 추가:
drop table table_name purge
🎜 -
recyclebin
영역을 삭제하여 테이블을 영구 삭제 ,drop table table_name cascade Constraints purge table table_name;
🎜🎜🎜🎜5. 휴지통 비우기 정보🎜🎜- 🎜현재 사용자 휴지통 삭제🎜🎜
purge recyclebin; 🎜🎜<li>🎜휴지통에 있는 모든 사용자 데이터 삭제🎜🎜<code>purge dba_recyclebin;
🎜🎜🎜🎜권장 튜토리얼: "🎜Oracle Video Tutorial🎜"🎜🎜
- 🎜현재 사용자 휴지통 삭제🎜🎜
위 내용은 실수로 삭제된 Oracle 데이터베이스를 신속하게 복구하는 세 가지 방법의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

핫 AI 도구

Undresser.AI Undress
사실적인 누드 사진을 만들기 위한 AI 기반 앱

AI Clothes Remover
사진에서 옷을 제거하는 온라인 AI 도구입니다.

Undress AI Tool
무료로 이미지를 벗다

Clothoff.io
AI 옷 제거제

AI Hentai Generator
AI Hentai를 무료로 생성하십시오.

인기 기사

뜨거운 도구

메모장++7.3.1
사용하기 쉬운 무료 코드 편집기

SublimeText3 중국어 버전
중국어 버전, 사용하기 매우 쉽습니다.

스튜디오 13.0.1 보내기
강력한 PHP 통합 개발 환경

드림위버 CS6
시각적 웹 개발 도구

SublimeText3 Mac 버전
신 수준의 코드 편집 소프트웨어(SublimeText3)

뜨거운 주제











Oracle 테이블 스페이스 크기를 쿼리하려면 다음 단계를 따르십시오. 쿼리를 실행하여 테이블 스페이스 이름을 결정하십시오. 쿼리를 실행하여 테이블 스페이스 크기를 쿼리하십시오. sum (bytes)을 total_size, sum (bytes_free)으로 sum (bytes_free), sum (bytes) - sum (bytes_free)으로 dba_data_fices where tablespace_.

Oracle에는 시간을 얻는 방법이 있습니다. current_timestamp : 현재 시스템 시간을 반환합니다. Systimestamp : current_timestamp보다 나노 초보다 더 정확합니다. sysdate : 시간 부분을 제외하고 현재 시스템 날짜를 반환합니다. to_char (sysdate, 'yyy-mm-dd hh24 : mi : ss') : 현재 시스템 날짜와 시간을 특정 형식으로 변환합니다. 추출 : 1 년, 월 또는 시간과 같은 시간 값에서 특정 부분을 추출합니다.

Oracle View 암호화를 사용하면보기에서 데이터를 암호화 할 수 있으므로 민감한 정보의 보안을 향상시킬 수 있습니다. 단계에는 다음이 포함됩니다. 1) 마스터 암호화 키 생성 (MEK); 2) 암호화 된 뷰 생성, 암호화 할보기 및 MEK를 지정하는 것; 3) 사용자가 암호화 된보기에 액세스하도록 승인합니다. 암호화 된 뷰 작동 방식 : 사용자가 암호화 된보기를 쿼리 할 때 Oracle은 MEK를 사용하여 데이터를 해독하여 공인 사용자 만 읽기 쉬운 데이터에 액세스 할 수 있도록합니다.

Oracle에서 인스턴스 이름을 보는 세 가지 방법이 있습니다. 명령 줄에 명령. "show instance_name"을 사용하십시오. sql*plus의 명령. 운영 체제의 작업 관리자, Oracle Enterprise Manager 또는 운영 체제를 통해 환경 변수 (Linux의 Oracle_Sid)를 확인하십시오.

Oracle 설치 실패에 대한 방법 제거 : Oracle Service를 닫고 Oracle Program 파일 및 레지스트리 키 삭제, Oracle 환경 변수를 제거하고 컴퓨터를 다시 시작하십시오. 제거되지 않으면 Oracle 범용 제거 도구를 사용하여 수동으로 제거 할 수 있습니다.

Oracle 유효하지 않은 숫자 오류는 데이터 유형 불일치, 숫자 오버플로, 데이터 변환 오류 또는 데이터 손상으로 인해 발생할 수 있습니다. 문제 해결 단계에는 데이터 유형 확인, 디지털 오버 플로우 감지, 데이터 변환 확인, 데이터 손상 확인 및 NLS_NUMERIC_CHARACTERS 매개 변수 구성 및 데이터 확인 로깅 활성화와 같은 다른 가능한 솔루션 탐색이 포함됩니다.

Oracle에서 사용자를 만들려면 다음 단계를 따르십시오. 사용자 명령문을 사용하여 새 사용자를 만듭니다. 보조금 명세서를 사용하여 필요한 권한을 부여하십시오. 선택 사항 : 리소스 문을 사용하여 할당량을 설정하십시오. 기본 역할 및 임시 테이블 스페이스와 같은 다른 옵션을 구성하십시오.

Oracle Cursor Closure 문제를 해결하는 방법에는 다음이 포함됩니다. Close 문을 사용하여 커서를 명시 적으로 닫습니다. For Update 절에서 커서를 선언하여 범위가 종료 된 후 자동으로 닫히십시오. 연관된 PL/SQL 변수가 닫히면 자동으로 닫히도록 사용 절에서 커서를 선언하십시오. 예외 처리를 사용하여 예외 상황에서 커서가 닫혀 있는지 확인하십시오. 연결 풀을 사용하여 커서를 자동으로 닫습니다. 자동 제출을 비활성화하고 커서 닫기를 지연시킵니다.
