搭建DataGuard环境
1. 确保源数据库在归档模式,并且是强制logging模式。shutdown immediate ;startup mount ;alter database archivelog ;alter da
1. 确保源数据库在归档模式,并且是强制logging模式。
shutdown immediate ;
startup mount ;
alter database archivelog ;
alter database force logging ;
alter database open ;
2. 确保已经建立的密码文件。(确保能够远程登录(@xxx as sysdba)
cd $Oracle_HOME/dbs/
查看是否已经建立了passwordfile .
若没有,执行下列命令。
这里要注意,oracle的密码文件都是存放在$ORACLE_HOME/dbs目录下面的。而且默认查找的时候会在目录下查找格式为orapw$ORACLE_SID文件名的密码文件,例如你的数据库名是dex,则使用下面的命令。
orapwd file=orapwdex password=xiaojun entries=20
最后验证一下,在tnsnames.ora中配置监听服务名,比如为dex70 然后执行
sqlplus sys/xiaojun@dex70 as sysdba
3. 创建standby logfile
ALTER DATABASE ADD STANDBY LOGFILE GROUP 4
('/dhome/orcl/oradata/dex/standby1.log') SIZE 50M;
ALTER DATABASE ADD STANDBY LOGFILE GROUP 5
('/dhome/orcl/oradata/dex/standby2.log') SIZE 50M;
ALTER DATABASE ADD STANDBY LOGFILE GROUP 6
('/dhome/orcl/oradata/dex/standby2.log') SIZE 50M;
验证一下:
sys@DEX> SELECT GROUP#,THREAD#,SEQUENCE#,ARCHIVED,STATUS FROM V$STANDBY_LOG;
GROUP# THREAD# SEQUENCE# ARC STATUS
---------- ---------- ---------- --- ----------
4 0 0 YES UNASSIGNED
5 0 0 YES UNASSIGNED
6 0 0 YES UNASSIGNED
4. 修改源库的参数文件
先创建一个pfile
create pfile from spfile ;
会在$ORACLE_HOME/dbs/admin/init$ORACLE_SID.ora
加入如下内容
DB_NAME=dex
DB_UNIQUE_NAME=dex
#主备库设置
LOG_ARCHIVE_CONFIG='DG_CONFIG=(dex,dex_hell)'
#控制文件位置
CONTROL_FILES='/dhome/orcl/oradata/dex/control01.ctl','/dhome/orcl/oradata/dex/control02'
#归档目录1
LOG_ARCHIVE_DEST_1= 'location=/dhome/arch1/ VALID_FOR=(ALL_LOGFILES,ALL_ROLES) DB_UNIQUE_NAME=dex'
#归档目录2,使用用于远程同步日志文件
LOG_ARCHIVE_DEST_2= 'SERVICE=dex_hell LGWR ASYNC VALID_FOR=(ONLINE_LOGFILES,PRIMARY_ROLE) DB_UNIQUE_NAME=dex_hell'
#开启
LOG_ARCHIVE_DEST_STATE_1=ENABLE
LOG_ARCHIVE_DEST_STATE_2=ENABLE
#允许远程@ as sysdba 登陆
REMOTE_LOGIN_PASSWORDFILE=EXCLUSIVE
LOG_ARCHIVE_FORMAT=%t_%s_%r.arc
LOG_ARCHIVE_MAX_PROCESSES=30
#fail 配置 当目标数据库发生故障时,,使用本地服务 这里都使用tnsnames中service名称
FAL_SERVER=dex_hell
FAL_CLIENT=dex
#file name 替换,可以是目录,也可以是单词。替换的目的是为了目标数据库发生故障的时候,目标数据的datafile和日志文件能够在本地找到副本。
DB_FILE_NAME_CONVERT='dex_hell','dex'
#这里的配置需要和实际库中相匹配,如果dex_hell fail无法访问时,需要置换logfile的位置。
LOG_FILE_NAME_CONVERT= '/arch1/dex/','/arch1/dex_hell/'
STANDBY_FILE_MANAGEMENT=AUTO

Hot AI Tools

Undresser.AI Undress
AI-powered app for creating realistic nude photos

AI Clothes Remover
Online AI tool for removing clothes from photos.

Undress AI Tool
Undress images for free

Clothoff.io
AI clothes remover

Video Face Swap
Swap faces in any video effortlessly with our completely free AI face swap tool!

Hot Article

Hot Tools

Notepad++7.3.1
Easy-to-use and free code editor

SublimeText3 Chinese version
Chinese version, very easy to use

Zend Studio 13.0.1
Powerful PHP integrated development environment

Dreamweaver CS6
Visual web development tools

SublimeText3 Mac version
God-level code editing software (SublimeText3)

Hot Topics











Apple's latest releases of iOS18, iPadOS18 and macOS Sequoia systems have added an important feature to the Photos application, designed to help users easily recover photos and videos lost or damaged due to various reasons. The new feature introduces an album called "Recovered" in the Tools section of the Photos app that will automatically appear when a user has pictures or videos on their device that are not part of their photo library. The emergence of the "Recovered" album provides a solution for photos and videos lost due to database corruption, the camera application not saving to the photo library correctly, or a third-party application managing the photo library. Users only need a few simple steps

Hibernate polymorphic mapping can map inherited classes to the database and provides the following mapping types: joined-subclass: Create a separate table for the subclass, including all columns of the parent class. table-per-class: Create a separate table for subclasses, containing only subclass-specific columns. union-subclass: similar to joined-subclass, but the parent class table unions all subclass columns.

How to use MySQLi to establish a database connection in PHP: Include MySQLi extension (require_once) Create connection function (functionconnect_to_db) Call connection function ($conn=connect_to_db()) Execute query ($result=$conn->query()) Close connection ( $conn->close())

To handle database connection errors in PHP, you can use the following steps: Use mysqli_connect_errno() to obtain the error code. Use mysqli_connect_error() to get the error message. By capturing and logging these error messages, database connection issues can be easily identified and resolved, ensuring the smooth running of your application.

Using the database callback function in Golang can achieve: executing custom code after the specified database operation is completed. Add custom behavior through separate functions without writing additional code. Callback functions are available for insert, update, delete, and query operations. You must use the sql.Exec, sql.QueryRow, or sql.Query function to use the callback function.

JSON data can be saved into a MySQL database by using the gjson library or the json.Unmarshal function. The gjson library provides convenience methods to parse JSON fields, and the json.Unmarshal function requires a target type pointer to unmarshal JSON data. Both methods require preparing SQL statements and performing insert operations to persist the data into the database.

Through the Go standard library database/sql package, you can connect to remote databases such as MySQL, PostgreSQL or SQLite: create a connection string containing database connection information. Use the sql.Open() function to open a database connection. Perform database operations such as SQL queries and insert operations. Use defer to close the database connection to release resources.

PHP database connection guide: MySQL: Install the MySQLi extension and create a connection (servername, username, password, dbname). PostgreSQL: Install the PgSQL extension and create a connection (host, dbname, user, password). Oracle: Install the OracleOCI8 extension and create a connection (servername, username, password). Practical case: Obtain MySQL data, PostgreSQL query, OracleOCI8 update record.
