📄 在redhat6_0上安装oracle8i(全攻略) ╃web-apache服务器技术╃ 有风信息港 - powered by phpwind_net.htm
字号:
</SPAN> <BR>有一种方法不必使用dbassist创建一个数据库。进入$ORACLE_HOME/rdbms/install/create目录,并阅读读README文件。另一个参考是8i
Patch FAQ的第9条。 </P><BR>
<P>以下是我使用在$ORACLE_HOME/rdbms/install/create下提供的脚本创建another数据库的步骤。在这种情形下,SID将称作8idb:
</P><BR>
<P>为了与以前创建数据库的管理文件的目录一致,我创建了如下目录: <SPAN
style="FONT-SIZE: 0pt; COLOR: #ffffff">4^ U@Tko </SPAN> <BR>cd
$ORACLE_BASE/admin <SPAN
style="FONT-SIZE: 0pt; COLOR: #ffffff">v7_"V/ b'
</SPAN> <BR>mkdir 8idb <SPAN
style="FONT-SIZE: 0pt; COLOR: #ffffff">#tuH?8;=
</SPAN> <BR>mkdir 8idb/pfile <SPAN
style="FONT-SIZE: 0pt; COLOR: #ffffff">{TKnR*
</SPAN> <BR>mkdir 8idb/bdump <SPAN
style="FONT-SIZE: 0pt; COLOR: #ffffff">*I _\@eU
</SPAN> <BR>mkdir 8idb/cdump <SPAN
style="FONT-SIZE: 0pt; COLOR: #ffffff">"mwL5; h
</SPAN> <BR>mkdir 8idb/udump <SPAN
style="FONT-SIZE: 0pt; COLOR: #ffffff">=|RS#I.
</SPAN> <BR>mkdir 8idb/create <SPAN
style="FONT-SIZE: 0pt; COLOR: #ffffff">{jrEa<
</SPAN> <BR>mkdir 8idb/exp <SPAN
style="FONT-SIZE: 0pt; COLOR: #ffffff">W'?*f]7
</SPAN> <BR>mkdir 8idb/adhoc <SPAN
style="FONT-SIZE: 0pt; COLOR: #ffffff">DUZ"z}O
</SPAN> <BR>mkdir 8idb/arch </P><BR>
<P>当然,你将不需要所有这些目录。你至少需要pfile、bdump、cdump和udump。 </P><BR>
<P>拷贝文件$ORACLE_HOME/rdbms/install/create/init.ora到目录$ORACLE_BASE/admin/8idb/pfile,并且我给文件起名为init8idb.ora。你可以保留init.ora名字。
<SPAN style="FONT-SIZE: 0pt; COLOR: #ffffff">^~tQb/w=
</SPAN> <BR>然后建立下列符号连接: <SPAN
style="FONT-SIZE: 0pt; COLOR: #ffffff">M<%qJ (dW
</SPAN> <BR>ln -s $ORACLE_BASE/admin/8idb/pfile/init8idb.ora
$ORACLE_HOME/dbs/init8idb.ora </P><BR>
<P><SPAN style="FONT-SIZE: 0pt; COLOR: #ffffff">%mmWLx s
</SPAN> <BR>连接的名字很重要,因为它应该在以后匹配/etc/oratab中的ORACLE_SID入口。在$ORACLE_HOME/bin中的脚本dbstart和dbshut读入在/etc/oratab中的每个入口,为每个入口获得ORACLE_SID,并寻找$ORACLE_HOME/dbs相应的参数文件,
这里参数文件的名字必须是initSID.ora。 </P><BR>
<P>现在修改$ORACLE_BASE/admin/8idb/pfile/init8idb.ora文件。我特别修改了下列入口:
<SPAN style="FONT-SIZE: 0pt; COLOR: #ffffff">Fr">
</SPAN> <BR>以下,我命名新的数据库为我打算的SID: <SPAN
style="FONT-SIZE: 0pt; COLOR: #ffffff">r,*{5C??i
</SPAN> <BR>db_name = 8idb <SPAN
style="FONT-SIZE: 0pt; COLOR: #ffffff">P%fY (P
</SPAN> <BR>instance_name = 8idb <SPAN
style="FONT-SIZE: 0pt; COLOR: #ffffff">Es1%m2
</SPAN> <BR>service_names = 8idb.company.com.au </P><BR>
<P>对于控制文件,我指定了控制文件的完整路径和名字。这些文件将在数据库创建期间生成: <SPAN
style="FONT-SIZE: 0pt; COLOR: #ffffff">[Q=z2//I={
</SPAN> <BR>control_files =
("/home/oracle/app/oracle/oradata/8idb/control01.ctl", <SPAN
style="FONT-SIZE: 0pt; COLOR: #ffffff">(vK*pCw
</SPAN> <BR>"/home/oracle/app/oracle/oradata/8idb/control02.ctl")
</P><BR>
<P><SPAN style="FONT-SIZE: 0pt; COLOR: #ffffff">^;RTj?3:
</SPAN> <BR>对于共享池的尺寸,我修改shared_pool_size与其他数据库一样。我能记得dbassist说过类似于“you
need at least 50mb for shared_pool_size with the JServer option”的东西。
<SPAN style="FONT-SIZE: 0pt; COLOR: #ffffff">Zs; ,
</SPAN> <BR>shared_pool_size = 52428800 </P><BR>
<P><SPAN style="FONT-SIZE: 0pt; COLOR: #ffffff">(&.^_ 8dg[
</SPAN> <BR>既然我们将在以后增加重做日志文件的数量和大小,我决定现在而非以后增加缓冲区。 <SPAN
style="FONT-SIZE: 0pt; COLOR: #ffffff">DNCM\unT_
</SPAN> <BR>log_buffer = 327680 </P><BR>
<P><SPAN style="FONT-SIZE: 0pt; COLOR: #ffffff">_l8.D1g<
</SPAN> <BR>退回片段仍然是离线的,因为数据库还没有被创建,所以这些还不存在。因此我给下列入口加上注释: <SPAN
style="FONT-SIZE: 0pt; COLOR: #ffffff">W1uGr}C </SPAN> <BR>#
rollback_segments =( r01 , r02 , r03 , r04 ) </P><BR>
<P><SPAN style="FONT-SIZE: 0pt; COLOR: #ffffff">\6poO%pip
</SPAN> <BR>指明你想在哪儿倒出文件。这里我做了下列设置: <SPAN
style="FONT-SIZE: 0pt; COLOR: #ffffff">~mju<hz
</SPAN> <BR>background_dump_dest =
/home/oracle/app/oracle/admin/8idb/bdump <SPAN
style="FONT-SIZE: 0pt; COLOR: #ffffff">(b-j3iVv
</SPAN> <BR>core_dump_dest =
/home/oracle/app/oracle/admin/8idb/cdump <SPAN
style="FONT-SIZE: 0pt; COLOR: #ffffff">)xK &!CQ$
</SPAN> <BR>user_dump_dest =
/home/oracle/app/oracle/admin/8idb/udump </P><BR>
<P><SPAN style="FONT-SIZE: 0pt; COLOR: #ffffff">:S:t>SS
</SPAN> <BR>因为我不使用Advanced Replication Option(高级复制选件),我注释了下列入口:
<SPAN style="FONT-SIZE: 0pt; COLOR: #ffffff">9a<`@cMwt
</SPAN> <BR>#job_queue_processes = 0 <SPAN
style="FONT-SIZE: 0pt; COLOR: #ffffff">"8"KMt e)
</SPAN> <BR>#job_queue_interval = 60 <SPAN
style="FONT-SIZE: 0pt; COLOR: #ffffff">`y4eC?E9
</SPAN> <BR>#distributed_transactions = 10 <SPAN
style="FONT-SIZE: 0pt; COLOR: #ffffff">v/!:g7X*$?
</SPAN> <BR>#open_links = 4 </P><BR>
<P>我禁用了到8i数据库的IIOP连接的分派器(dispatcher)以便我们在警告文件和pmon跟踪文件中不会得到“Load
Indicator not supported by
OS”的消息。也要注意,在我的参数文件中没有任何mts入口。因此,这里被创建的数据库使用专用服务器进程。 <SPAN
style="FONT-SIZE: 0pt; COLOR: #ffffff">=y7nDD;%1
</SPAN> <BR>#mts_dispatchers =
"(PROTOCOL=TCP)(PRE=oracle.aurora.server.SGiopServer)" <SPAN
style="FONT-SIZE: 0pt; COLOR: #ffffff">A)^` UY5
</SPAN> <BR>#mts_servers = 1 </P><BR>
<P>最后,按README文件的说明,我改变compatible入口。然而,注意,dbassist仅允许值8.1.0。也许是dbassist另一个bug?
<SPAN style="FONT-SIZE: 0pt; COLOR: #ffffff">*3**&qO5
</SPAN> <BR>compatible = "8.1.5" </P><BR>
<P>现在我创建立了目录/挂载点,在那里我想要存储数据文件。当然,遵循OFA,下列仅仅是一个例子。 <SPAN
style="FONT-SIZE: 0pt; COLOR: #ffffff">'_uMzcjZ-
</SPAN> <BR>mkdir $ORACLE_BASE/oradata/8idb </P><BR>
<P><SPAN style="FONT-SIZE: 0pt; COLOR: #ffffff">u>eB b'
</SPAN> <BR>现在我从$ORACLE_HOME/rdbms/install/create拷贝脚本cdrb1.sh,
cdrb2.sh,和cdrb3.sh到$ORACLE_HOME/install并分别命名他们为8idbcrdb1.sh,
8idbcrdb2.sh,和8idbcrdb3.sh: <SPAN
style="FONT-SIZE: 0pt; COLOR: #ffffff">u71.XUvv
</SPAN> <BR>cp -vf $ORACLE_HOME/rdbms/install/create/crdb1.sh
$ORACLE_HOME/install/"$ORACLE_SID"crdb1.sh <SPAN
style="FONT-SIZE: 0pt; COLOR: #ffffff">.MMo@ 7 a </SPAN> <BR>cp
-vf $ORACLE_HOME/rdbms/install/create/crdb2.sh
$ORACLE_HOME/install/"$ORACLE_SID"crdb2.sh <SPAN
style="FONT-SIZE: 0pt; COLOR: #ffffff">j32]@.i
</SPAN> <BR>cp -vf $ORACLE_HOME/rdbms/install/create/crdb3.sh
$ORACLE_HOME/install/"$ORACLE_SID"crdb3.sh </P><BR>
<P><SPAN style="FONT-SIZE: 0pt; COLOR: #ffffff">1A9s>2/
</SPAN> <BR>确保你至少对于bash加双引号与$ORACLE_SID。 </P><BR>
<P>改变目录到$ORACLE_HOME/install。然后我编辑第一个脚本SIDcrdb1.sh(在这里8idbcrdb1.sh),显示如下:
<SPAN style="FONT-SIZE: 0pt; COLOR: #ffffff">6?\u79yD
</SPAN> <BR>修改ORACLE_SID匹配我想要的SID: <SPAN
style="FONT-SIZE: 0pt; COLOR: #ffffff">O,CHhSu
</SPAN> <BR>ORACLE_SID=8idb </P><BR>
<P><SPAN style="FONT-SIZE: 0pt; COLOR: #ffffff">`1s<$++:T
</SPAN> <BR>修改口令文件的名字指明我想要的SID: <SPAN
style="FONT-SIZE: 0pt; COLOR: #ffffff">"W1[>zK
</SPAN> <BR>$ORACLE_HOME/bin/orapwd
file=$ORACLE_HOME/dbs/orapw8idb password=change_on_install </P><BR>
<P><SPAN style="FONT-SIZE: 0pt; COLOR: #ffffff">C5vTU^Uk
</SPAN> <BR>修改starpup命令指明要使用的参数文件的地点。我们可以指明实际的参数文件而不是到参数文件的一个符号
连接: <SPAN style="FONT-SIZE: 0pt; COLOR: #ffffff">=Y' L_2>1
</SPAN> <BR>startup nomount pfile =
$ORACLE_HOME/dbs/init8idb.ora </P><BR>
<P><SPAN style="FONT-SIZE: 0pt; COLOR: #ffffff">Q=G;v]q<
</SPAN> <BR>改变在CREATE DATABASE命令中的数据库名以匹配在参数文件指明示的那个: <SPAN
style="FONT-SIZE: 0pt; COLOR: #ffffff">@?~"uNK
</SPAN> <BR>CREATE DATABASE "8idb" </P><BR>
<P><SPAN style="FONT-SIZE: 0pt; COLOR: #ffffff">mU@$*]<
</SPAN> <BR>再回到CREATE
DATABASE命令,改变SYSTEM数据文件的地点和大小位于我们先前创建了的目录下: <SPAN
style="FONT-SIZE: 0pt; COLOR: #ffffff">k^J<<+.b
</SPAN> <BR>DATAFILE "$ORACLE_BASE/oradata/8idb/system01.dbf"
SIZE 80M </P><BR>
<P><SPAN style="FONT-SIZE: 0pt; COLOR: #ffffff">MfUT6m MG
</SPAN> <BR>改变CREATE DATABASE命令中重做日志文件的地点并增加其大小: <SPAN
style="FONT-SIZE: 0pt; COLOR: #ffffff">E+_96BYci
</SPAN> <BR>logfile "$ORACLE_BASE/oradata/8idb/redo01.log" SIZE
4096K, <SPAN style="FONT-SIZE: 0pt; COLOR: #ffffff"> #![s69
</SPAN> <BR>"$ORACLE_BASE/oradata/8idb/redo02.log" SIZE 4096K;
</P><BR>
<P>现在运行脚本SIDcdrb1.sh。如果你得到消息: <SPAN
style="FONT-SIZE: 0pt; COLOR: #ffffff">8?az17
</SPAN> <BR>ORA-12162: TNS:service name is incorrectly
specified </P><BR>
<P>那么你没有为ORACLE_SID指定有效的值。这发生了保留ORACLE_SID的值$1时,它假定从命令行获得参数,而我没指定一个参数。
</P><BR>
<P>如果由于一些原因,数据库的创建失败了,你不光是只是重新运行脚本,是你将还要删除先前被创建了的口令文件。否则,你将得到:
</P><BR>
<P>OPW-00005: File with same name exists - please delete or rename
</P><BR>
<P>在我的情况中,我不仅删除了先前的口令文件,我也删除了文件$ORACLE_HOME/dbs/lkSID。这个文件似乎在你创建数据库时创建,实际上它只是一个文本文件:"DO
NOT DELETE THIS FILE!" </P><BR>
<P>你可能碰到的其他错误如下: </P><BR>
<P>ORA-01501: CREATE DATABASE failed <SPAN
style="FONT-SIZE: 0pt; COLOR: #ffffff">YKy2iIr v
</SPAN> <BR>ORA-00200: controlfile could not be created <SPAN
style="FONT-SIZE: 0pt; COLOR: #ffffff">%U%tX"hBV
</SPAN> <BR>ORA-00202: controlfile:
"/home/oracle/app/oracle/oradata/8idb/dbs/control02.ctl" <SPAN
style="FONT-SIZE: 0pt; COLOR: #ffffff">,VSY\Ft_N
</SPAN> <BR>ORA-27040: skgfrcre: create error, unable to create
file <SPAN style="FONT-SIZE: 0pt; COLOR: #ffffff">MR+rO^?o
</SPAN> <BR>Linux Error: 2: No such file or directory </P><BR>
<P>错误是显然的,因为我为第二个控制文件指定了一个不存在的目录。 </P><BR>
<P>编辑第二个脚本SIDcrdb2.sh(8idbcrdb2.sh): <SPAN
style="FONT-SIZE: 0pt; COLOR: #ffffff">S+D<?.<0f
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -