dbca 命令行静默方式创建Oracle RAC

2024-02-04 12:32

本文主要是介绍dbca 命令行静默方式创建Oracle RAC,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

昨天有个需求,需要用命令行建一个RAC。先Google了一些文章,最好参照了下面这篇。
Create RAC database using DBCA silent mode,感谢此文作者,写得非常简洁。

我的环境是19c, 2节点RAC。然后遇到了一系列错误。

第一个错误,Disk Group不存在:

[FATAL] [DBT-06002] Selected disk group (XXXX) is not found.ACTION: Specify a disk group that is accessible from the system.

正好,主机上还有其它数据库,查询一下:

SQL> select name from v$asm_diskgroup;NAME
------------------------------
DATAC1
RECOC1

然后改成以下:

-diskGroupName +DATAC1/{DB_UNIQUE_NAME}/ \

第2个错误,FRA地址无效,可以绕过问题或指定FRA位置,我用了后者。

[WARNING] [DBT-06303] Unable to check if location (FRA/db0623/) is on ACFS.
[FATAL] [DBT-06007] The specified location (FRA Location) is invalid.CAUSE: The specified location is not found on the system or is detected to be a file.

直接去掉以下行:

-recoveryAreaDestination FRA \

或者改为:

-recoveryAreaDestination +$FRA \

第3个错误,4G以上不能AMM管理以及字符集问题:

[FATAL] [DBT-11211] The Automatic Memory Management option is not allowed when the total physical memory is greater than 4GB.CAUSE: The current total physical memory is 754GB.
[FATAL] [DBT-11152] National character set specified (AL32UTF8) is invalid.

直接删除以下行:

-nationalCharacterSet AL32UTF8 \
-automaticMemoryManagement true \

最终命令如下,会自动创建一个PDB orclpdb1。其中node01和node02是两个RAC节点的主机名,通过hostname命令获取。

export DBPWD='ABcd123_#'
export DGNAME=DATAC1
export FRA=RECOC1
export DBNAME=db0623
export NODE1=node01
export NODE2=node02dbca -silent \
-createDatabase \
-databaseConfigType RAC \
-templateName General_Purpose.dbc \
-gdbName $DBNAME  \
-sid $DBNAME  \
-SysPassword $DBPWD \
-SystemPassword $DBPWD \
-emConfiguration NONE \
-redoLogFileSize 2048  \
-storageType ASM \
-asmSysPassword $DBPWD \
-diskGroupName +$DGNAME/{DB_UNIQUE_NAME}/ \
-recoveryAreaDestination +$FRA \
-totalMemory 10240  \
-databaseType MULTIPURPOSE \
-nodelist ${NODE1},${NODE2} \
-createAsContainerDatabase true \
-numberOfPDBs 1 \
-pdbName orclpdb1 \
-pdbAdminPassword $DBPWD

日志如下,18分钟还是蛮快的:

Prepare for db operation
7% complete
Copying database files
27% complete
Creating and starting Oracle instance
28% complete
31% complete
35% complete
37% complete
40% complete
Creating cluster database views
41% complete
53% complete
Completing Database Creation
57% complete
59% complete
60% complete
Creating Pluggable Databases
64% complete
80% complete
Executing Post Configuration Actions
100% complete
Database creation complete. For details check the logfiles at:/u01/app/oracle/cfgtoollogs/dbca/db0623.
Database Information:
Global Database Name:db0623
System Identifier(SID) Prefix:db0623
Look at the log file "/u01/app/oracle/cfgtoollogs/dbca/db0623/db06231.log" for further details.real    18m8.020s
user    0m57.199s
sys     0m14.027s$ echo $?
0

另外两次也是18分钟左右,比较一致:

real    18m36.844s
user    0m57.905s
sys     0m14.577sreal    18m34.217s
user    0m56.531s
sys     0m14.336s

访问:

$ export ORACLE_SID=db06231
$ sqlplus / as sysdba
SQL> select count(*) from gv$instance;COUNT(*)
----------2SQL> show pdbs;CON_ID CON_NAME                       OPEN MODE  RESTRICTED
---------- ------------------------------ ---------- ----------2 PDB$SEED                       READ ONLY  NO3 ORCLPDB1                       READ WRITE NO

