关于Oracle手工建库的小实验
我对于手工建库的理解:它脚本化,可根据需求或者自己的规划编写成脚本执行,等着它Database created就好了,其他执行一些管理数据库的脚本,再做一些优化,就可以使用了,方便省事,也提高的速度。其实俺不会纸上谈兵,由于肚子笔墨少点,只能试着去理解一下。
注:一下图中官网截图均出自《Oracle? Database SQL Reference 10g Release 2 (10.2) Part Number B14200-02》,具体参数信息及说明请参考该官方文档。
1、根据官网给出脚本,完全执行,脚本如下
如下图所示,数据库已创建完成,查看表空间即数据文件信息,临时表空间木有截图
2、 将创建用户语句注释,执行
如下图,数据库已创建,创建数据库时数据库会自动创建sys/system两个用户并根据系统环境设置密码,sys/system密码需重新设置才可用数据库密码登录。
如下图所示,数据库已创建完成,表空间数据库自动创建完成,默认路径为ORACLE_HOME/dbs目录
下图为创建数据库后的控制文件信息及创建数据库信息
4、 将除系统默认表空间(system)之外其他表空间创建信息注释,脚本如下:
如上图所示创建时报错,如果指定SYSTEM表空间,必须指定一个临时表空间,UNDO原因一样。如下图所示:
注释掉SYSAUX及UNDO表空间语句
5、将创建SYSAUX语句注释,脚本如下
如上图所示,创建失败(无SYSAUX),关于SYSAUX说明如下:
6、将参数MAXLOGFILES 注释,语句如下,并执行
如以下两图,添加日志组时无提示无报错,但查看,添加不成功,上日志组成员中添加成员成功。
7、将MAXLOGMEMBERS语句注释,并执行。如下图
如下图所示,此参数(MAXLOGMEMBERS)的默认值为5
8、将MAXDATAFILES 注释,执行一下脚本
有一下两图可得知,MAXDATAFILES为控制文件记录数据文件个数的最大值,其真正限制数据文件创建的是参数文件中DB_FILES,建议创建数据库时MAXDATAFILES大于等于DB_FILES。
9、将创建脚本中指定字符集注释,执行一下脚本:
通过查看,语言根据操作系统语言环境默认设置,数据库字符集默认为US7ASC11
10、直接执行CREATE DATABASE PROD 语句,查看创建效果
如上图所示,缺省创建数据库中数据文件、日志文件存放在$ORACLE_HOME/dbs目录下,没创建临时表空间
下图为DBCA图形化创建后,可以看出几个默认参数文件值略有不同(下图为归档模式),控制文件及创建数据库的信息:
小结:单实例情况下(相对于单实例,RAC环境就复杂了,另作讨论),手工建库是个不错的选择,如果我们只是为了单纯的比拼速度或者想用做一个简单的测试,那么执行一条CREATE DATABASE DB_NAME 就OK了,如果系统性能不错说不定能秒杀。如果要创建真正属于自己的数据库,就需要下点功夫看看建库参数作用、相关性及冲突,学习它,并战胜它。
来自 “ ITPUB博客 ” ,链接:http://blog.itpub.net/29487349/viewspace-1097308/,如需转载,请注明出处,否则将追究法律责任。
转载于:http://blog.itpub.net/29487349/viewspace-1097308/