ITPub博客

首页 > Linux操作系统 > Linux操作系统 > “手工”创建Oracle数据库

“手工”创建Oracle数据库

原创 Linux操作系统 作者:zjrodger 时间:2013-05-23 02:36:49 0 删除 编辑

【实验前必知的信息】

1. 平台环境:CentOS5.5 + Oracle 11g R2

2. 新数据库名:orcl02

新实例名:Instance02

$ORACLE_BASE=/u01

$ORACLE_HOME=/u01/oracle

 

 

【手工创建数据库的具体步骤】

【第一部分:相关文件和变量的准备】

Step 1:  设置SID,假设为Instance02。

Step 2:  设置环境变量:$ORACLE_BASE, $ORACLE_HOME, $ORACLE_SID, $PATH,

$SHARED_LIBRARY_PATH。别忘记export 这些环境变量。

可以将这些信息存储在“SetInstance02EnvVar.env”文件中,可以将该文件放在

“$ORACLE_HOME/dbs/”目录下。

 

如何使“SetInstance02EnvVar.env”文件中的新的环境变量生效,可用如下命令:

[oracle@localhost-oracle11gR2 dbs] $ . ./ SetInstance02EnvVar.env

注意:“.”和“./ SetInstance02EnvVar.env”文件之间一定要有“空格”。

 

Step 3:  创建spfile初始化参数文件spfileInstance02.ora。

1.       先编辑文本初始化参数文件initInstance02.ora。

2.       再根据“文本初始化参数文件”创建“服务器参数文件spfileInstance02.ora”

命令:SQL > create spfile from pfile

注意:

在创建pfile初始化参数文件之前,要根据参数文件中指定的信息创建一些目录,要创建好新的目录有(至少如下3个):

①控制文件目录:“/u01/oradata/orcl02/”

②审计文件目录:/u01/admin/orcl02/

③闪回文件目录:/u01/flash_recovery_area/orcl02

 

Step 4:  创建口令文件orapwdInstance02。

              创建口令文件的命令:

[oracle@localhost-oracle11gR2 ~] $ orapwd file=orapwInstance02 password=zjrodger

entries=10

Step 5:  创建create database脚本文件createDatabaseScripts.sql。

        [自己的试验脚本见下边参考资料]

        在编辑CREATE DATABASE脚本文件时,注意的事项:

①     CREATE DATABASE命令中的每个“option”之间不能有“空行”,比如选项USER SYS和USER SYSTEM之间不能有空行,选项USER SYSTEM和LOGFILE之间不能有空行,

②     如果设置了MAXINSTANCES参数,则MAXLOGFILES参数的值至少一定要是MAXINSTANCES参数的值得2倍。

③     在编辑UNDO表空间时,undo表空间的名字必须为“undotbs1”,而不能是“undotbs01”或其他自定义的值。

 

 

 

【第二部分:开始创建新数据库(裸数据库)】

Step 6:  以sys身份连接到sqlplus中。

Step 7:  启动实例到nomount状态。

具体命令:SQL > startup nomount;

Step 8:  创建数据库,执行创建数据库的脚本文件——createDatabaseScripts.sql。

              具体命令:SQL > @$ORACLE_HOME/dbs/ createDatabaseScripts.sql;

              如果创建成功,将会提示“Database Created”。            

 

              注意:创建数据库的过程耗时较长,可以使用tail命令来同步观察创建时的相关信

息的更新。

[oracle@localhost-oracle11gR2 ~] $ tail –f /u01/admin/orcl02(或

Instance02)/bdump/alert_Instance02.log

 

 

【第三部分:创建数据字典, 必要的表空间等】

(

·Run Scripts to generate data-dictionary and accomplish post-creation steps

·Create additional tablespaces as needed

)

 

Step 9:  创建额外的表空间Create Additional Tablespaces。

              将自己用到的数据(应用程序的数据)存储在这些额外表空间中,就避免了将数据存放在系统表空间中,从而方便了数据库自身的数据管理。

 

CREATE TABLESPACE mytbs01 DATAFILE ‘/u01/oradata/orcl02/mytbs01.dbf’ SIZE 100M EXTENT MANAGEMENT LOCAL

 

 

 

Step 10: 运行相关脚本文件,创建数据字典视图。

        ( Run Scripts to build Data Dictionary View)            

[oracle@localhost-oracle11gR2 ~] $ @$ORACLE_HOME/rdbms/admin/catalog.sql

[oracle@localhost-oracle11gR2 ~] $ @$ORACLE_HOME/rdbms/admin/catproc.sql

[oracle@localhost-oracle11gR2 ~] $ @$ORACLE_HOME/sqlplus/admin/pupbld.sql

               

              注意:

①     Oracle的SQL脚本文件有很多,但是以上3个脚本文件必须被执行。

