【DB笔试面试852】在Oracle中,什么是静默建库?

时间:2022-07-22
本文章向大家介绍【DB笔试面试852】在Oracle中,什么是静默建库?,主要内容包括其使用实例、应用技巧、基本知识点总结和需要注意事项,具有一定的参考价值,需要的朋友可以参考一下。

问题

在Oracle中,什么是静默建库?

答案

采用DBCA(DataBase Configuration Assistant,数据库配置助手)的silent模式可以快速创建一个数据库。silent模式采用命令行方式一次将所有信息提供给DBCA完成数据库的建立,在建立过程中不存在交互的情况,所有的信息、错误和告警都写到日志文件中,只在结束时屏幕上打印出日志文件的位置。

Oracle 11g静默建库脚本如下所示:

dbca -silent -createDatabase -templateName General_Purpose.dbc -responseFile NO_VALUE 
-gdbname mydb  -sid mydb 
-sysPassword oracle -systemPassword oracle 
-datafileDestination 'DATA/' -recoveryAreaDestination 'FRA/' 
-redoLogFileSize 50 
-storageType ASM -asmsnmpPassword oracle -diskGroupName 'DATA' 
-characterset AL32UTF8 -nationalCharacterSet AL16UTF16 
-sampleSchema true 
-automaticMemoryManagement true -totalMemory 2048 
-databaseType OLTP 
-emConfiguration NONE 
-nodeinfo NODE1,NODE2

其中,每个参数的含义如下所示:

l gdbname:全局数据库名

l sid:数据库SID,sid和gdbname保持一致

l sysPassword:数据库sys密码

l systemPassword:数据库system密码

l sysmanPassword:数据库sysman密码

l datafileDestination:数据库数据文件的位置,若是磁盘组则写磁盘组名,例如:'DATA/',若是文件系统就写具体路径,例如:'/u01/app/oracle',需要注意的是,由于数据文件路径会自动加上数据库名,所以,这里不用加数据库名

l recoveryAreaDestination:闪回恢复区的位置,该值一般和datafileDestination保持一致

l redoLogFileSize:数据库Redo文件的大小

l emConfiguration:数据库管理方式,是本地管理还是使用Grid Control进行管理,一般设置为NONE

l storageType 存储方式,若是磁盘组则为ASM,若是文件系统则为FS,当取值为FS的时候,应该去掉asmsnmpPassword和diskGroupName参数

l diskGroupName:存放数据库文件的磁盘组名称,注意此处不加“+”

l nodeinfo:安装数据库的节点信息,若是RAC库则必须使用该参数,该参数的值为主机名列表,中间用逗号隔开

l characterset:数据库字符集,一般为AL32UTF8或ZHS16GBK

l nationalCharacterSet:国家字符集,一般为AL16UTF16

l automaticMemoryManagement:是否开启AMM(Automatic Memory Management,自动管理内存),Oracle 11g可以选择true;Oracle 10g需要删除该参数

l totalMemory:Oracle 11g代表数据库占用内存大小,单位为MB,例如2048代表2GB;Oracle 10g用memoryPercentage参数,代表数据库占用OS内存大小的百分比

l sampleSchema:是否安装用于学习实验的示例数据,测试库选择true,生产库选择false

在以上命令中需要注意的是,每个正斜杠“”的后面不能有空格,否则不能执行。当然,也可以去掉该斜杠,让所有参数保持在一行上。

在静默建库时产生的日志文件路径:

l Oracle 11g:$ORACLE_BASE/cfgtoollogs/dbca

l Oracle 10g:$ORACLE_HOME/cfgtoollogs/dbca

静默建库创建的数据库默认为非归档模式,所以,需要修改文件:$ORACLE_HOME/assistants/dbca/templates/General_Purpose.dbc,将该文件里边的参数“<archiveLogMode>false</archiveLogMode>”修改为“<archiveLogMode>true</archiveLogMode>”即可。这样,以后每次静默创建的数据库都是归档模式了。

静默建库常见的错误处理办法如下表所示:

& 说明:

有关静默建库的更多内容可以参考我的BLOG:http://blog.itpub.net/26736162/viewspace-2057286/,http://blog.itpub.net/26736162/viewspace-2057270/,http://blog.itpub.net/26736162/viewspace-1589769/,http://blog.itpub.net/26736162/viewspace-1586352/,http://blog.itpub.net/26736162/viewspace-1585925/,http://blog.itpub.net/26736162/viewspace-1448220/,http://blog.itpub.net/26736162/viewspace-2121863/,http://blog.itpub.net/26736162/viewspace-2114484/

本文选自《Oracle程序员面试笔试宝典》,作者:小麦苗

DB宝分享的IT资料:https://mp.weixin.qq.com/s/Iwsy-zkzwgs8nYkcMz29ag

● 本文作者:小麦苗,只专注于数据库的技术,更注重技术的运用

● 作者博客地址:http://blog.itpub.net/26736162/abstract/1/

● 本系列题目来源于作者的学习笔记,部分整理自网络,若有侵权或不当之处还请谅解

● 版权所有,欢迎分享本文,转载请保留出处