删除,此时数据库是打开状态:

dbca -silent -deleteDatabase -sourceDB db0623

输出:

$ dbca -silent -deleteDatabase -sourceDB db0623
Enter SYS user password:[WARNING] [DBT-19202] The Database Configuration Assistant will delete the Oracle instances and datafiles for your database. All information in the database will be destroyed.
Prepare for db operation
32% complete
Connecting to database
39% complete
42% complete
45% complete
48% complete
52% complete
55% complete
58% complete
65% complete
Updating network configuration files
68% complete
Deleting instances and datafiles
77% complete
87% complete
97% complete
100% complete
Database deletion completed.
Look at the log file "/u01/app/oracle/cfgtoollogs/dbca/db0623/db06230.log" for further details.

最后,附上一个帮助:

$ dbca -createDatabase -help-createDatabase - Command to Create a database.-responseFile | (-gdbName,-templateName)-responseFile - <Fully qualified path for a response file>-gdbName <Global database name>-templateName <Specify an existing template in default location or the complete template path for DB Creation or provide a new template name for template creation>[-useWalletForDBCredentials <true | false> Specify true to load database credentials from wallet]-dbCredentialsWalletLocation <Path of the directory containing the wallet files>[-dbCredentialsWalletPassword <Password to open wallet with auto login disabled>][-characterSet <Character set for the database>][-dvConfiguration <true | false> Specify true to configure and enable database vault.]-dvUserName <Specify database vault owner user name>-dvUserPassword <Specify database vault owner password>[-dvAccountManagerPassword <Specify database vault account manager password>][-dvAccountManagerName <Specify separate database vault account manager>][-datafileDestination <Destination directory for all database files>][-datafileJarLocation <For database creation, pass the absolute path of the datafile backup and for template creation, pass the directory to place the datafile backup>][-runCVUChecks <Specify "true" in order to run Cluster Verification Utility checks periodically for RAC databases.>][-sid <Database system identifier>][-redoLogFileSize <Size of each redo log file in MB>][-registerWithDirService <true | false>]-dirServiceUserName <User name for directory service>[-databaseCN <Database common name>][-dirServiceCertificatePath <Path to the certificate file to use when configuring SSL between database and directory service>][-dirServicePassword <Password for directory service>][-dirServiceUser <SamAccountName in case of configuring Active Directory>][-ldapDirectoryAccessType <PASSWORD | SSL>][-useSYSAuthForLDAPAccess <true | false>][-walletPassword <Password for database wallet>][-systemPassword <SYSTEM user password>][-nodelist <Node names separated by comma for the database>][-oracleHomeUserPassword <Specify Oracle Home User Password>][-sysPassword <SYS user password>][-enableArchive <true | false> Specify true to enable archive>][-archiveLogMode <AUTO|MANUAL , the default is Automatic archiving>][-archiveLogDest <Specify archive log destinations separated by comma. If archive log destination is not specified, fast recovery area location will be used for archive log files.>][-memoryMgmtType <AUTO|AUTO_SGA|CUSTOM_SGA>][-variables <Comma separated list of name=value pairs of location variables>][-listeners <A comma separated list of listeners that the database can be configured with>][-olsConfiguration <true | false> Specify true to configure and enable Oracle Label Security.][-configureWithOID This flag configures Oracle Label Security with OID.][-createAsContainerDatabase <true | false>][-pdbName <Pluggable database name>][-numberOfPDBs <Number of pluggable databases to be created, default is 0>][-pdbStorageMAXSizeInMB <value>][-pdbStorageMAXTempSizeInMB <value>][-useLocalUndoForPDBs <true | false>  Specify false to disable local undo tablespace for PDBs.][-pdbAdminPassword <PDB Administrator user Password, required only while creating new PDB>][-pdbOptions <A comma separated list of name:value pairs with database options to enable/disable. For example JSERVER:true,DV:false>][-recoveryAreaDestination <Destination directory for all recovery files. Specify "NONE" for disabling Fast Recovery Area>][-recoveryAreaSize <Fast Recovery Area Size in MB>][-createListener <Create a new listener to register your database. Specify in format, LISTENER_NAME:PORT>][-useOMF <true | false> Specify true to use Oracle-Managed Files.][-memoryPercentage | -totalMemory][-memoryPercentage <Percentage of physical memory for oracle database>][-totalMemory <Memory allocated for Oracle in MB>][-dbOptions <A comma separated list of name:value pairs with database options to enable/disable. For example JSERVER:true,DV:false>][-sampleSchema <true | false>][-variablesFile <File name of the name=value pairs for location variables in the template>][-customScripts <A comma separated list of SQL scripts which needs to be run post db creation.The scripts are run in order they are listed>][-databaseType <MULTIPURPOSE | DATA_WAREHOUSING | OLTP>][-oracleHomeUserName <Specify Oracle Home User Name>][-initParams <Comma separated list of name=value pairs>][-initParamsEscapeChar <Specify escape character for comma when a specific initParam has multiple values.If the escape character is not specified backslash is the default escape character>][-policyManaged | -adminManaged][-policyManaged <Policy managed database, default option is Admin managed database>]-serverPoolName <Specify the single server pool name in case of create server pool or comma separated list in case of existing server pools>[-pqPoolName <value>][-createServerPool <Create a new server pool, which will be used by the database>][-pqPoolName <value>][-forceServerPoolCreation <To create server pool by force when adequate free servers are not available. This may affect the database which is already in running mode>][-pqCardinality <value>][-cardinality <Specify the cardinality of the new server pool that is to be created, default is the number of qualified nodes>][-adminManaged <Admin managed database, this is default option>][-nationalCharacterSet <National character set for the database>][-storageType < FS | ASM >]-datafileDestination <Destination directory for all database files>[-asmsnmpPassword <ASMSNMP password for ASM monitoring>][-databaseConfigType <SINGLE | RAC | RACONENODE>][-RACOneNodeServiceName <Service name for the service to be created for RAC One Node database. This option is mandatory when the databaseConfigType is RACONENODE>][-emConfiguration <DBEXPRESS | CENTRAL | BOTH | NONE>][-dbsnmpPassword <DBSNMP user password>][-emPassword <EM Admin user password>][-emUser <EM Admin username to add or modify targets>][-emExpressPort <EM database express port number. Generally used during createDatabase>][-omsHost <EM management server host name>][-omsPort <EM management server port number>][-emExpressPortAsGlobalPort <value>]

