Skip to main content
NetApp database solutions
简体中文版经机器翻译而成,仅供参考。如与英语版出现任何冲突,应以英语版为准。

在 Google Cloud NetApp Volumes 上创建 Oracle 主数据库

贡献者 netapp-jsnyder

在静默模式下使用 Oracle Database Configuration Assistant 在 Google Cloud NetApp Volumes iSCSI 存储上创建 Oracle 主数据库。此过程包括在 GCNV 支持的 ASM 磁盘组上运行 `dbca`以创建容器数据库和可插拔数据库,配置归档日志目标,以及在启用 Data Guard 后添加基于角色的应用程序服务以实现透明故障转移。

步骤

在 `oracdb1`上使用 `dbca`以静默模式创建 Oracle 容器数据库和可插拔数据库,配置归档日志目标,验证 Oracle Restart 注册,并为透明客户端故障转移添加基于角色的应用程序服务。

  1. 在静默模式下运行 `dbca`以在 ASM 磁盘组上创建 CDB 和 PDB:

    sudo -u oracle bash -c '
    export ORACLE_HOME=/u01/app/oracle/product/26ai/db_1
    export PATH=$ORACLE_HOME/bin:$PATH
    
    dbca -silent -createDatabase \
      -templateName General_Purpose.dbc \
      -gdbname orcl -sid orcl \
      -characterSet AL32UTF8 -nationalCharacterSet AL16UTF16 \
      -sysPassword "ChangeMe!1" -systemPassword "ChangeMe!1" \
      -emConfiguration NONE \
      -datafileDestination +DATA -storageType ASM \
      -recoveryAreaDestination +FRA -recoveryAreaSize 25000 \
      -enableArchive true -archiveLogMode AUTO \
      -memoryMgmtType AUTO_SGA -totalMemory 4096 \
      -databaseType MULTIPURPOSE \
      -createAsContainerDatabase true -numberOfPDBs 1 \
      -pdbName orclpdb -pdbAdminPassword "ChangeMe!1" \
      -ignorePreReqs
    '
  2. 将归档日志指向 `+RECO`并打开并保存可插拔数据库状态。备用数据库在 步骤 2:备用 init.ora、pfile 和 NOMOUNT 中使用匹配的归档日志设置:

    sudo -u oracle bash -c '
    export ORACLE_HOME=/u01/app/oracle/product/26ai/db_1
    export ORACLE_SID=orcl
    $ORACLE_HOME/bin/sqlplus -s / as sysdba <<SQL
    ALTER SYSTEM SET log_archive_dest_1='\''LOCATION=+RECO VALID_FOR=(ALL_LOGFILES,ALL_ROLES) DB_UNIQUE_NAME=orcl'\'' SCOPE=BOTH;
    ALTER PLUGGABLE DATABASE ALL OPEN;
    ALTER PLUGGABLE DATABASE ALL SAVE STATE;
    EXIT
    SQL
    '
  3. 验证数据库是否正在 Oracle Restart 下运行:

    sudo /u01/app/26ai/grid/bin/srvctl status database -d orcl
    # Expected: Database is running
    
    sudo -u oracle sqlplus -s / as sysdba <<<"SELECT name, open_mode, log_mode FROM v\$database;"
    # Expected: ORCL, READ WRITE, ARCHIVELOG
  4. 创建基于角色的应用程序服务,以便应用程序通过 `orclapp`进行连接,并且在启用 Data Guard 时故障转移是透明的:

    sudo -u oracle bash -c '
    export GRID_HOME=/u01/app/26ai/grid
    export ORACLE_HOME=/u01/app/oracle/product/26ai/db_1
    export PATH=$ORACLE_HOME/bin:$GRID_HOME/bin:$PATH
    
    srvctl add service \
      -db orcl \
      -service orclapp \
      -pdb orclpdb \
      -role PRIMARY \
      -policy AUTOMATIC
    
    srvctl start service -db orcl -service orclapp
    srvctl status service -db orcl -service orclapp
    '

    启用 Data Guard Broker 后, orclapp 仅在 PRIMARY 上运行。跨 ASM 磁盘组多路复用控制文件,并根据工作负载调整内存大小。

下一步是什么?

要建立备用保护和故障转移准备,请转到 创建 Oracle 备用数据库 on oracdb2