手动创建ORACLE数据库

Posted on 2012-12-20 11:44  bingfeng  阅读(4571)  评论(0编辑  收藏  举报

创建数据库前,要做的工作:

   1.收集要设置的ORACLE_HOME路径 ORACLE_SID

  2.创建数据库需要的目录

按照下面的步骤创建:(以AIX系统为例,Linux差不多,但有些文件的路径和文件名不一样)

   1.编辑系统参数文件(AIX系统参数文件:.profile)  :vi .profile文件  若是以前已添加过数据库的,则只需修改下ORACLE_SID=sg186fx(以我创建的数据库名为例);若是没有添加过关于数据的参数,则需要添加ORACLE_HOME,ORACLE_BASE等的路径。

我的“.profile”文件中设置的路径:

ORACLE_BASE=/oracle;export ORACLE_BASE
ORACLE_HOME=/oracle/product/10.2.0/db_1; export ORACLE_HOME
#ORA_CRS_HOME=/oracle/product/10.2.0/crs;  export ORA_CRS_HOME
SHLIB_PATH=$ORACLE_HOME/lib:$ORACLE_HOME/rdbms/lib:$SHLIB_PATH
export SHLIB_PATH
LIBPATH=$ORACLE_HOME/lib:$ORACLE_HOME/rdbms/lib:$LIBPATH
export LIBPATH
PATH=$ORACLE_HOME/bin:$ORA_CRS_HOME/bin:$PATH:/oradata/quest/splex/bin; export PATH
export ORACLE_SID=sg186fx(这是在创建多个数据库,启动不同数据实例时需要修改的地方)

2.修改完系统参数文件,可以退出登录,重新登录进来就可以生效了,或者使用“export ORACLE_SID=sg186fx”在当前会话中生效。

3.创建数据库需要的目录

      创建目录脚本:

                       su – oracle

                        cd /oradata

                         rm –rf sg186fx

                         mkdir sg186fx

                        cd /oracle/admin

                         rm –rf sg186fx

                        mkdir sg186fx

                        cd sg186fx

                        mkdir adump bdump cdump dpdump udump pfile

这个脚本可以不断进行测试创建数据库目录的时候使用。

4.创建oracle的启动参数文件——pfile或spfile

db_cache_size=4026531840
java_pool_size=16777216
large_pool_size=16777216
shared_pool_size=855638016
streams_pool_size=0
audit_file_dest='/oracle/admin/sg186fx/adump'
background_dump_dest='/oracle/admin/sg186fx/bdump'
compatible='10.2.0.2.0'
control_files='/oradata/sg186fx/control01.ctl','/oradata/sg186fx/control02.ctl','/oradata/sg186fx/control03.ctl'
core_dump_dest='/oracle/admin/sg186fx/cdump'
db_block_size=8192
db_domain=''
db_file_multiblock_read_count=16
db_name='sg186fx'
dispatchers='(PROTOCOL=TCP) (SERVICE=sg186fxdb)'
job_queue_processes=10
open_cursors=300
pga_aggregate_target=1639972864
processes=250
remote_login_passwordfile='EXCLUSIVE'
sessions=280
sga_target=4920967168
undo_management='AUTO'
undo_tablespace='UNDOTBS1'
user_dump_dest='/oracle/admin/sg186fx/udump'

使用上面设置的参数文件创建pfile的文件名问initsg186fx.ora

5.创建密码文件

orapwd file=’orapwd$ORACLE_SID’ password=sys entries=20 force=y

file的参数需要指定路径的,他的创建位置应该在$ORACLE_HOME/dbs中,若是在当前目录下创建就不需要写上路径了。

password设置是数据库的sys用户的密码。

entries:DBA和操作员的最大用户数

force=y 等号中间不能有空格的,这是表示存在该文件则进行强制重写。

6.编写创建数据库脚本(非常重要的一步)

创建脚本请看脚本代码

查看创建数据库的必备的参数模板

在这个创建数据库脚本编写中可能会出现需要错误,将会在下篇重点分析,我在创建的过程中,出现过很多错误。

7.使用命令登录:

sqlplus /nolog

         connect / as sysdba(注意:在这一步连接的时候,数据库要创建一些跟踪文件:alert文件等,若是在第三步创建目录的时候使用的不是oracle用户角色创建的用户,则在这一步登录的时候,由于权限不够会出现错误:ORA-09925:Unable to create audit trail file,此时需要去检查下手动创建的目录的权限对不对)

      startup nomount pfile=’$ORACLE_HOME/dbs/initsg186fx.ora’  这一步启动数据库只加载启动参数文件的状态,并没有装载控制文件和数据文件

    @/createdatabase.sql    执行创建数据库脚本。

这一步很容易出错,出现最多的是:

2

alert日志显示的错误信息:

3

这个错误提示看不出有什么错误,因为他只是说脚本有错误,导致实例强制被终止。虽然报这个错误,但其他的文件将会正常的被创建,数据库还是不能运行的。所以要排除这个错误,重新创建数据库。必须去看alert日志来看哪个地方出现的错误。(我建议,在执行创建脚本的时候,重新打开一个窗口来监控alert日志,跟踪创建过程,很容易发现哪句话出现的错误。)

8.创建 user表空间和索引表空间

9 若创建没有出现错误,则可以执行rdbms里面的一些创建数据字典的脚本

    @?/rdbms/admin/catalog.sql

   @?/rdbms/admin/catproc.sql

    @?/rdbms/admin/catexp.sql

 10.重启数据库。

  到此,数据库的基本创建工作完成。

简单的数据库建成后,如果需要使用全文检索功能,则还需要执行几个脚本。

请查看:全文检索配置方法

若想了解各种oracle自带的脚本,根据需要执行哪些脚本,请查看:oralce自带脚本说明

Copyright © 2024 bingfeng
Powered by .NET 8.0 on Kubernetes