DBCA静默建库中的两个小问题

创建数据库,主要有手工建库,DBCA建库,OMF建库。手工建库会重新初始化数据字典,过程相对比较耗时,但是完全定制化;OMF建库的场景比较特别,一般都是糅合在ASM中使用;DBCA图形化建库使用场景受限较大,其实DBCA还有另外一种快捷的方式就是DBCA静默建库,整个过程分分钟即可搞定。
如果说想简单使用,可以参考下面的例子,比如我们创建数据库为testdb,字符集为ZHS16GBK,命令如下:
 dbca -silent -createDatabase -templateName $ORACLE_HOME/assistants/dbca/templates/General_Purpose.dbc -gdbname testdb -sid testdb -characterSet ZHS16GBK -nationalCharacterSet AL16UTF16
看起来简单的命令使用范围比较有限,其实还可以定制更多的选项,比如下面的一个例子,指定redo为200M,指定安装EM,指定数据库类型为OLTP,使用ASM
dbca -silent  -createDatabase \
-templateName $ORACLE_HOME/assistants/dbca/templates/General_Purpose.dbc  -gdbNametestbi \
-sidtestbi -sysPassword oracle -systemPassword oracle \
-emConfiguration ALL \
        -dbsnmpPassword oracle \
        -sysmanPassword oracle \
        -hostUserName oracle -hostUserPassword oracle \
-disableSecurityConfiguration ALL \
-datafileDestination 'DATA01' \
-redoLogFileSize 200  \
-storageType ASM -asmsnmpPassword‘oracle' -diskGroupName 'DATA01' \
         -characterSet UTF8 -nationalCharacterSet AL16UTF16 \
-totalMemory 20000  -memoryPercentage 20 \
-databaseType OLTP
对这个命令使用游刃有余,建库的时候就会很轻松。不过今天的重点是两个小问题。
第一个问题是手工建库失败报错,信息如下:
[oracle@testdb dbs]$  dbca -silent -createDatabase -templateName $ORACLE_HOME/assistants/dbca/templates/General_Purpose.dbc -gdbname testdb -sid testdb  -characterSet ZHS16GBK -nationalCharacterSet AL16UTF16  -sysPassword oracle -systemPassword oracle -redoLogFileSize 500
Copying database files
100% complete
Look at the log file "/U01/app/oracle/cfgtoollogs/dbca/testdb/testdb2.log" for further details.
日志信息如下:
[oracle@testdb dbs]$ less /U01/app/oracle/cfgtoollogs/dbca/testdb/testdb2.log
Copying database files
TNS-04404: no error
  caused by: oracle.net.config.ConfigException: TNS-04414: File error
  caused by: TNS-04612: Null RHS for "testdb"
DBCA_PROGRESS : 100%
看这个日志似乎也看不出什么端倪来,其实可以到这个目录下,看看其它相关的日志。目录下有个日志叫trace.log里面的信息非常详细,可以作为我们分析问题的入口。
可以看到报错前会这样的日志信息:
[Thread-24] [ 2016-06-12 15:50:30.820 CST ] [NetworkUtils.getLocalListenerAddresses:1310]  listener[4]=LISTENER_1522 address=(ADDRES
S=(PROTOCOL=TCP)(HOST=testdb.oracle.com)(PORT=1522))
[Thread-24] [ 2016-06-12 15:50:30.820 CST ] [NetworkUtils.addLocalListenerEntry:1380]  addLocalListenerEntry addresses[0]=(ADDRESS=(
PROTOCOL=TCP)(HOST=testdb.oracle.com)(PORT=1521))
[Thread-24] [ 2016-06-12 15:50:30.820 CST ] [NetworkUtils.addLocalListenerEntry:1380]  addLocalListenerEntry addresses[1]=(ADDRESS=(
PROTOCOL=TCP)(HOST=testdb.oracle.com)(PORT=1528))
[Thread-24] [ 2016-06-12 15:50:30.820 CST ] [NetworkUtils.addLocalListenerEntry:1380]  addLocalListenerEntry addresses[2]=(ADDRESS=(
PROTOCOL=TCP)(HOST=testdb.oracle.com)(PORT=1525))
[Thread-24] [ 2016-06-12 15:50:30.820 CST ] [NetworkUtils.addLocalListenerEntry:1380]  addLocalListenerEntry addresses[3]=(ADDRESS=(
PROTOCOL=TCP)(HOST=testdb.oracle.com)(PORT=1523))
很明显这是配置的多端口监听器。我们暂时把listener.ora改个名字,建库就很顺利了。
通过这个小例子也可以看出,我们在拷贝一套环境的时候还是需要注意网络的设置,如果默认存在,建库时还是会参考这些配置,会或多或少产生一些影响。

