大家好,今天给大家分享下如何运用命令行的方式创建数据库,整个建库过程如下。同时附有视频教程点击这里,即可观看。
运行环境:
os:win 7
oracle:oracle11g
目的:创建数据库的方式有多重,其中最能了解和快速掌握oracle数据库结构的方式,就是不断的尝试手工建库。至于为什么,看完该篇文章,你自便知。
第一步准备工作:
操作系统正常,oracle安装包,磁盘空间够用,内存大小足够,新建的数据库命名为firstdb。
我本机电脑上安装的oracle目录如下:E:\app下
第二部开始创建必要的文件
在admin目录下新建文件名为firstdb。如下图所示:
在该firstdb目录下新建如下的文件:共7个文件 如下图所示
打开oradata目录下 新建firstdb文件,具体路径和文件如下所示:
在flash_recovery_area目录下新建文件firstdb 如下图所示:
第三步 创建初始化参数文件
这里需要指出的是,需要创建的初始化参数文件为pfile。在介绍如何创建之前,先简单提下初始化参数文件的作用。Oracle的初始化参数文件有两种,分别是:文本型参数文件pfile,二进制参数文件spfile。其实,这两者作用相同。均是存放数据库启动时需要的各项参数,如内存,存储空间分配等。
pfile文件的创建,需要从现有的pfile文件入手。
在Oracle时,系统以预装了一个SID为orcl的数据库,因此从该库中可以得到一份初始化参数文件。在路径:E:\app\admin\orcl\pfile下,现存一份初始化参数文件名为:init.ora。
创建的步骤如下:
(1) 拷贝init.ora到“E:\app\product\11.2.0\dbhome_1\database”路径下,并在更名为“initfirstdb.ora”。
(2) 编辑“initfirstdb.ora”文件。
使用文本编辑器打开该文件,内容如下。需要修改的部分,有以下两点:
db_name = FIRSTDB –指定数据库名称
control_files=(“E:\app\oradata\firstdb\control01.ctl”, “E:\app\flash_recovery_area\firstdb\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
memory_target=1146093568
#
Security and Auditing
#
audit_file_dest=E:\app\admin\orcl\adump
audit_trail=db
remote_login_passwordfile=EXCLUSIVE
#
Database Identification
#
db_domain=microsoft.com
db_name=FIRSTDB
#
File Configuration
#
control_files=(“E:\app\oradata\FIRSTDB\control01.ctl”, “E:\app\flash_recovery_area\FIRSTDB\control02.ctl”)
db_recovery_file_dest=E:\app\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=FIRSTDB
在CMD命令行中输入命令:oradim -new -sid FIRSTDB
执行到后,就可以启动该服务了,具体启动服务的过程如下。在管理工具中,找到服务,找到该创建的firstdb 右键选择启动。
第五步 创建口令文件
Oracle的口令文件的作用是存放所有以sysdba或者sysoper权限连接数据库的用户的口令。
打开CMD命令,输入命令行:
orapwd file=E:\app\product\11.2.0\dbhome_1\database\PWDTESTDB.ora password=oracle entries=2
第六步 启动数据库
完成以上前期工作后,启动实例。这里有两点需要注意:
(1) 仅启动到NOMOUNT状态。
(2)连接数据库时的dba权限
第七步 执行建库语句
在执行这里之前,一定要确定对应的磁盘空间是否足够用。否则执行会执行失败。
执行如下建库语句,创建相关数据库文件。
CREATE DATABASE FIRSTDB
USER SYS IDENTIFIED BY Scott123
USER SYSTEM IDENTIFIED BY Scott123
LOGFILE GROUP 1 ('E:\app\oradata\TESTDB\redo01.log') SIZE 150M,
GROUP 2 ('E:\app\oradata\TESTDB\redo02.log') SIZE 150M,
GROUP 3 ('E:\app\oradata\TESTDB\redo03.log') SIZE 150M
MAXINSTANCES 8
MAXLOGHISTORY 1
MAXLOGFILES 16
MAXLOGMEMBERS 3
MAXDATAFILES 100
CHARACTER SET AL32UTF8
NATIONAL CHARACTER SET AL16UTF16
DATAFILE 'E:\app\oradata\mydb\SYSTEM01.DBF' SIZE 350M REUSE
EXTENT MANAGEMENT LOCAL
SYSAUX DATAFILE 'E:\app\oradata\FIRSTDB\SYSAUX01.DBF' SIZE 350M REUSE
DEFAULT TEMPORARY TABLESPACE TEMP
TEMPFILE 'E:\app\oradata\FIRSTDB\TEMP01.DBF' SIZE 20480K REUSE AUTOEXTEND ON NEXT 640K MAXSIZE UNLIMITED
UNDO TABLESPACE UNDOTBS1
DATAFILE 'E:\app\oradata\FIRSTDB\undotbs01.dbf' SIZE 200M REUSE AUTOEXTEND ON MAXSIZE UNLIMITED;
以上语句可以拷贝到CMD命令行执行,也可以复制到文本文件中用@执行。
第八步、执行catalog脚步本创建数据字典
在CMD命令行下执行:@E:\app\product\11.2.0\dbhome_1\RDBMS\ADMIN\catalog.sql
第九步、执行catproc创建package包
在CMD命令行下执行:@E:\app\product\11.2.0\dbhome_1\RDBMS\ADMIN\catproc.sql
第十步、执行pupbld
在执行pupbld前,先将用户切换为system。
如下图所示
第十一步 由pfile创建spfile
由sys用户登录,执行命令 create spfile from pfile
第十二步 执行scott脚本创建scott模式
具体命令行如下
在CMD命令行中输入:@E:\app\product\11.2.0\dbhome_1\RDBMS\ADMIN\scott.sql
第十三步 把数据库启动到正常状态
A、验证数据库是否创建成功
B、如有在创建过程中,有不合适的参数,可在修改数据库环节,对其修改。
C、至此整个建库过程就完毕了。