Role TransitionsInvolving Physical Standby Databases A database operates in one of the following mutuallyexclusive roles: primary or standby . Data Guard enables you to change theseroles dynamically by issuing the SQL statements described
Role TransitionsInvolving Physical Standby Databases
A database operates in one of the following mutuallyexclusive roles:primary or standby. Data Guard enables you to change theseroles dynamically by issuing the SQL statements described in this chapter, orby using either of the Data Guard broker's interfaces. Oracle Data Guardsupports the following role transitions:
-
Switchover
Allows the primary database to switch roles with one of its standby databases. There is no data loss during a switchover. After a switchover, each database continues to participate in the Data Guard configuration with its new role.
-
Failover
Changes a standby database to the primary role in response to a primary database failure. If the primary database was not operating in either maximum protection mode or maximum availability mode before the failure, some data loss may occur. If Flashback Database is enabled on the primary database, it can be reinstated as a standby for the new primary database once the reason for the failure is corrected.
Performing a Failoverto a Physical Standby Database
Fault Simulation
Original Primary:
SQL>set linesize 200
SQL> selectOPEN_MODE,PROTECTION_MODE,DATABASE_ROLE,DB_UNIQUE_NAME,SWITCHOVER_STATUS fromv$database;
OPEN_MODE PROTECTION_MODE DATABASE_ROLE DB_UNIQUE_NAME SWITCHOVER_STATUS
---------------------------------------- ---------------- --------------------------------------------------
READWRITE MAXIMUM AVAILABILITYPRIMARY prod TO STANDBY
SQL>exit
Disconnectedfrom Oracle Database 11g Enterprise Edition Release 11.2.0.3.0 - Production
Withthe Partitioning, OLAP, Data Mining and Real Application Testing options
[oracle@prod~]$ ps -ef | grep smon
oracle 3915 1 0 16:20 ? 00:00:01 ora_smon_prod
oracle 4584 3323 0 16:57 pts/1 00:00:00 grep --color=auto smon
[oracle@prod~]$ kill -9 3915
Step1 Flush any unsent redo from the primary database to thetarget standby database.
If the primary database can be mounted, it may be possible to flush any unsent archived andcurrent redo from the primary database to the standby database. If thisoperation is successful, a zero data loss failover is possible even if theprimary database is not in a zero data loss data protection mode.
Ensure that Redo Apply is active at the targetstandby database.
Standby:
SQL>select OPEN_MODE,PROTECTION_MODE,DATABASE_ROLE,DB_UNIQUE_NAME,SWITCHOVER_STATUSfrom v$database;
OPEN_MODE PROTECTION_MODE DATABASE_ROLE DB_UNIQUE_NAME SWITCHOVER_STATUS
---------------------------------------- ---------------- --------------------------------------------------
READ ONLY WITH APPLY MAXIMUM AVAILABILITY PHYSICALSTANDBY standby TOPRIMARY
Primary:
Mount, but do not open the primarydatabase. If the primary database cannot be mounted, go toStep2.
Issue the following SQL statement at the primarydatabase:
SQL>startup mount;
ORACLEinstance started.
TotalSystem Global Area 263639040 bytes
FixedSize 1344312 bytes
VariableSize 230689992 bytes
DatabaseBuffers 25165824 bytes
RedoBuffers 6438912 bytes
Databasemounted.
SQL>alter system flush redo to 'standby';
Systemaltered.
ALTER SYSTEMFLUSH REDO TO target_db_name .
For target_db_name, specify the DB_UNIQUE_NAME of thestandby database that is to receive the redo flushed from the primary database.
This statement flushes any unsent redo from theprimary database to the standby database, and waits for that redo to be appliedto the standby database.
If this statement completes without anyerrors, go toStep5. If the statement completes with any error,or if it must be stopped because you cannot wait any longer for the statementto complete, continue with Step2.
Step2 Verify that the standby database has the most recentlyarchived redo log file for each primary database redo thread.
Query the V$ARCHIVED_LOG view on the target standbydatabase to obtain the highest log sequence number for each redo thread.
Primary and Standby
SQL>SELECT UNIQUE THREAD# AS THREAD, MAX(SEQUENCE#) OVER (PARTITION BY thread#) ASLAST from V$ARCHIVED_LOG;
THREAD LAST
--------------------
1 98
standby
If possible, copy the most recently archived redo logfile for each primary database redo thread to the standby database if it doesnot exist there, and register it. This must be done for each redo thread.
ALTERDATABASE REGISTER PHYSICAL LOGFILE 'redo_logfile';
Step3 Identify and resolve any archived redo log gaps.
Query the V$ARCHIVE_GAP view on the target standbydatabase to determine if there are any redo gaps on the target standbydatabase.
SQL>SELECT THREAD#, LOW_SEQUENCE#, HIGH_SEQUENCE# FROM V$ARCHIVE_GAP;
norows selected
THREAD# LOW_SEQUENCE# HIGH_SEQUENCE#
---------- ------------- --------------
1 90 92
In this example the gap comprises archived redo logfiles with sequence numbers 90, 91, and 92 for thread 1.
If possible, copy any missing archived redo log filesto the target standby database from the primary database and register them atthe target standby database. This must be done for each redo thread.
SQL>ALTER DATABASE REGISTER PHYSICAL LOGFILE 'redo_logfile';
Step4 Repeat Step 3 until all gaps are resolved.
The query executed inStep3 displays information for the highest gaponly. After resolving a gap, you must repeat the query until no more rows arereturned.
If, after performingStep2 throughStep4, you are not able to resolve all gaps in thearchived redo log files (for example, because you do not have access to thesystem that hosted the failed primary database), some data loss will occurduring the failover.
Step5 Stop Redo Apply.
Issue the following SQL statement on the targetstandby database:
SQL>alter database recover managed standby database cancel;
Databasealtered.
Step6 Finish applying all received redo data.
Issue the following SQL statement on the targetstandby database:
SQL>alter database recover managed standby database finish;
Databasealtered.
If this statement completes without anyerrors, proceed toStep7.
If an error occurs, some received redo data was notapplied. Try to resolve the cause of the error and re-issue the statementbefore proceeding to the next step.
Note that if there is a redo gap thatwas not resolved inStep3 andStep4, you will receive an error stating that thereis a redo gap.
If the error condition cannot be resolved, a failovercan still be performed (with some data loss) by issuing the following SQLstatement on the target standby database:
SQL>alter database activate physical standby database;
Databasealtered.
SQL>select OPEN_MODE,PROTECTION_MODE,DATABASE_ROLE,DB_UNIQUE_NAME,SWITCHOVER_STATUSfrom v$database;
OPEN_MODE PROTECTION_MODE DATABASE_ROLE DB_UNIQUE_NAME SWITCHOVER_STATUS
---------------------------------------- ---------------- --------------------------------------------------
MOUNTED MAXIMUM AVAILABILITY PRIMARY standby NOT ALLOWED
Proceed toStep9 when the ACTIVATE statement completes.
Step7 Verify that the target standby database is ready to become aprimary database.
Query the SWITCHOVER_STATUS column of the V$DATABASEview on the target standby database.
SQL>SELECT SWITCHOVER_STATUS FROM V$DATABASE;
SWITCHOVER_STATUS
--------------------
NOTALLOWED
A value of either TO PRIMARY or SESSIONS ACTIVEindicates that the standby database is ready to be switched to the primaryrole. If neither of these values is returned, verify that Redo Apply is activeand continue to query this view until either TO PRIMARY or SESSIONS ACTIVE isreturned.
Step8 Switch the physical standby database to the primary role.
Issue the following SQL statement on the targetstandby database:
SQL>alter database commit to switchover to primary with session shutdown;
Note:
The WITH SESSION SHUTDOWN clause can be omitted fromthe switchover statement if the query of the SWITCHOVER_STATUS column performedin the previous step returned a value of TO PRIMARY.
Step9 Open the new primary database.
SQL>alter database open;
Databasealtered.
SQL>select OPEN_MODE,PROTECTION_MODE,DATABASE_ROLE,DB_UNIQUE_NAME,SWITCHOVER_STATUSfrom v$database;
OPEN_MODE PROTECTION_MODE DATABASE_ROLE DB_UNIQUE_NAME SWITCHOVER_STATUS
---------------------------------------- ---------------- --------------------------------------------------
READWRITE MAXIMUM AVAILABILITYPRIMARY standby FAILED DESTINATION
Step10 Back up the new primary database.
Oracle recommends that a full backup be taken of thenew primary database.
Step11 Restart Redo Apply if it has stopped at any of the otherphysical standby databases in your Data Guard configuration.
SQL>alter database recover managed standby database using current logfiledisconnect from session;
Step12 Optionally, restore the failed primary database.
After a failover, the original primary database canbe converted into a physical standby database of the new primary database usingthe method
As following:
Flashing Back a FailedPrimary Database into a Physical Standby Database
作者:xiangsir
QQ:444367417
MSN:xiangsir@hotmail.com