问题2:我在一台服务器上创建数据库,速度非常快,几秒钟就完成了。看日志没有任何异常,输出都很完成,进度显示也很全。
[oracle@BJ-4-31 ~]$  dbca -silent -createDatabase -templateName $ORACLE_HOME/assistants/dbca/templates/General_Purpose.dbc -gdbname accdb1 -sid accdb1  -characterSet ZHS16GBK -nationalCharacterSet AL16UTF16  -sysPassword oracle -systemPassword oracle -redoLogFileSize 500
Copying database files
1% complete
2% complete
4% complete
37% complete
Creating and starting Oracle instance
38% complete
40% complete
45% complete
50% complete
51% complete
56% complete
57% complete
61% complete
62% complete
Completing Database Creation
66% complete
70% complete
73% complete
74% complete
85% complete
86% complete
98% complete
100% complete
Look at the log file "/U01/app/oracle/cfgtoollogs/dbca/accdb1/accdb1.log" for further details.
使用sqlplus登录的显示却有些奇怪,而且查看数据目录下,没有生成任何的文件。唯一的文件就是/etc/oratab的记录了。
[oracle@BJ-4-31 ~]$ sqlplus / as sysdba
SQL*Plus: Release 11.2.0.4.0 Production on Sun Jun 12 16:32:18 2016
Copyright (c) 1982, 2013, Oracle.  All rights reserved.

Connected.
SQL> exit
所以这个问题看起来真是纠结。
而问题的原因也很明显,就是/etc/hosts中的记录不全,只需补充主机IP的信息即可。
添加一条主机IP和主机名的映射,比如
10.11.1.2    testdb.oracle.com
当然回过头来,原因都是一些很零散的小问题,但是不重视,在紧急情况下,这就是大问题。

时间: 2024-07-29 23:08:48

DBCA静默建库中的两个小问题的相关文章

Oracle数据库中的基本建库操作详解_oracle

图形建库: 1. 确定是否存在要建的库    查看 $ORACLE_BASE/admin/和$ORACLE_BASE/oradata 2. 运行dbca 3. 选择新建库--General Purpose(通用库)模版--Global Database Name:库名.域名,可以只使用 库名--SID区分大小写------数据路径选择,模版默认的是$ORACLE_BASE/oradata/dababase--备份数据的路径--内存分配(SGA专用内存,事务处理为主:PGA系统内存,数据为主)|S

【故障处理】DBCA建库诡异问题处理--rac环境不能创建rac库

