Oracle手动创建数据库几大步骤介绍

网络整理 - 07-27

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

  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_HOMEadminsamplepfile目录中的initsmpl.ora

  我们采用修改样本的方式,创建参数文件名为:initMYNEWDB.ora,存放在D:oracleora92

  databaseinitMYNEWDB.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:oracleoradataMYNEWDBCONTROL01.CTL", "D:oracleoradataMYNEWDBCONTROL02.CTL", "D:oracleoradataMYNEWDBCONTROL03.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:oracleadminMYNEWDBbdump core_dump_dest=D:oracleadminMYNEWDBcdump timed_statistics=TRUE user_dump_dest=D:oracleadminMYNEWDBudump #用户进程设置

  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:oracleora92

  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:oracleoradatamynewdbsystem.dbf' size 50M UNDO TABLESPACE undotbs DATAFILE 'D:oracleoradatamynewdbundotbs.dbf' size 50M AUTOEXTEND ON NEXT 5120K MAXSIZE UNLIMITED DEFAULT TEMPORARY TABLESPACE tempts CHARACTER SET US7ASCII NATIONAL CHARACTER SET AL16UTF16 LOGFILE GROUP 1 ('D:oracleoradatamynewdbredo01.log') size 100M, GROUP 2 ('D:oracleoradatamynewdbredo02.log') size 100M, GROUP 3 ('D:oracleoradatamynewdbredo03.log') size 100M; 在执行create database 语句的同时,自动执行$ORACLE_HOMErdbmsadminsql.bsq脚本,创建SYSTEM表空间和SYSTEM回退段、建立SYS和SYSTEM账号、建立数据字典基础表、建立数据字典索引、创建预定义角色等。

  7、创建附加的表空间

  用create database语句创建的数据库中只有SYSTEM、UNDOTBS和TEMPTBS三个表空间,还需要创建其他

  一些额外的表空间

  SQL>create tablespace users datafile 'd:oracleoradatamynewdbusers01.dbf' size 100M reuse autoextend on next 1280K maxsize unlitited extend management local; SQL>create tablespace index datafile 'd:oracleoradatamynewdbindex01.dbf' size 100M reuse autoextend on next 1280K maxsize unlimited extend management local; 8、运行脚本创建数据字典视图

  执行两个脚本语句:

  ----用于创建数据字典视图,包括V$动态性能视图和它们的同义词,同时将授予PUBLIC角色对这些同义

  词的访问权限

  SQL>@D:oracleora92rdbmsadmincatalog.sql; ----用于建立对PL/SQL程序设计的支持

  SQL>@D:oracleora92rdbmsadmincatproc.sql; 9、创建服务器初始化参数文件

  SQL>create spfile from file='d:oracleora92databaseinitMYNEWDB.ora'; 执行该语句将在$ORACLE_HOMEdatabase 目录下创建名为spfileMYNEWDB.ora的服务器初始化参数文件

  需要重启数据库

  SQL>shutdown immediate; SQL>connect sys/mynewdb as sysdba; SQL>startup