补记

2023年9月7日,在Exadata X8-2 HC 1/4配上创建RAC:

export DBPWD='Welcome1'
export DGNAME=DATAC1
export FRA=RECOC1
export DBNAME=rwp19c
export NODE1=x8hcdbadm01
export NODE2=x8hcdbadm02[oracle@x8hcdbadm01 ~]$ time dbca -silent \
> -createDatabase \
> -databaseConfigType RAC \
> -templateName General_Purpose.dbc \
> -gdbName $DBNAME  \
> -sid $DBNAME  \
> -SysPassword $DBPWD \
> -SystemPassword $DBPWD \
> -emConfiguration NONE \
> -redoLogFileSize 2048  \
> -storageType ASM \
> -asmSysPassword $DBPWD \
> -diskGroupName +$DGNAME/{DB_UNIQUE_NAME}/ \
> -recoveryAreaDestination +$FRA \
> -totalMemory 10240  \
> -databaseType MULTIPURPOSE \
> -nodelist ${NODE1},${NODE2} \
> -createAsContainerDatabase true \
> -numberOfPDBs 1 \
> -pdbName orclpdb1 \
> -pdbAdminPassword $DBPWDPrepare for db operation
7% complete
Copying database files
27% complete
Creating and starting Oracle instance
28% complete
31% complete
35% complete
37% complete
40% complete
Creating cluster database views
41% complete
53% complete
Completing Database Creation
57% complete
59% complete
60% complete
Creating Pluggable Databases
64% complete
80% complete
Executing Post Configuration Actions
100% complete
Database creation complete. For details check the logfiles at:/u01/app/oracle/cfgtoollogs/dbca/rwp19c.
Database Information:
Global Database Name:rwp19c
System Identifier(SID) Prefix:rwp19c
Look at the log file "/u01/app/oracle/cfgtoollogs/dbca/rwp19c/rwp19c0.log" for further details.real    24m8.355s
user    1m15.377s
sys     0m13.721s