mysqlviewshavelimitations : 1) 그들은 upportallsqloperations, datamanipulation throughviewswithjoinsorbqueries를 제한하지 않습니다

적절한 usermanagementInmysqliscrucialforenhancingsecurityandensuringfefficientDatabaseOperation.1) USECREATEUSERTOWDDUSERS,@'localHost'or@'%'.

mysqldoes notimposeahardlimitontriggers, butpracticalfactorsdeteirefectiveuse : 1) ServerConfigurationimpactStriggerManagement; 2) 복잡한 트리거 스케일 스케일 사이드로드; 3) argertableSlowtriggerTriggerPerformance; 4) High ConconcercencyCancaUspriggerContention; 5) m

예, It 'safetostoreBlobdatainmysql, butconsidertheStefactors : 1) StoragesPace : BlobScanconSumeSignificantspace, 잠재적으로 증가하는 CostsandSlownperformance

PHP 웹 인터페이스를 통해 MySQL 사용자를 추가하면 MySQLI 확장 기능을 사용할 수 있습니다. 단계는 다음과 같습니다. 1. MySQL 데이터베이스에 연결하고 MySQLI 확장자를 사용하십시오. 2. 사용자를 생성하고 CreateUser 문을 사용하고 Password () 함수를 사용하여 암호를 암호화하십시오. 3. SQL 주입 방지 및 MySQLI_REAL_ESCAPE_STRING () 함수를 사용하여 사용자 입력을 처리하십시오. 4. 새 사용자에게 권한을 할당하고 보조금 명세서를 사용하십시오.