[故障处理]DBCA建库诡异问题处理--rac环境不能创建rac库 BLOG文档结构图 前言部分 导读和注意事项 各位技术爱好者,看完本文后,你可以掌握如下的技能,也可以学到一些其它你所不知道的知识,~O(∩_∩)O~: ① dbca静默创建rac库 ② Inventory目录作用及其2种重建方法(重点) ③ rac环境dbca工具不能创建rac库的解决办法 ④ dbca静默建库常见问题处理 ⑤ 重建CRS集群环境执行root.sh脚本 Tips: ① 本文在ITpub(http://blog.

【故障处理】 DBCA建库报错CRS-2566

[故障处理] DBCA建库报错CRS-2566 PRCR-1071 PRCR-1006 一.1  BLOG文档结构图       一.2  前言部分   一.2.1  导读和注意事项 各位技术爱好者,看完本文后,你可以掌握如下的技能,也可以学到一些其它你所不知道的知识,~O(∩_∩)O~: ① dbca静默建库 ② 将监听加入CRS中     Tips:        ① 若文章代码格式有错乱,推荐使用搜狗.QQ或360浏览器,也可以下载pdf格式的文档来查看,pdf文档下载地址:http://

DBCA静默方式建库

DBCA静默方式建库 本篇blog结构图:   使用DBCA的图形方式建库实在有诸多不便,但是使用静默方式建库就比较方便了,一个命令即可搞定.   使用dbca安装oracle数据库实例也有差不多两种方法: 一种就是根据模板文件进行安装,在上文中提到了在oracle安装程序的安装文件夹下的response目录中有一个dbca.rsp文件就是dbca的模板文件.当然我们也可以通过复制这个模板文件来修改其中的内容来建立定制的数据库,在这个模板文件中对于各个参数的说明非常详细,对这个文件的内容在此不做

Oracle手动建库常见问题

Oracle手动建库常见问题 BLOG文档结构图 前言部分 导读和注意事项 各位技术爱好者,看完本文后,你可以掌握如下的技能,也可以学到一些其它你所不知道的知识,~O(∩_∩)O~: ① 10G和11g手动建库(重点) ② 各种组件安装 ③ 创建Sample Schemas数据 ④ 手动建库中常用脚本的解释 ⑤ sqlplus中的帮助命令 Tips: ① 本文在ITpub(http://blog.itpub.net/26736162)和博客园(http://www.cnblogs.com/lhr

[20171124]手工使用种子库建库.txt

[20171124]手工使用Seed_Database.dfb和Seed_Database.ctl建库.txt --//昨天看yueli34的帖子,链接http://www.itpub.net/thread-2094530-1-1.html,注解与说明来自链接,感谢yueli34操作提示. --//自己测试看看: 1.建立参数文件 --//建立参数文件,目录为$ORACLE_HOME/dbs: $ cat /u01/app/oracle/product/11.2.0.4/dbhome_1/dbs

MySQL的数据类型和建库策略详解

mysql|策略|数据|数据类型|详解 无论是在小得可怜的免费数据库空间或是大型电子商务网站,合理的设计表结构.充分利用空间是十分必要的.这就要求我们对数据库系统的常用数据类型有充分的认识.下面我就将我的一点心得写出来跟大家分享. 一.数字类型.数字类型按照我的分类方法分为三类:整数类.小数类和数字类. 我所谓的"数字类",就是指DECIMAL和NUMERIC,它们是同一种类型.它严格的说不是一种数字类型,因为他们实际上是将数字以字符串形式保存的:他的值的每一位(包括小数点)占一个字节

MySQL数据类型及建库策略

无论是在小得可怜的免费数据库空间或是大型电子商务网站,合理的设计表结构.充分利用空间是十分必要的.这就要求我们对数据库系统的常用数据类型有充分的认识.下面我就将我的一点心得写出来跟大家分享. 一.数字类型 数字类型按照我的分类方法分为三类:整数类.小数类和数字类. 我所谓的"数字类",就是指 DECIMAL 和 NUMERIC,它们是同一种类型.它严格的说不是一种数字类型,因为他们实际上是将数字以字符串形式保存的:他的值的每一位 (包括小数点) 占一个字节的存储空间,因此这种类型耗费空

MySQL的数据类型和建库策略

无论是在小得可怜的免费数据库空间或是大型电子商务网站,合理的设计表结构.充分利用空间是十分必要的.这就要求我们对数据库系统的常用数据类型有充分的认识.下面我就将我的一点心得写出来跟大家分享. 一.数字类型 数字类型按照我的分类方法分为三类:整数类.小数类和数字类. 我所谓的"数字类",就是指 DECIMAL 和 NUMERIC,它们是同一种类型.它严格的说不是一种数字类型,因为他们实际上是将数字以字符串形式保存的:他的值的每一位 (包括小数点) 占一个字节的存储空间,因此这种类型耗费空