RAC的Diskgroup重建
之前安装时diskgroup使用的是external的冗余级别,现在想把它换成normal的冗余级别,但是由于diskgroup的冗余一经创建就无法调整
之前安装时diskgroup使用的是external的冗余级别,现在想把它换成normal的冗余级别,但是由于diskgroup的冗余一经创建就无法调整,只能重建。
整个过程的大概步骤如下:
1、备份已有的数据库DCDB,,并伤处asm上的文件
2、新建一个磁盘组SFRA作为过渡
3、迁移原磁盘组DATA上的vote和ocr以及asm的spfile至SFRA
4、删除并重建DATA磁盘组为normal冗余
5、回迁vote和ocr以及asm的spfile至DATA磁盘组
6、恢复数据库
详细过程如下:
1、备份已有数据库,此步略过不做介绍
使用dbca删除数据库。
删除ASM上DCDB数据库的参数文件等:
[grid@srcbdb2 ~]$ asmcmd
ASMCMD> cd +DATA/
ASMCMD> ls
DCDB/
ASMCMD> rm -fr DCDB
过程如同在os上执行。
2、新建一个磁盘组SFRA作为过渡
CREATE DISKGROUP SFRA NORMAL REDUNDANCY
FAILGROUP DGFG02 DISK '/dev/iscsi/11gdisk41' SIZE 20480M ,
'/dev/iscsi/11gdisk42' SIZE 20480M ,
'/dev/iscsi/11gdisk43' SIZE 20480M
FAILGROUP DGFG01 DISK '/dev/iscsi/11gdisk31' SIZE 20480M ,
'/dev/iscsi/11gdisk32' SIZE 20480M ,
'/dev/iscsi/11gdisk33' SIZE 20480M
ATTRIBUTE 'compatible.asm'='11.2.0.0.0',
'au_size'='1M';
Diskgroup created.
检查另一节点上改磁盘组是否mount起来的。
+ASM2@SYS> select * from v$asm_diskgroup;
GROUP_NUMBER NAME SECTOR_SIZE BLOCK_SIZE ALLOCATION_UNIT_SIZE STATE TYPE TOTAL_MB FREE_MB HOT_USED_MB COLD_USED_MB
------------ ------------------------------------------------------------ ----------- ---------- -------------------- ---------------------- ------------ ---------- ---------- ----------- ------------
REQUIRED_MIRROR_FREE_MB USABLE_FILE_MB OFFLINE_DISKS COMPATIBILITY
----------------------- -------------- ------------- ------------------------------------------------------------------------------------------------------------------------
DATABASE_COMPATIBILITY VO
------------------------------------------------------------------------------------------------------------------------ --
0 SFRA 0 4096 0DISMOUNTED 0 0 0 0
0 0 0 0.0.0.0.0
0.0.0.0.0 N
2 DATA 512 4096 1048576 MOUNTED NORMAL 122880 121175 0 1705
304 60435 0 11.2.0.0.0
10.1.0.0.0 Y
如果没有自动mount起来,则手工mount改磁盘组
+ASM2@SYS> alter diskgroup sfra mount;
Diskgroup altered.
3、迁移SPFILE,OCR和VOTE文件至SFRA磁盘组
3.1、迁移SPFILE
查看当前asm的spfile位置
+ASM1@SYS> show parameter spfile
NAME TYPE VALUE
------------------------------------ ---------------------- ------------------------------
spfile string +DATA/srcbdb-cluster/asmparame
terfile/registry.253.788224447
创建一个pfile作为spfile迁移的过渡文件
+ASM1@SYS> create pfile from spfile;
File created.
新建spfile文件并指定到过渡磁盘组
+ASM1@SYS> create spfile='+SFRA' from pfile='?/dbs/init+ASM1.ora';
File created.
+ASM1@SYS>
spfile已经在SFRA磁盘组中
[grid@srcbdb2 ~]$ asmcmd
ASMCMD> cd +SFRA/srcbdb-cluster/ASMPARAMETERFILE
ASMCMD> ls
REGISTRY.253.788224447
在另一节点上执行同样的操作迁移spfile。

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.
