编写创建数据库脚本出现的问题解决

Posted on 2012-12-02 19:00  bingfeng  阅读(853)  评论(0编辑  收藏  举报

编写创建数据库脚本,需要注意语法,必写项不能少:maxlogfiles,maxinstances,maxloghistory,maxlogmembers,haracter set,logfile group,system datafile,sysaux datafile,undo datafile。

若是不知道需要添加哪些参数,请看创建数据库参数模板

create database sg186fx
user sys identified by sys
user system identified by system
maxinstances 1
maxlogfiles 5
maxloghistory 1
maxlogmembers 5
maxdatafiles 100
character set UTF8
national character set AL16UTF16
controlfile reuse
logfile group 1 ('/oradata/sg186fx/redo1.log') size 50M,
group 2 ('/oradata/sg186fx/redo2.log') size 50M,
group 3 ('/oradata/sg186fx/redo3.log') size 50M
archivelog
force logging
extent management local
datafile '/oradata/sg186fx/system01.dbf' size 50M reuse autoextend on next 1M maxsize unlimited
sysaux datafile '/oradata/sg186fx/sysaux01.dbf' size 50M reuse autoextend on next 1M maxsize unlimited
default temporary tablespace tempfx tempfile '/oradata/sg186fx/tempfx.dbf' size 100M reuse autoextend on next 640K maxsize unlimited
undo tablespace undotbs1 datafile '/oradata/sg186fx/undo01.dbf' size 50M reuse autoextend on next 5M maxsize unlimited;

在这个脚本中最容易写错的是undo的表空间写法,至少要写上system,sysaux,undo,logfile文件指定的地方。当时我认为undo表空间的名字是可以随意命名的,就出现了创建会提示undo表空间的datafile文件路径不存在或类型不对。

extent management local 这句话写在最上面,可以方便在下面的datafile创建中不需要写。若是在每个datafile后面都加上这句话就会出现提示:extent management local已指定的信息。

Copyright © 2021 bingfeng
Powered by .NET 6 on Kubernetes