ITPub博客

首页 > Linux操作系统 > Linux操作系统 > ORACLE手工创建数据库

ORACLE手工创建数据库

原创 Linux操作系统 作者:qianliwuer 时间:2013-07-28 16:16:55 0 删除 编辑
创建数据库的方法无非两种:
一个是使用oracle的建库工具dbca,这是一个图形界面工具,而且使用起来也方便且容易理解
另一种方法就是手工建库,这也就是我们今天要讨论的内容

手工建库比起使用dbca建库来说,是比较麻烦的,但是如果我们学好了手工建库的话,就可以使我们更好的理解oracle数据库的体系结构。
在Oracle Database Administrator's Guide中,将手工建库的步骤分为了一下几个:
Step 1: Specify an Instance Identifier (SID)
Step 2: Ensure That the Required Environment Variables Are Set
Step 3: Choose a Database Administrator Authentication Method
Step 4: Create the Initialization Parameter File
Step 5: (Windows Only) Create an Instance
Step 6: Connect to the Instance
Step 7: Create a Server Parameter File
Step 8: Start the Instance
Step 9: Issue the CREATE DATABASE Statement
Step 10: Create Additional Tablespaces
Step 11: Run Scripts to Build Data Dictionary Views
Step 12: Run Scripts to Install Additional Options (Optional)
Step 13: Back Up the Database.
Step 14: (Optional) Enable Automatic Instance Startup
其实,如果我们的标准是创建一个能够正常使用的数据库的话,我们只需要前11个步骤就足够了,不过如果希望你对新建的数据库能有更高要求的话另讲。
在本次讨论中,我们并不严格按照oracle的文档推荐的步骤来进行测试,但是大致的步骤都是相同的

本次测试环境:
操作系统:Windows 7旗舰版,32bit,4GB RAM(举例而已,其他系统同理)
Oracle数据库版本:Oracle Database 11g Enterprise Edition Release 11.1.0.6.0
实例名:TESTENV
数据文件位置:F:\oradata\TESTENV
ORACLE安装位置:E:\app\Mai\

第一步:指定一个oracle的实例标示符,即ORACLE_SID,并检查设置是否生效
set ORACLE_SID=TESTENV
或者直接在systempropertiesadvanced中的环境变量中新建oracle_sid用户变量

第二步:创建密码文件
orapwd file=E:\app\Mai\product\11.1.0\db_1\database\pwdTESTENV.ora password=oracle entries=2

第三步:创建oracle服务(仅仅在windows中需要)
oradim -new -sid TESTENV

第四步:创建必要的目录
E:\app\Mai\admin\TESTENV\adump
E:\app\Mai\admin\TESTENV\bdump
E:\app\Mai\admin\TESTENV\cdump
E:\app\Mai\admin\TESTENV\udump
E:\app\Mai\admin\TESTENV\pfile
F:\oradata\TESTENV

第五步:创建初始化参数文件
编辑一个文本文件,名称为initTESTENV.ora,内容如下:
db_name='TESTENV'
memory_target=512M
processes = 150
audit_file_dest='E:\app\Mai\admin\TESTENV\adump'
*.audit_trail='db'
core_dump_dest='E:\app\Mai\admin\TESTENV\cdump'
db_block_size=8192
db_domain=''
db_recovery_file_dest='E:\app\Mai\flash_recovery_area'
db_recovery_file_dest_size=1G
diagnostic_dest='E:\app\Mai\'
dispatchers='(PROTOCOL=TCP) (SERVICE=TESTENV)'
open_cursors=300 
remote_login_passwordfile='EXCLUSIVE'
undo_tablespace='UNDOTBS1'
control_files = ('F:\oradata\TESTENV\CONTROL01.CTL','F:\oradata\TESTENV\CONTROL02.CTL','F:\oradata\TESTENV\CONTROL03.CTL')
compatible ='11.1.0'
编辑完成后,将该文件放置到E:\app\Mai\product\11.1.0\db_1\database\目录下

第六步:启动实例
CMD> sqlplus / as sysdba
SQL> startup nomount;
SQL> create spfile from pfile;
SQL> shutdown immediate;
SQL> startup nomount;

第七步:创建数据库
编写数据库创建脚本如下:
create database TESTENV
user sys identified by oracle
user system identified by oracle
logfile
group 1 ('F:\oradata\TESTENV\redo01.log') size 50M,
group 2 ('F:\oradata\TESTENV\redo02.log') size 50M,
group 3 ('F:\oradata\TESTENV\redo03.log') size 50M
MAXLOGFILES 5
MAXLOGMEMBERS 5
MAXLOGHISTORY 1
MAXINSTANCES 1
CHARACTER SET ZHS16GBK
datafile 'F:\oradata\TESTENV\system01.dbf' size 300M reuse extent management local
sysaux datafile 'F:\oradata\TESTENV\sysaux01.dbf' size 50M
default temporary tablespace temp tempfile 'F:\oradata\TESTENV\temp01.dbf' size 20m reuse 
undo tablespace undotbs1 datafile 'F:\oradata\TESTENV\undotbs01.dbf' size 200M reuse autoextend on maxsize unlimited;
注意:
这里的undo tablespace的名字必须和你在初始化参数文件中写的名称是一致的!

第八步:执行必要的脚本来创建数据库的相关数据字典和数据库视图:
SQL> @E:\app\Mai\product\11.1.0\db_1\RDBMS\ADMIN\catalog.sql
SQL> @E:\app\Mai\product\11.1.0\db_1\RDBMS\ADMIN\catproc.sql
SQL> conn system/oracle
SQL> @E:\app\Mai\product\11.1.0\db_1\sqlplus\admin\pupbld.sql

第九步:创建系统默认表空间
SQL> create tablespace users datafile 'F:\oradata\TESTENV\users01.dbf' size 100M autoextend on next 50M;
SQL> alter database default tablespace users;

至此,手工创建数据库完成

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

下一篇: 没有了~
请登录后发表评论 登录
全部评论

注册时间:2013-06-30

  • 博文量
    29
  • 访问量
    37802