Oracle数据库的创建与删除 之 CREATE DATABASE语句
<P><FONT size=4>一、概念</FONT></P><P> 一个Oracle数据库,最基本的构成(逻辑):<BR></P>
<DIV id=codeText class=codeText>
<OL style="PADDING-BOTTOM: 5px; MARGIN: 0px 1px 0px 0px; PADDING-LEFT: 0px; PADDING-RIGHT: 0px; PADDING-TOP: 5px" class=dp-css>
<LI>(1)system表空间 1个 --> # 用于存贮“数据字典”</LI>
<LI>(2)sysaux表空间 1个 --> # 用于存贮“不属于数据字典,但Oracle管理所需要的表”</LI>
<LI>(3)redo log日志 2组 --> # 用于“记录所有已提交数据及动作”</LI>
<LI> a. 需要至少2组,一组写满后,切换到另一组。<BR> 这时可以对已写满的这一组日志进行备份,备份后清空给下一次使用] </LI>
<LI> b. 一组中可以有多份日志,但它们的内容是完全相同的。这样就不用担心因<BR> 为某一个日志文件出问题而影响以后在恢复过程中的使用。</LI>
<LI></LI>
<LI>(4)临时表空间 1个 --> # 用于“内存排序”时,工作区空间不够时使用</LI>
<LI>(5)undo表空间 1个 --> # 用于“回退存储在磁盘上的未提交的数据”</LI></OL></DIV>
<P> </P>
<P> </P>
<P><FONT size=4>二、实践</FONT></P>
<DIV id=codeText class=codeText>
<OL style="PADDING-BOTTOM: 5px; MARGIN: 0px 1px 0px 0px; PADDING-LEFT: 0px; PADDING-RIGHT: 0px; PADDING-TOP: 5px" class=dp-css>
<LI><SPAN style="COLOR: #000000">create database <SPAN style="COLOR: #0000cc">{</SPAN>ORACLE_NAME<SPAN style="COLOR: #0000cc">} </SPAN><SPAN style="COLOR: #0000cc">-</SPAN><SPAN style="COLOR: #0000cc">-</SPAN><SPAN style="COLOR: #0000cc">></SPAN> # 数据库名,一般与ORACLE_SID相同<BR></LI>
<LI>user sys identified by <SPAN style="COLOR: #0000cc">{</SPAN>密码<SPAN style="COLOR: #0000cc">}</SPAN> <SPAN style="COLOR: #0000cc">-</SPAN><SPAN style="COLOR: #0000cc">-</SPAN><SPAN style="COLOR: #0000cc">></SPAN> # 不设置,则默认为“change_on_install”<BR></LI>
<LI>user system identified by <SPAN style="COLOR: #0000cc">{</SPAN>密码<SPAN style="COLOR: #0000cc">} </SPAN><SPAN style="COLOR: #0000cc">-</SPAN><SPAN style="COLOR: #0000cc">-</SPAN><SPAN style="COLOR: #0000cc">></SPAN> # 不设置,则默认为“manager”<BR></LI>
<LI>maxlogfiles 5 <FONT color=#0000f0>--</FONT><SPAN style="COLOR: #0000cc">></SPAN> # 最大日志组数<BR></LI>
<LI>maxlogmembers 5<SPAN style="COLOR: #0000cc"> --> <FONT color=#000000># </FONT></SPAN>日志组中最多成员数<BR></LI>
<LI>maxloghistory 1<SPAN style="COLOR: #0000cc"> --> <FONT color=#000000>#</FONT></SPAN><FONT color=#000000>(</FONT>RAC环境下有效,暂不深入)<BR></LI>
<LI>maxdatafiles 100<SPAN style="COLOR: #0000cc"> --</SPAN><SPAN style="COLOR: #0000cc">></SPAN> # 最大数据文件数(与“DB_FILES”之间的关系?)<BR> <SPAN style="COLOR: #0000cc">/</SPAN><SPAN style="COLOR: #0000cc">/</SPAN> 9i后,由DB_FILES参数来控制“最大数据文件数”。这个参数名存实亡。<BR></LI>
<LI>logfile group 1 <SPAN style="COLOR: #0000cc">(</SPAN><SPAN style="COLOR: #ff00ff">'/u01/app/oracle/oradata/orcl/redo01a.log'</SPAN><SPAN style="COLOR: #0000cc">,<BR> </SPAN><SPAN style="COLOR: #ff00ff">'/u01/app/oracle/oradata/orcl/redo01b.log'</SPAN><SPAN style="COLOR: #0000cc">,<BR> </SPAN><SPAN style="COLOR: #ff00ff">'/u01/app/oracle/oradata/orcl/redo01c.log'</SPAN><SPAN style="COLOR: #0000cc">)</SPAN> <SPAN style="COLOR: #ff0000">size</SPAN> 20M<SPAN style="COLOR: #0000cc">,</SPAN><BR></LI>
<LI> group 2 <SPAN style="COLOR: #0000cc">(</SPAN><SPAN style="COLOR: #ff00ff">'/u01/app/oracle/oradata/orcl/redo02a.log'</SPAN><SPAN style="COLOR: #0000cc">,<BR> </SPAN><SPAN style="COLOR: #ff00ff">'/u01/app/oracle/oradata/orcl/redo02b.log'</SPAN><SPAN style="COLOR: #0000cc">,<BR> </SPAN><SPAN style="COLOR: #ff00ff">'/u01/app/oracle/oradata/orcl/redo02c.log'</SPAN><SPAN style="COLOR: #0000cc">)</SPAN> <SPAN style="COLOR: #ff0000">size</SPAN> 20M<SPAN style="COLOR: #0000cc">,</SPAN><BR></LI>
<LI> group 3 <SPAN style="COLOR: #0000cc">(</SPAN><SPAN style="COLOR: #ff00ff">'/u01/app/oracle/oradata/orcl/redo03a.log'</SPAN><SPAN style="COLOR: #0000cc">,<BR> </SPAN><SPAN style="COLOR: #ff00ff">'/u01/app/oracle/oradata/orcl/redo03b.log'</SPAN><SPAN style="COLOR: #0000cc">,<BR> </SPAN><SPAN style="COLOR: #ff00ff">'/u01/app/oracle/oradata/orcl/redo03c.log'</SPAN><SPAN style="COLOR: #0000cc">)</SPAN> <SPAN style="COLOR: #ff0000">size</SPAN> 20M<BR></LI>
<LI> <FONT color=#0000cc>--</FONT><SPAN style="COLOR: #0000cc">> <FONT color=#000000>#</FONT> </SPAN>创建日志组,及组中成员<BR></LI>
<LI>character set WE8ISO8859P1<SPAN style="COLOR: #0000cc"> --</SPAN><SPAN style="COLOR: #0000cc">></SPAN> # 数据库字符集<BR></LI>
<LI>national character set UTF8<SPAN style="COLOR: #0000cc"> --</SPAN><SPAN style="COLOR: #0000cc">></SPAN> # 国家字符集<BR></LI>
<LI>extent management local --<SPAN style="COLOR: #0000cc">></SPAN> # 指定system表空间中,扩展段的管理方式 <BR> [ local | dictionary ]<BR>
<DIV id=codeText class=codeText>
<OL style="PADDING-BOTTOM: 5px; MARGIN: 0px 1px 0px 0px; PADDING-LEFT: 0px; PADDING-RIGHT: 0px; PADDING-TOP: 5px" class=dp-css>
<LI><SPAN style="COLOR: #000000"><SPAN style="COLOR: #0000cc">/</SPAN><SPAN style="COLOR: #0000cc">/ </SPAN>使用“本地管理(local)”,即位图管理方式。(见后面的“Oracle体系结构”部分)<BR>// 设置为“本地管理”时,必须同时指定扩展块的大小(两种方式):<BR> 1、UNIFORM SIZE(统一大小)<SPAN style="COLOR: #0000cc">{</SPAN>单位:“K” 或 “M”<SPAN style="COLOR: #0000cc">}</SPAN>;<BR> 2、AUTOALLOCATE(自动分配)<BR><SPAN style="COLOR: #0000cc">/</SPAN><SPAN style="COLOR: #0000cc">/</SPAN> 默认为“字典管理(dictionary)”方式。<BR></LI>
<LI><BR>e<SPAN style="COLOR: #0000cc">.</SPAN>g<SPAN style="COLOR: #0000cc">/</SPAN><SPAN style="COLOR: #0000cc">/</SPAN><BR></LI>
<LI> extent management local autoallocate<BR></LI>
<LI> extent management local uniform <SPAN style="COLOR: #0000ff">size</SPAN> 128k<BR></LI>
<LI> extent management dictionary</SPAN></LI></OL></DIV> </LI>
<LI> <BR></LI>
<LI>datafile <SPAN style="COLOR: #ff00ff">'/u01/app/oracle/oradata/orcl/system01.dbf'</SPAN> <SPAN style="COLOR: #ff0000">size</SPAN> 500M<FONT color=#0000cc> <BR> --</FONT><SPAN style="COLOR: #0000cc">></SPAN> # 创建“system表空间”<BR></LI>
<LI>sysaux datafile <SPAN style="COLOR: #ff00ff">'/u01/app/oracle/oradata/orcl/sysaux01.dbf'</SPAN> <SPAN style="COLOR: #ff0000">size</SPAN> 500M <SPAN style="COLOR: #0000cc"><BR> --</SPAN><SPAN style="COLOR: #0000cc">></SPAN> # 创建“sysaux表空间”<BR></LI>
<LI>default tablespace users<BR></LI>
<LI>datafile <SPAN style="COLOR: #ff00ff">'/u01/app/oracle/oradata/orcl/users01.dbf'</SPAN> <SPAN style="COLOR: #ff0000">size</SPAN> 500M autoextend on maxsize unlimited <SPAN style="COLOR: #0000cc">--</SPAN><SPAN style="COLOR: #0000cc">></SPAN> # 创建“默认(永久)表空间” <BR> <SPAN style="COLOR: #0000cc">/</SPAN><SPAN style="COLOR: #0000cc">/</SPAN> 用户创建表时,若没有指定表空间,则放在此表空间中<BR></LI>
<LI>default temporary tablespace temptbs<BR></LI>
<LI>tempfile <SPAN style="COLOR: #ff00ff">'/u01/app/oracle/oradata/orcl/temp01.dbf'</SPAN> <SPAN style="COLOR: #ff0000">size</SPAN> 300M <BR> <SPAN style="COLOR: #0000cc">--</SPAN><SPAN style="COLOR: #0000cc">></SPAN> # 创建“默认临时表空间”<BR></LI>
<LI>undo tablespace undotbs1<BR></LI>
<LI>datafile <SPAN style="COLOR: #ff00ff">'/u01/app/oracle/oradata/orcl/undotbs01.dbf'</SPAN> <SPAN style="COLOR: #ff0000">size</SPAN> 300M autoextend on maxsize unlimited <FONT color=#0000cc>--</FONT><SPAN style="COLOR: #0000cc">></SPAN> # 创建“undo表空间”(即:撤销表空间) <BR> <SPAN style="COLOR: #0000cc">/</SPAN><SPAN style="COLOR: #0000cc">/</SPAN> 注意:这里的undo表空间名,一定要与<BR> “参数文件中的undo表空间”名称一样,否则创建失败<BR></LI>
<LI>set time_zone <SPAN style="COLOR: #0000cc">=</SPAN> <SPAN style="COLOR: #ff00ff">'+08:00'</SPAN><SPAN style="COLOR: #0000cc">;</SPAN><FONT color=#0000cc> --</FONT><SPAN style="COLOR: #0000cc">></SPAN> # 指定时区</SPAN></LI></OL></DIV>
<P> </P>
<P>三、CREATE DATABASE的其他子句</P>
<DIV id=codeText class=codeText>
<OL style="PADDING-BOTTOM: 5px; MARGIN: 0px 1px 0px 0px; PADDING-LEFT: 0px; PADDING-RIGHT: 0px; PADDING-TOP: 5px" class=dp-css>
<LI><SPAN style="COLOR: #000000">maxinstances <SPAN style="COLOR: #ff9900">--> # <FONT color=#000000>一个数据库最多可以有多少个实例(用于RAC下)<BR></FONT></LI>
<LI></SPAN>noarchivelog <SPAN style="COLOR: #0000cc">/</SPAN> archivelog <SPAN style="COLOR: #ff9900">--> # <FONT color=#000000>非归档模式 / 归档模式</FONT></LI></SPAN><SPAN style="COLOR: #ff0000"> force</SPAN> logging <SPAN style="COLOR: #ff9900">--> # <FONT color=#000000>除了对临时表空间的操作,对其他对象的所有操作都需要记到日志中 <BR></FONT>
<LI></SPAN><BR></LI>
<LI><SPAN style="COLOR: #0000ff"></SPAN></LI>
<LI><SPAN style="COLOR: #0000ff">set</SPAN> <SPAN style="COLOR: #0000ff">default</SPAN> <SPAN style="COLOR: #0000ff">tablespace</SPAN> smallfile <SPAN style="COLOR: #0000cc">|</SPAN> bigfile <SPAN style="COLOR: #ff9900">--> # <FONT color=#000000>指定表空间的物理实现方式<BR></FONT></SPAN><BR></LI>
<LI> // smallfile<SPAN style="COLOR: #ff9900"> <FONT color=#000000>一个表空间可以有一个或多个数据文件组成<BR></FONT></LI>
<LI></SPAN> // bigfile 一个表空间只能有一个数据文件组成<BR> (一般用于ASM环境下)</SPAN></LI></OL></DIV>
<P> </P>
<P>四、技巧</P>
<P> (1)终端窗口A:</P>
<DIV id=codeText class=codeText>
<OL style="PADDING-BOTTOM: 5px; MARGIN: 0px 1px 0px 0px; PADDING-LEFT: 0px; PADDING-RIGHT: 0px; PADDING-TOP: 5px" class=dp-css>
<LI><SPAN style="COLOR: #000000">SQL<SPAN style="COLOR: #0000cc">></SPAN> <SPAN style="COLOR: #ff0000">startup</SPAN> nomount <SPAN style="COLOR: #0000cc">;</SPAN></SPAN></LI></OL></DIV>
<P> (2)终端窗口B:</P>
<DIV id=codeText class=codeText>
<OL style="PADDING-BOTTOM: 5px; MARGIN: 0px 1px 0px 0px; PADDING-LEFT: 0px; PADDING-RIGHT: 0px; PADDING-TOP: 5px" class=dp-css>
<LI><SPAN style="COLOR: #000000">SQL<SPAN style="COLOR: #0000cc">></SPAN> tail <SPAN style="COLOR: #0000cc">-</SPAN>f $ORACLE_BASE<SPAN style="COLOR: #0000cc">/</SPAN>admin<SPAN style="COLOR: #0000cc">/</SPAN><SPAN style="COLOR: #0000cc">$</SPAN>ORACLE_SID<SPAN style="COLOR: #0000cc">/</SPAN>bdump<SPAN style="COLOR: #0000cc">/</SPAN>alert_orcl<SPAN style="COLOR: #0000cc">.</SPAN><SPAN style="COLOR: #ff0000">log</SPAN></SPAN></LI></OL></DIV>
<P> (3)终端窗口A:</P>
<DIV id=codeText class=codeText>
<OL style="PADDING-BOTTOM: 5px; MARGIN: 0px 1px 0px 0px; PADDING-LEFT: 0px; PADDING-RIGHT: 0px; PADDING-TOP: 5px" class=dp-css>
<LI><SPAN style="COLOR: #000000">SQL<SPAN style="COLOR: #0000cc">></SPAN> <SPAN style="COLOR: #0000ff">create</SPAN> <SPAN style="COLOR: #0000ff">database</SPAN> <SPAN style="COLOR: #0000cc">.</SPAN><SPAN style="COLOR: #0000cc">.</SPAN><SPAN style="COLOR: #0000cc">.</SPAN><SPAN style="COLOR: #0000cc">.</SPAN><SPAN style="COLOR: #0000cc">;</SPAN></SPAN></LI></OL></DIV>
<P> (4)终端窗口B:</P>
<DIV id=codeText class=codeText>
<OL style="PADDING-BOTTOM: 5px; MARGIN: 0px 1px 0px 0px; PADDING-LEFT: 0px; PADDING-RIGHT: 0px; PADDING-TOP: 5px" class=dp-css>
<LI><SPAN style="COLOR: #000000">(这时,可以看到create database语句的执行细节)</SPAN></LI></OL></DIV>
<P> </P>
页:
[1]