这篇关于dbca 命令行静默方式创建Oracle RAC的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/677515

相关文章

Java AOP面向切面编程的概念和实现方式

《JavaAOP面向切面编程的概念和实现方式》AOP是面向切面编程,通过动态代理将横切关注点(如日志、事务)与核心业务逻辑分离,提升代码复用性和可维护性,本文给大家介绍JavaAOP面向切面编程的概... 目录一、AOP 是什么?二、AOP 的核心概念与实现方式核心概念实现方式三、Spring AOP 的关

Java 虚拟线程的创建与使用深度解析

《Java虚拟线程的创建与使用深度解析》虚拟线程是Java19中以预览特性形式引入,Java21起正式发布的轻量级线程,本文给大家介绍Java虚拟线程的创建与使用,感兴趣的朋友一起看看吧... 目录一、虚拟线程简介1.1 什么是虚拟线程?1.2 为什么需要虚拟线程?二、虚拟线程与平台线程对比代码对比示例:三

k8s按需创建PV和使用PVC详解

《k8s按需创建PV和使用PVC详解》Kubernetes中,PV和PVC用于管理持久存储,StorageClass实现动态PV分配,PVC声明存储需求并绑定PV,通过kubectl验证状态,注意回收... 目录1.按需创建 PV(使用 StorageClass)创建 StorageClass2.创建 PV

Linux创建服务使用systemctl管理详解

《Linux创建服务使用systemctl管理详解》文章指导在Linux中创建systemd服务,设置文件权限为所有者读写、其他只读,重新加载配置,启动服务并检查状态,确保服务正常运行,关键步骤包括权... 目录创建服务 /usr/lib/systemd/system/设置服务文件权限:所有者读写js,其他

Linux挂载linux/Windows共享目录实现方式

《Linux挂载linux/Windows共享目录实现方式》:本文主要介绍Linux挂载linux/Windows共享目录实现方式,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地... 目录文件共享协议linux环境作为服务端(NFS)在服务器端安装 NFS创建要共享的目录修改 NFS 配

Vue3视频播放组件 vue3-video-play使用方式

《Vue3视频播放组件vue3-video-play使用方式》vue3-video-play是Vue3的视频播放组件,基于原生video标签开发,支持MP4和HLS流,提供全局/局部引入方式,可监听... 目录一、安装二、全局引入三、局部引入四、基本使用五、事件监听六、播放 HLS 流七、更多功能总结在 v

idea+spring boot创建项目的搭建全过程

《idea+springboot创建项目的搭建全过程》SpringBoot是Spring社区发布的一个开源项目,旨在帮助开发者快速并且更简单的构建项目,:本文主要介绍idea+springb... 目录一.idea四种搭建方式1.Javaidea命名规范2JavaWebTomcat的安装一.明确tomcat

Java发送SNMP至交换机获取交换机状态实现方式

《Java发送SNMP至交换机获取交换机状态实现方式》文章介绍使用SNMP4J库(2.7.0)通过RCF1213-MIB协议获取交换机单/多路状态,需开启SNMP支持,重点对比SNMPv1、v2c、v... 目录交换机协议SNMP库获取交换机单路状态获取交换机多路状态总结交换机协议这里使用的交换机协议为常

k8s admin用户生成token方式

《k8sadmin用户生成token方式》用户使用Kubernetes1.28创建admin命名空间并部署,通过ClusterRoleBinding为jenkins用户授权集群级权限,生成并获取其t... 目录k8s admin用户生成token创建一个admin的命名空间查看k8s namespace 的

uni-app小程序项目中实现前端图片压缩实现方式(附详细代码)

《uni-app小程序项目中实现前端图片压缩实现方式(附详细代码)》在uni-app开发中,文件上传和图片处理是很常见的需求,但也经常会遇到各种问题,下面:本文主要介绍uni-app小程序项目中实... 目录方式一:使用<canvas>实现图片压缩(推荐,兼容性好)示例代码(小程序平台):方式二:使用uni