Oracle手动创建数据库是本文介绍的重点,希望通过本文能帮助大家更好的利用Oracle。也向您推荐《Oracle数据库调试与性能优化》专题。

创新互联云计算的互联网服务提供商,拥有超过13年的服务器租用、温江服务器租用、云服务器、虚拟空间、网站系统开发经验,已先后获得国家工业和信息化部颁发的互联网数据中心业务许可证。专业提供云主机、虚拟空间、域名注册、VPS主机、云服务器、香港云服务器、免备案服务器等。
Oracle除自带的DBCA可以创建数据库以为,还有另外一种创建方法,就是Oracle手动创建数据库,也是作为DBA人员必须要掌握的。下面就介绍一下手动创建数据库的步骤:
手动创建数据库通常包含如下操作步骤:
1、确定新建数据库名称和实例名称;
2、确定数据库管理员的认证方式;
3、创建初始化参数文件;
4、创建实例;
5、连接并启动实例;
6、使用create database语句创建数据库;
7、创建附加的表空间;
8、运行脚本创建数据字典视图;
下面以创建一个名为“MYNEWDB”的数据库为例
1、确定数据库名称与实例名称;
- DB_NAME=MYNEWDB
 - SID=MYNEWDB
 
2、确定数据库管理员的认证方式;
管理员的认证方式包括操作系统认证和口令认证两种,本例采用操作系统认证
3、创建初始化参数文件;
Oracle提供的初始化参数样本文件位于$ORACLE_HOME\admin\sample\pfile目录中的initsmpl.ora
我们采用修改样本的方式,创建参数文件名为:initMYNEWDB.ora,存放在D:\oracle\ora92
\database\initMYNEWDB.ora,主要内容设置如下:
#共享服务器设置
- dispatchers="(PROTOCOL=TCP)(SERVICE=MYNEWDBXDB)
 
#数据库实例名设置
- instance=MYNEWDB
 
#安全与审计设置
- remote_login_passwordfile=EXCLUSIVE
 
#排序区大小设置
- pga_aggregate_target=25165824
 - sort_area_size=524288
 
#全局数据库名设置
- db_domain=""
 - db_name=MYNEWDB
 
#控制文件设置
- control_files=("D:\oracle\oradata\MYNEWDB\CONTROL01.CTL",
 - "D:\oracle\oradata\MYNEWDB\CONTROL02.CTL",
 - "D:\oracle\oradata\MYNEWDB\CONTROL03.CTL")
 
#SGA区设置
- java_pool_size =33554432
 - large_pool_size=8388608
 - shared_pool_size=50331648
 
#游标与库缓存设置
- open_cursors=300
 
#回退段和撤销表空间设置
- undo_management=AUTO
 - undo_retention=10800
 - undo_tablespace=UNDOTBS
 
#诊断与跟踪信息设置
- background_dump_dest=D:\oracle\admin\MYNEWDB\bdump
 - core_dump_dest=D:\oracle\admin\MYNEWDB\cdump
 - timed_statistics=TRUE
 - user_dump_dest=D:\oracle\admin\MYNEWDB\udump
 
#用户进程设置
processes=150
#缓冲区与数据库大小设置
- db_block_size=8192
 - db_cache_size=25165824
 - db_file_multiblock_read_count=16
 
4、创建实例
选择“程序-->运行”,输入“cmd”命令,打开DOS界面
(1)将环境变量ORACLE_SID设置为“MYNEWDB”
C:\SET ORACLE_SID=MYNEWDB
(2)利用ORADIM命令创建MYNEWDB数据库
C:\ORADMIN -NEW -SID MYNEWDB -INTPWD MYNEWDB -STARTMODE MANUAL -PFILE D:\oracle\ora92
\database
注意:ORADMIN是Oracle提供的一个对实例进行管理的工具,可以创建、修改、删除、启动和关闭一个
实例,执行C:\ORADMIN HELP命令可以查看该命令的使用情况
5、连接并启动实例
- C:\sqlplus /nolog
 - SQL>connect sys/mynewdb as sysdba;
 - SQL>startup nomount;
 
6、使用create database 语句创建数据库
- SQL>CREATE DATABASE MYNEWDB
 - MAXINSTANCES 1
 - MAXLOGHISTORY 1
 - MAXLOGFILES 5
 - MAXLOGMEMBERS 5
 - MAXDATAFILES 100
 - DATAFILE 'D:\oracle\oradata\mynewdb\system.dbf' size 50M
 - UNDO TABLESPACE undotbs DATAFILE 'D:\oracle\oradata\mynewdb\undotbs.dbf' size 50M
 - AUTOEXTEND ON NEXT 5120K MAXSIZE UNLIMITED
 - DEFAULT TEMPORARY TABLESPACE tempts
 - CHARACTER SET US7ASCII
 - NATIONAL CHARACTER SET AL16UTF16
 - LOGFILE GROUP 1 ('D:\oracle\oradata\mynewdb\redo01.log') size 100M,
 - GROUP 2 ('D:\oracle\oradata\mynewdb\redo02.log') size 100M,
 - GROUP 3 ('D:\oracle\oradata\mynewdb\redo03.log') size 100M;
 
在执行create database 语句的同时,自动执行$ORACLE_HOME\rdbms\admin\sql.bsq脚本,创建SYSTEM表空间和SYSTEM回退段、建立SYS和SYSTEM账号、建立数据字典基础表、建立数据字典索引、创建预定义角色等。
7、创建附加的表空间
用create database语句创建的数据库中只有SYSTEM、UNDOTBS和TEMPTBS三个表空间,还需要创建其他
一些额外的表空间
- SQL>create tablespace users
 - datafile 'd:\oracle\oradata\mynewdb\users01.dbf' size 100M
 - reuse autoextend on next 1280K maxsize unlitited
 - extend management local;
 - SQL>create tablespace index
 - datafile 'd:\oracle\oradata\mynewdb\index01.dbf' size 100M
 - reuse autoextend on next 1280K maxsize unlimited
 - extend management local;
 
8、运行脚本创建数据字典视图
执行两个脚本语句:
----用于创建数据字典视图,包括V$动态性能视图和它们的同义词,同时将授予PUBLIC角色对这些同义
词的访问权限
- SQL>@D:\oracle\ora92\rdbms\admin\catalog.sql;
 
----用于建立对PL/SQL程序设计的支持
- SQL>@D:\oracle\ora92\rdbms\admin\catproc.sql;
 
9、创建服务器初始化参数文件
- SQL>create spfile from file='d:\oracle\ora92\database\initMYNEWDB.ora';
 
执行该语句将在$ORACLE_HOME\database 目录下创建名为spfileMYNEWDB.ora的服务器初始化参数文件
需要重启数据库
- SQL>shutdown immediate;
 - SQL>connect sys/mynewdb as sysdba;
 - SQL>startup
 
Copyright © 2009-2022 www.wtcwzsj.com 青羊区广皓图文设计工作室(个体工商户) 版权所有 蜀ICP备19037934号