【实验前必知的信息】
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='www.globalname02.com'
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