第一个脚本文件catalog.sql的作用: Creates the views of the data dictionary tables, the dynamic performance views, and public synonyms for many of the views. Grants PUBLIC access to the synonyms

第二个脚本文件catproc.sql的作用:Runs all scripts required for or used with PL/SQL.

第三个脚本文件pupbld.sql的作用:Required for SQL*Plus. Enables SQL*Plus to disable commands by user

 

②     关于更多Oracle SQL脚本文件的信息,参考官方文档中相关资料——

“ Database Reference”中“SQL Scripts”的“Creating the Data Dictionary”

③     在执行脚本的过程中会产生大量的信息,用“SPOOL data_dic_createing_log.log”命令将信息导入到data_dic_createing_log.log文件中,如此,便于出错时查询。

 

【参考资料】

① 官方文档的相关链接

具体参考“11gR2官方文档”中——《Database Administrator's Guide》的第二章“2 Creating and Configuring an Oracle Database”——“Creating a Database with the CREATE DATABASE Statemen”

 

 

②【创建数据库的脚本文件】——create_db_orcl02.sql

  1 spool ./db_create_log.log;

  2

  3 CREATE DATABASE "orcl02"

  4     USER SYS IDENTIFIED BY zjrodger

  5     USER SYSTEM IDENTIFIED BY zjrodger

  6     LOGFILE

  7     GROUP 1 ('/u01/oradata/orcl02/redo01.log') SIZE 100M BLOCKSIZE 512,

  8     GROUP 2 ('/u01/oradata/orcl02/redo02.log') SIZE 100M BLOCKSIZE 512

  9     MAXLOGFILES 5

 10     MAXLOGMEMBERS 5

 11     MAXLOGHISTORY 1

 12     MAXDATAFILES 100

 13     CHARACTER SET US7ASCII

 14     NATIONAL CHARACTER SET AL16UTF16

 15     EXTENT MANAGEMENT LOCAL

 16     DATAFILE '/u01/oradata/orcl02/system01.dbf' SIZE 325M REUSE

 17     SYSAUX DATAFILE '/u01/oradata/orcl02/sysaux01.dbf' SIZE 325M REUSE

 18     DEFAULT TABLESPACE users

 19            DATAFILE '/u01/oradata/orcl02/users01.dbf'

 20            SIZE 500M REUSE AUTOEXTEND ON MAXSIZE UNLIMITED

 21     DEFAULT TEMPORARY TABLESPACE tempts1

 22            TEMPFILE '/u01/oradata/orcl02/temp01.dbf'

 23            SIZE 20M REUSE

 24     UNDO TABLESPACE "undotbs1"

 25            DATAFILE '/u01/oradata/orcl02/undotbs01.dbf'

 26            SIZE 200M REUSE AUTOEXTEND ON MAXSIZE UNLIMITED;

 27

 28 spool off;

 

 

 

③【文本初始化参数文件】——initInstance02.ora

 1 Instance02.__db_cache_size=209715200

 2 Instance02.__java_pool_size=4194304

 3 Instance02.__large_pool_size=4194304

 4 Instance02.__oracle_base='/u01' #ORACLE_BASE are set from environment

 5 Instance02.__pga_aggregate_target=251658240

 6 Instance02.__sga_target=373293056

 7 Instance02.__shared_io_pool_size=0

 8 Instance02.__shared_pool_size=146800640

 9 Instance02.__streams_pool_size=0

 10 *.audit_file_dest='/u01/admin/orcl02/adump'

 11 *.audit_trail='db'

 12 *.compatible='11.2.0.0.0'

13*.control_files='/u01/oradata/orcl02/control01.ctl','/u01/oradata/orcl02/con    trol02.ctl'

 14 *.db_block_size=8192

 15 *.db_domain=''

 16 *.db_name='orcl02'

 17 *.db_recovery_file_dest='/u01/flash_recovery_area'

 18 *.db_recovery_file_dest_size=4039114752

 19 *.diagnostic_dest='/u01'

 20 *.dispatchers='(PROTOCOL=TCP) (SERVICE=Instance02XDB)'

 21 *.memory_target=624951296

 22 *.open_cursors=300

 23 *.processes=150

 24 *.remote_login_passwordfile='EXCLUSIVE'

 25 *.undo_tablespace='UNDOTBS1'

 

 

读者如要转载,请标明出处和作者名,谢谢。

地址:http://space.itpub.net/25851087

作者名:zjrodger

来自 “ ITPUB博客 ” ,链接:https://blog.itpub.net/25851087/viewspace-761799/ ,如需转载,请注明出处,否则将追究法律责任。

请登录后发表评论 登录
全部评论

注册时间:2013-04-14

  • 博文量
    42
  • 访问量
    560105