Windows下Oracle11g手动建库

Source

Windows下Oracle11g手动建库

转载

个人分类: 数据库

WindowsOracle11g手动建库

在项目过程中,难免会遇到需要手动建库的情况。而本文主要介绍在常见的Windows环境下,如何手动建库。 
环境介绍: 
操作系统: Windows7 64位 
数据库版本:Oracle 11gR2 
下面,以建SID为TESTDB的数据库为例,介绍手动建库的每个环节。

一、创建必备的文件路径

以本机为例,本机的Oracle根路径为:E:\app\SANMSUNG。新库创建时,为了方便管理,相关路径也建在同级路径下。 
根路径 
(1) 在admin路径下创建TESTDB文件夹 
这里写图片描述 
在TESTDB文件夹下创建一下子文件夹 
这里写图片描述 
下面介绍下这几个文件路径的作用。 
adump:存放审计信息 
bdump:bdump目录存放的是数据库动行过程中的各个后台进程的跟踪信息,当中alert文件是警告文件,其文件名称为alert_book.log,当数据库出现问题时,首先就可以去查看此文件以找出原因,手工创建过程中出现的各种问题往往也可以通过查看这个文件找到原因。 
cdump:数据库遇到异常时用于存放异常信息。 
create:不详 
pfile:存放初始化参数文件。 
scripts:不详 
udump:放置sql trace之后的session的trace文件。 
(2) 在oradata文件夹下创建TESTDB文件夹 
oradata文件夹下文件路径 
(3)在flash_recovery_area文件夹下创建TESDB文件夹 
这里写图片描述

二、创建初始化参数文件

这里需要指出的是,需要创建的初始化参数文件为pfile。在介绍如何创建之前,先简单提下初始化参数文件的作用。Oracle的初始化参数文件有两种,分别是:文本型参数文件pfile,二进制参数文件spfile。其实,这两者作用相同。均是存放数据库启动时需要的各项参数,如内存,存储空间分配等。 
pfile文件的创建,需要从现有的pfile文件入手。 
在Oracle时,系统以预装了一个SID为orcl的数据库,因此从该库中可以得到一份初始化参数文件。在路径:E:\app\SANMSUNG\admin\orcl\pfile下,现存一份初始化参数文件名为:init.ora。 
创建的步骤如下: 
(1) 拷贝init.ora到“E:\app\SANMSUNG\product\11.2.0\dbhome_1\database”路径下,并在更名为“initTESTDB.ora”。 
(2) 编辑“initTESTDB.ora”文件。 
使用文本编辑器打开该文件,内容如下。需要修改的部分,有以下两点: 
db_name = TESTDB –指定数据库名称 
control_files=(“E:\app\SANMSUNG\oradata\TESTDB\control01.ctl”, “E:\app\SANMSUNG\flash_recovery_area\TESTDB\control02.ctl”) 
– 指定控制文件的完整路径,注意该文件现并未被创建。

#

Copyright (c) 1991, 2001, 2002 by Oracle Corporation

#

#

Shared Server

#

dispatchers=”(PROTOCOL=TCP) (SERVICE=orclXDB)”

#

Miscellaneous

#

compatible=11.2.0.0.0 
diagnostic_dest=E:\app\SANMSUNG 
memory_target=1146093568

#

Security and Auditing

#

audit_file_dest=E:\app\SANMSUNG\admin\orcl\adump 
audit_trail=db 
remote_login_passwordfile=EXCLUSIVE

#

Database Identification

#

db_domain=microsoft.com 
db_name=TESTDB

#

File Configuration

#

control_files=(“E:\app\SANMSUNG\oradata\TESTDB\control01.ctl”, “E:\app\SANMSUNG\flash_recovery_area\TESTDB\control02.ctl”) 
db_recovery_file_dest=E:\app\SANMSUNG\flash_recovery_area 
db_recovery_file_dest_size=4039114752

#

Cursors and Library Cache

#

open_cursors=300

#

System Managed Undo and Rollback Segments

#

undo_tablespace=UNDOTBS1

#

Processes and Sessions

#

