Oacle 에서 데이터베이스 의 DBID 정 보 를 어떻게 얻 습 니까?
DBID 는 제어 파일 과 데이터 파일 에 기록 되 어 있 기 때문에 데이터 베 이 스 를 mount 할 수 있다 면 v$database 보 기 를 조회 하여 얻 을 수 있 습 니 다.
SQL> alter database mount;
Database altered.
SQL> select dbid from v$database;
DBID
----------
3152029224
2.nomount 상태 에서데이터베이스 에 자동 제어 파일 백업(Oracle9i)이 설정 되 어 있 고 이름 이 부족 하 다 면 자동 백업 파일 에서 DBID 를 얻 을 수 있 습 니 다.
[oracle@jumper dbs]$ cd $ORACLE_HOME/dbs
[oracle@jumper dbs]$ ll c-*
-rw-r----- 1 oracle dba 3375104 Dec 21 11:13 c-3152029224-20051221-00
-rw-r----- 1 oracle dba 3358720 Jan 21 14:03 c-3152029224-20060121-00
-rw-r----- 1 oracle dba 3358720 Jan 21 14:08 c-3152029224-20060121-01
여기 315029224 가 바로 DBID 입 니 다.10g 에서 Flash Recovery Area 를 사용 하면 이 이름 규칙 이 없습니다.3.자동 백업 에서 복구
DBID 가 필요 하거나 부족 한 것 은 일반적으로 모든 제어 파일 을 잃 어 버 렸 기 때 문 입 니 다.복구 할 때 오류 가 발생 할 수 있 습 니 다.
[oracle@jumper dbs]$ rman target /
Recovery Manager: Release 9.2.0.4.0 - Production
Copyright (c) 1995, 2002, Oracle Corporation. All rights reserved.
connected to target database: conner (not mounted)
RMAN> restore controlfile from autobackup;
Starting restore at 05-FEB-06
using target database controlfile instead of recovery catalog
allocated channel: ORA_DISK_1
channel ORA_DISK_1: sid=11 devtype=DISK
RMAN-00571: ===========================================================
RMAN-00569: =============== ERROR MESSAGE STACK FOLLOWS ===============
RMAN-00571: ===========================================================
RMAN-03002: failure of restore command at 02/05/2006 20:47:25
RMAN-06495: must explicitly specify DBID with SET DBID command
자동 백업 이 존재 하면 제어 파일 을 직접 복구 할 수 있 습 니 다.mount 데이터 베 이 스 를 사용 하면 됩 니 다.
RMAN> restore controlfile from '/opt/oracle/product/9.2.0/dbs/c-3152029224-20051221-00';
Starting restore at 05-FEB-06
using channel ORA_DISK_1
channel ORA_DISK_1: restoring controlfile
channel ORA_DISK_1: restore complete
replicating controlfile
input filename=/opt/oracle/oradata/conner/control01.ctl
output filename=/opt/oracle/oradata/conner/control02.ctl
output filename=/opt/oracle/oradata/conner/control03.ctl
Finished restore at 05-FEB-06
4.살아 남 은 파일 에서 직접 읽 기DBID 는 데이터 파일 및 제어 파일 에 존재 하기 때문에 PL/SQL 프로그램 을 통 해 파일 에서 직접 읽 을 수 있 습 니 다.
SQL> select eygle.get_dbid('/opt/oracle/oradata/conner','user02.dbf') from dual;
EYGLE.GET_DBID('/OPT/ORACLE/OR
------------------------------
3152029224
SQL> select dbid from v$database;
DBID
----------
3152029224
사실 더 쉬 운 건 BBED 로 하면 돼 요.이런 방법 은 단지 테스트 흥미 로 인해 추천 되 지 않 는 다.
이 내용에 흥미가 있습니까?
현재 기사가 여러분의 문제를 해결하지 못하는 경우 AI 엔진은 머신러닝 분석(스마트 모델이 방금 만들어져 부정확한 경우가 있을 수 있음)을 통해 가장 유사한 기사를 추천합니다:
nginx websocket ip_해시 규칙프로젝트 를 다운로드 한 후 서로 다른 네트워크 에 각각 이 demo 프로젝트 를 배치 합 니 다. 프로젝트 에서 환경 변수 에 따라 시스템 변 수 를 설정 합 니 다. spring.profiles.active=de...
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
CC BY-SA 2.5, CC BY-SA 3.0 및 CC BY-SA 4.0에 따라 라이센스가 부여됩니다.