DBCA静默建库中的两个小问题 (r9笔记第28天)

创建数据库,主要有手工建库,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 当然回过头来,原因都是一些很零散的小问题,但是不重视,在紧急情况下,这就是大问题。

原文发布于微信公众号 - 杨建荣的学习笔记(jianrong-notes)

原文发表时间:2016-06-12

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

发表于

我来说两句

0 条评论
登录 后参与评论

相关文章

来自专栏农夫安全

Bwapp漏洞平台答案全解-A2(第一篇)

0x01 A2 - Broken Auth & Session Mgmt *************失效的身份认证和会话管理************* 2.1...

810120
来自专栏恰童鞋骚年

.NET Core微服务之基于Ocelot+IdentityServer实现统一验证与授权

  这里,假设我们有两个客户端(一个Web网站,一个移动App),他们要使用系统,需要通过API网关(这里API网关始终作为客户端的统一入口)先向Identit...

39540
来自专栏刘望舒

Android PMS的创建过程

PMS的创建过程分为两个部分进行讲解,分别是SyetemServer处理部分和PMS构造方法。其中SyetemServer处理部分和AMS和WMS的创建过程是类...

11930
来自专栏Golang语言社区

阅读源代码的姿势:以 go-restful 为例

一般初学者确定一个方向,比如web 后端、前端等,会选择一门编程语言深入下去,比如后端java、python、go等。通过项目不断练习编程语言和编程思维,知道如...

18130
来自专栏JetpropelledSnake

SNMP学习笔记之SNMP报文以及不同版本(SNMPv1、v2c、v3)的区别

本篇文章将重点分析SNMP报文,并对不同版本(SNMPv1、v2c、v3)进行区别!

43410
来自专栏张善友的专栏

HTTP Basic Authentication验证WCF Data Service

WCF Data Service是OData协议,也是RESTFul Service的一种,上篇文章已经介绍了HTTP Basic Authentication...

21680
来自专栏全栈架构

Elasticsearch Java API 搜索之Scrolls(四)

首先需要阅读 [scroll documentation](https://www.elastic.co/guide/en/elasticsearch/refe...

58140
来自专栏木制robot技术杂谈

Hexo搭建个人博客(三)—— Hexo博客的美化

通过前两节的学习,我们已经搭建好自己的博客,就像盖房子一样要对内部进行装修,也就是对博客进行美化。 ---- 安装Hexo博客主题 Hexo博客可以安装不同的...

1.5K90
来自专栏杨建荣的学习笔记

一天内碰到的3个rac节点问题 (r6笔记第36天)

说到问题,真是层出不穷,自己也算搭建了也不少的rac环境的,但是在本地试验的时候总是会碰到一些问题,昨晚铲掉旧环境,搭建了两遍rac环境,终于在凌晨搭建好了环境...

35170
来自专栏FreeBuf

远程RPC溢出EXP编写实战之MS06-040

0x01 前言 MS06-040算是个比较老的洞了,在当年影响十分之广,基本上Microsoft大部分操作系统都受到了影响,威力不亚于17年爆出的”永恒之蓝”漏...

327100

扫码关注云+社区

领取腾讯云代金券