mysql'sblobissuilableforstoringbinarydatawithinareldatabase, whilenosqloptionslikemongodb, redis, and cassandraofferflexible, scalablesolutionsforunstuctureddata.blobissimplerbutcanslowwownperformance를 사용하는 것들보업 betterscal randaysand

TOADDAUSERINMYSQL, 사용 : CreateUser'UserName '@'host'IdentifiedBy'Password '; 여기서'showTodoitseciRely : 1) ChoosetheHostCareLyTocon trolaccess.2) setResourcelimitswithOptionslikemax_queries_per_hour.3) Usestrong, iriquepasswords.4) enforcessl/tlsconnectionswith

toavoidcommonmistakeswithstringdatatypesinmysql, stroundStringTypenuances, chooseTherightType, andManageEncodingAndCollationSettingSefectively.1) usecharforfixed-lengthstrings, varcharvariable-length, andtext/blobforlargerdata.2) setcarcatter


핫 AI 도구

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

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

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

Clothoff.io
AI 옷 제거제

Video Face Swap
완전히 무료인 AI 얼굴 교환 도구를 사용하여 모든 비디오의 얼굴을 쉽게 바꾸세요!

인기 기사

뜨거운 도구

Atom Editor Mac 버전 다운로드
가장 인기 있는 오픈 소스 편집기

SublimeText3 영어 버전
권장 사항: Win 버전, 코드 프롬프트 지원!

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

mPDF
mPDF는 UTF-8로 인코딩된 HTML에서 PDF 파일을 생성할 수 있는 PHP 라이브러리입니다. 원저자인 Ian Back은 자신의 웹 사이트에서 "즉시" PDF 파일을 출력하고 다양한 언어를 처리하기 위해 mPDF를 작성했습니다. HTML2FPDF와 같은 원본 스크립트보다 유니코드 글꼴을 사용할 때 속도가 느리고 더 큰 파일을 생성하지만 CSS 스타일 등을 지원하고 많은 개선 사항이 있습니다. RTL(아랍어, 히브리어), CJK(중국어, 일본어, 한국어)를 포함한 거의 모든 언어를 지원합니다. 중첩된 블록 수준 요소(예: P, DIV)를 지원합니다.

Dreamweaver Mac版
시각적 웹 개발 도구