processes=150

#

Cache and I/O

#

db_block_size=8192

以上初始化参数文件即算创建完毕。如果部分参数不合时宜,则可待建库完毕后再行修改。

三、设置Oracle启动的实例名称

打开CMD命令,输入命令:set ORACLE_SID=TESTDB 
这里写图片描述

四、创建数据库实例

在CMD命令行中输入命令:oradim -new -sid TESTDB 
这里写图片描述 
执行完毕后,打开系统服务可查询到所创建的TESTDB数据库服务。 
这里写图片描述

五、创建口令文件

Oracle的口令文件的作用是存放所有以sysdba或者sysoper权限连接数据库的用户的口令。 
打开CMD命令,输入命令行: 
orapwd file=E:\app\SANMSUNG\product\11.2.0\dbhome_1\database\PWDTESTDB.ora password=oracle entries=2 
这里写图片描述 
注意,entries参数指定数据库拥用DBA权限的用户的个数,该参数可由用户指定。

六、启动数据库

完成以上前期工作后,启动实例。这里有两点需要注意: 
(1) 仅启动到NOMOUNT状态。 
(2)连接数据库时的dba权限 
这里写图片描述

七、执行建库语句

执行如下建库语句,创建相关数据库文件。 
CREATE DATABASE TESTDB 
USER SYS IDENTIFIED BY oracle 
USER SYSTEM IDENTIFIED BY oracle 
LOGFILE GROUP 1 (‘E:\app\SANMSUNG\oradata\TESTDB\redo01.log’) SIZE 100M, 
GROUP 2 (‘E:\app\SANMSUNG\oradata\TESTDB\redo02.log’) SIZE 100M, 
GROUP 3 (‘E:\app\SANMSUNG\oradata\TESTDB\redo03.log’) SIZE 100M 
MAXINSTANCES 8 
MAXLOGHISTORY 1 
MAXLOGFILES 16 
MAXLOGMEMBERS 3 
MAXDATAFILES 100 
CHARACTER SET AL32UTF8 
NATIONAL CHARACTER SET AL16UTF16 
DATAFILE ‘E:\app\SANMSUNG\oradata\mydb\SYSTEM01.DBF’ SIZE 325M REUSE 
EXTENT MANAGEMENT LOCAL 
SYSAUX DATAFILE ‘E:\app\SANMSUNG\oradata\TESTDB\SYSAUX01.DBF’ SIZE 325M REUSE 
DEFAULT TEMPORARY TABLESPACE TEMP 
TEMPFILE ‘E:\app\SANMSUNG\oradata\TESTDB\TEMP01.DBF’ SIZE 20480K REUSE AUTOEXTEND ON NEXT 640K MAXSIZE UNLIMITED 
UNDO TABLESPACE UNDOTBS1 
DATAFILE ‘E:\app\SANMSUNG\oradata\TESTDB\undotbs01.dbf’ SIZE 200M REUSE AUTOEXTEND ON MAXSIZE UNLIMITED; 
以上语句可以拷贝到CMD命令行执行,也可以复制到文本文件中用@执行。 
这里写图片描述

八、执行catalog脚步本创建数据字典

在CMD命令行下执行:@E:\app\SANMSUNG\product\11.2.0\dbhome_1\RDBMS\ADMIN\catalog.sql

九、执行catproc创建package包

在CMD命令行下执行:@E:\app\SANMSUNG\product\11.2.0\dbhome_1\RDBMS\ADMIN\catproc.sql

十、执行pupbld

在执行pupbld前,先将用户切换为system。 
这里写图片描述

十一、由pfile创建spfile

spfile的创建需要dba权限。 
这里写图片描述

十二、执行scott脚本创建scott模式

这个环节可以省去,当然如果需要练习环境则这个环节最好不要省去。 
在CMD命令行中输入:@E:\app\SANMSUNG\product\11.2.0\dbhome_1\RDBMS\ADMIN\scott.sql

十三、把数据库打开到正常状态

重启数据库并验证是否建库成功。 
完成验证

结语

以上便完成了windows下的oracle手动建库