动态网站制作指南 [  QQ表情  ]
[ 投票调查 ]
[ 企业邮箱 ]
[ 网站空间 ]
网络编程 | 站长之家 | 网页制作 | 图形图象 | 操作系统 | 冲浪宝典 | 软件教学 | 网络办公 | 邮件系统 | 网络安全 | 认证考试 | 系统进程
ASP源码 | .Net源码 | PHP源码 | JSP源码 | JAVA源码 | CGI源码 | VB源码 | C++源码 | Delphi源码 | PB源码 | VF源码 | 汇编 | 服务器
Firefox | IE | Maxthon | 迅雷 | 电驴 | BitComet | FlashGet | QQ | QQ空间 | Vista | 输入法 | Ghost | Word | Excel | wps | Powerpoint
asp | .net | php | jsp | Sql | c# | Ajax | xml | Dreamweaver | FrontPages | Javascript | css | photoshop | fireworks | Flash | Cad | Discuz!
当前位置 > 网站建设学院 > 网络编程 > 数据库 > Oracle教程
Tag:注入,存储过程,分页,安全,优化,xmlhttp,fso,jmail,application,session,防盗链,stream,无组件,组件,md5,乱码,缓存,加密,验证码,算法,cookies,ubb,正则表达式,水印,索引,日志,压缩,base64,url重写,上传,控件,Web.config,JDBC,函数,内存,PDF,迁移,结构,破解,编译,配置,进程,分词,IIS,Apache,Tomcat,phpmyadmin,Gzip,触发器,socket
数据库:数据库教程,数据库技巧,Oracle教程,MySQL教程,Sybase教程,Access教程,DB2教程,数据库安全,数据库文摘
文章搜索服务
邮件订阅
输入你的邮件地址,
你将不会错过任何关于:
[ Oracle教程 ]的信息

本月文章推荐
.Oracle9i 数据库(第二版)的高级选.
.Red Hat Linux 7.1使用手册(上).
.六步搞定 Oracle 透明网关环境的.
.Oracle Database FAQ.
.Oracle9i初始化参数中文说明(6).
.如何计算当前目录下的文件数和目.
.Oracle 常用功能函数汇总.
.一个完整的Oracle rman备份恢复参.
.如何将primary key建在其它的表空.
.Linux与硬盘分区.
.说说ORACLE的封锁机制.
.PL/SQL基本语法要素.
.个人经验总结:在Oracle中恢复被.
.Oracle Database 10 g : 为 DBA .
.Oracle客户端编程.
.如何用保存数据库连接参数代码及.
.Oracle数据库-PL/SQL整理(2).
.Linux x86安装Oracle数据库10g二.
.HP和Oracle使用Fusion来溶合SOA.
.oracle的update问题.

UNIX和WINDOWS2000上的ORACLE的差异 PartII

发表日期:2008-2-9 |



  
 

Ian Adam ,SAIC Ltd
David Stien,SAIC Ltd

翻译:Fenng
PartII

数据库启动与关闭

在windows 2000上数据库可以通过启动相关的服务打开。通过控制面板的服务选项或者是通过命令行模式,如:

net start OracleServiceatei就可以打开相关服务。这依靠于一些注册表参数,我们在后面讨论。停止相关的服务,例如:net stop OracleServiceatei可以关闭一个数据库。

在所有的平台上,ORACLE8i实例都可以从服务治理器(或者SQL*Plus!)中通过startup命令启动。在Unix中,这个命令启动后台进程并且打开数据库。它还生成了一个Unix特定文件,叫做$ORACLE_HOME/dbs/lk<DBNAME>,这是个MOUNT锁文件[6 Metalink, 2000]。这会阻止两个实例mount在同一数据库上,当不使用并行服务器的模式下,要使用不同的ORACLE_SID。原来这是个0长度文件,不过现在包含文本'DO NOT DELETE THIS FILE!'。不要试图通过查看这个文件来得知是否数据库是可用的,它不是很准确的。在Windows 2000中,startup命令并不启动ORACLE服务,不过,假如服务已经运行的话,这将打开数据库。

类似的,服务治理器Server Manager的shutdown命令在任何平台上都会关掉数据库,不过在Windows 2000上它并不停掉服务。很有可能的情况就是ORACLE服务被启动但是数据库却关掉了。


UNIX上的数据库的自动启动与关闭

在 Unix上,ORACLE 提供了dbstart和dbshut 脚本以供使用。在Linux
中ORACLE检测文件/etc/oratab 来决定哪个数据库自动的启动/关闭。在 Solaris (和一些其他版本的Unix)中,检查/var/opt/oracle/oratab文件。要注重:8.1.6 版本的dbstart有个bug,在8.1.7中已经被修复,察看[7 Metalink, 2000]有具体说明。

在Linux上,作为root用户,在/etc/rc.d/init.d目录中创建一个一个名为dbora的文件。这个文件将会检查参数是否是   'start' 或者 'stop' 并且适当的执行 dbstart/dbshut;通常也从这个脚本启动listener 。再生成两个符号联接
/etc/rc.d/rc2.d/S99dbora 和
/etc/rc.d/rc0.d/K10dbora。数据库在运行级2(多用户)时通过/etc/rc.d/rc2.d/S99dbora
启动,在系统关闭到运行级0的时候通过/etc/rc.d/rc0.d/K10dbora关闭数据库
。在Solaris上,这个脚本的在/etc/init.d中而不是在/etc/rc.d/init.d.

要注重默认的dbshut执行了一个正常(normal)的关闭操作。在Unix 中可以通过编辑$ORACLE_HOME/bin/dbshut中的这一行来改变数据库的关闭模式。


shutdown
修改成
shutdown immediate

假如启动一个已经运行的实例,dbstart 还会执行一个 shutdown abort 。在dbstart script脚本的顶部警告说 'It should ONLY be executed as part of the system boot procedure'。这个脚本要常被复制、修改,这样在其它的时候使用才能足够安全。


WINDOWS 2000上的数据库自动的启动与关闭

在以前的版本(8i)中,当oracle的启动被一个额外的服务ORACLEStartSID处理,服务器的启动和关闭的时候ORACLE不能被自动的干净的关掉。从ORACLE8i开始,stop/start功能成为了主要的ORACLE服务,并通过注册表控制。注重当ORADIM用于创建或者修改实例的时候,自动的在注册表中设定这些值。这些设置在HKEY_LOCAL_MACHINE OFTWARE\ORACLE\HOMEID键值下。

ID 号从0开始,每有一个额外的ORACLE home递增。

-----------------------------------------------------------------
参数                          描述
-----------------------------------------------------------------
ORA_SID_AUTOSTART       设定为TRUE的时候
             (默认值),ORACLEServiceSID启动的时候启动数据
              库。

ORA_SID_PFILE           设定INIT.ORA参数文件的全路径。
ORA_SHUTDOWN           当设定为TRUE的时候,在当前任何ORACLE
              home下的任何数据库将shutdown。
ORA_SID_SHUTDOWN      设定为TRUE的时候,关闭标记SID值的ORACLE8i数据库。
-----------------------------------------------------------------
假如
SHUTDOWN参数设定为FALSE,停掉ORACLEServiceSID将会abort的方式关闭实例,下次启动的
时候要进行实例恢复。


下面的可选参数可以在注册表中设为合适的值

-----------------------------------------------------------------
参数                                  描述
-----------------------------------------------------------------ORA_SID_SHUTDOWNTYPE        指明数据库关闭模式Aabort),

                            I (immediate), N (normal)。
                            假如你不设定这个参数的话,
                默认的模式是 I (immediate)。
ORA_SID_SHUTDOWN_TIMEOUT      在一个SID停止前等待的最大时间。
-----------------------------------------------------------------

 

操作系统认证

OS认证在两个平台间是相似的,参数文件中设定os_authent_prefix
参数,创建用户都标记为externally。在Windows2000中创建用户要指定大写的域名并且用户名要在 "" 中,否则不起作用。假如你在注册表中把 OSAUTH_PREFIX_DOMAIN 设定成FALSE的话,你可以忽略掉域。客户机和服务器的机器还需要在sqlnet.ora中包含sql net.authentication_services=(nts)这一行。

在 Windows 2000 中,可以答应一个域用户登陆到一个远程pc上,无需提供额外的密码就可以连接到数据库中。参见[2 K elly III,2000]可以得到具体内容。


LISTENER

在 Windows 2000上面 listener作为一个服务实现的,所以listener可以通过启动 ORACLETNSListener 服务来启动。两种平台上listener都可以从lsnrctl命令控制。在Unix上lsnrctl start启动 listener 进程;在 Windows
2000启动 ORACLETNSListener 服务就可以。 假如listener第一次启动的时候没有ORACLETNSListener服务将创建它。假如从你的计算机中删除ORACLE的话,listener 服务要手工从注册表中删除。
 
在两个平台上的listener都可以监听不同版本的数据库。在win2000中,
在LISTENER.ORA中不需要ORACLE_HOME参数(在UNIX中要使用到的),因为每个SID在SERVER中是唯一的。listener可以从注册表中得到正确的ORACLE_HOME。

ORACLE8i 有个特性叫服务器注册,pmon自动对listener注册信息。这意味着Net8 listener可以无需在listener.ora文件中设置就可以监听一个数据库。不过这样做的话,Enterprise Manager要直到启动后才可以连接到数据库。所以这个例子不能用来启动一个远程的实例。通常最好在listener.ora中设置所有的实例以避免冲突,尤其在一个有多位DBA的站点中,,可以避免我们提到的 Enterprise Manager 问题。


加长的SID名字

Windows NT上的ORACLE 7 实例名字有着4个字符长的限制,这可能会产生很晦涩的实例名--庆幸的是在8i中SID名字已经加长了。
不过在包括命名服务的几个场合中使用太长的实例名字也不总是很有用。在Windows 2000上面有个bug,限制了实例名字最长15个字符。

----------------------------------------------------------------
        Unix                        NT
----------------------------------------------------------------
      数据库名    实例名       数据库名      实例名
----------------------------------------------------------------
ORACLE7    8        8        8              4
ORACLE8    8        8        8            4
ORACLE8i    8      64        8            64
----------------------------------------------------------------


数据库的创建

当你在安装过程中的时候选择创建ORACLE 8i数据库,数据库生成助手就会通过ORACLE Universal Installer
自动运行。在安装后它也可以作为一个单独的工具手工运行。用它还可以手工的输入SID代替默认的ORCL,默认的情况下,不在ORACLE_HOME下面创建数据库,完全遵循OFA的意图。

建议你运行Database Creation Assistant,不过在最后一页选择Save information to a batch file(保存信息到一个批处理文件中),再点击"完成"按钮。这会产生几个脚本。从不同的平台对比它们的内容很有趣的。在Unix 和
Windows上的内容很相似,除了windows上对oradim的调用不同。第一次对它的调用产生了一个与ORACLE 数据库相关联的ORACLE服务:

D:\ORACLE\Ora817\bin\oradim -new -sid ATEI -intpwd man -startmode manual -pfile
"D:\ORACLE\admin\atei\pfile\initatei.ora"

第二次对oradim的调用把服务更改为自动启动:

D:\ORACLE\Ora817\bin\oradim -edit -sid atei -startmode auto

可以用这些文件作为创建其它数据库的模版。若你不使用上面建议的方式创建数据库的话,Database Creation Assistant 生成的这些文件和目录没什么大用处。在使用这些脚本创建额外的数据库之前,这些文件和目录不得实现创建。非凡注明一下,脚本假定一个密码文件已经存在,密码文件可以用orapwd命令预创建[2 H Kelly III, 2000]。


 

Database Creation Assistant创建的目录:

Windows 2000

ORACLE_BASE = D:\oracle

Unix

ORACLE_BASE = /db01/app/oracle

ORACLE_BASE\oradata\atei

$ORACLE_BASE/oradata/eighti

ORACLE_BASE\oradata\atei\archive

$ORACLE_BASE/oradata/eighti/archive

ORACLE_BASE\admin\atei

$ORACLE_BASE/admin/eighti

还有这些子文件夹

sadhoc  bdump  cdump  create  eXP  pfile  udump


 

通过Database Creation Assistant创建/改动的文件:

Windows 2000

ORACLE_HOME = D:\oracle\ora817

Unix

ORACLE_HOME = /db01/app/oracle/prodUCt/8.1.7

ORACLE_HOME\database\PWDatei.ora

$ORACLE_HOME/dbs/orapweighti.ora

ORACLE_BASE\admin\atei\pfile\initatei.ora

$ORACLE_BASE/admin/eighti/pfile/initeighti.ora

ORACLE_HOME\database\initatei.ora

包含一行

IFILE='d:\oracle\admin\atei\pfile\initatei.ora‘

$ORACLE_HOME/dbs/initeighti.ora

符号链接到:

/db01/app/oracle/admin/eighti/pfile/initeighti.ora

添加到 tnsnames.ora的条目

添加到 tnsnames.ora的条目

添加到 listener.ora的条目

添加到 listener.ora的条目

windows没有相关的操作

添加项目到oratab

通过Database Creation Assistant创建的脚本:

Windows 2000

Unix

注释

atei.bat

eighti

调用其它脚本,在Windows上还可以调用ORADIM

ateirun.sql

eightirun.sh

包含创建数据库的语句

ateirun1.sql

eightirun1.sh

创建表空间/ 创建回滚段

不创建系统中的第二个回滚段

N/a

eightirun2.sh

额外的脚本(如,catproc),
这些在Windows上从ateirun1.sql中运行

ateisqlplus.sql

eightisqlplus.sh

添加 SQL*Plus 帮助

@c:\oracle\ora817 qlplus\admin\help\helpbld.sql helpus.sql

ateialterTablespace.sql

eightialterTablespace.sh

为SYSTEM用户更改默认的和临时的表空间

 

ateireplicate.sql

ateiJava.sql

ateiordinst.sql

ateiiMedia.sql

ateidrsys.sql

ateicontext.sql

ateispatial1.sql

ateitimeseries.sql

ateivirage.sql

eightireplicate.sh

eightijava.sh

eightiordinst.sh

eightiiMedia.sh

eightidrsys.sh

eighticontext.sh

eightispatial1.sh

eightitimeseries.sh

eightivirage.sh

各种脚本,只有在你选择相应的选项的时候才会生成。



远程挂接的文件系统,如UNIX上的NFS和Windows 2000上UNC,在两个平台上都不支持。
上一篇:用Oracle的SQL*Plus工具创建HTML页面 人气:459
下一篇:通过JDBC操纵Oracle数据库LOB字段的几种情况分析 人气:745
浏览全部Oracle教程的内容 Dreamweaver插件下载 常用网页广告代码全集
  最新网站源码 最新软件下载
2008-9-6 Movie34电影搜索引擎 v3.0
2008-9-6 wap2.0仿帝国建站喜用 v2.0
2008-9-6 免费人才招聘网 宽屏版 v3.01
2008-9-6 喜喔喔视频采集程序 v1.0 beta
2008-9-6 ASP客户管理系统
2008-9-6 主流驿站中秋祝福程序
2008-9-6 php实现msn协议的类
2008-9-5 Coppermine Photo Gallery v1.4.
2008-9-5 清松网络日记本 v2.4
2008-8-23 Mini WinMount V0.4
2008-8-23 Vista优化大师3.11正式版
2008-8-23 Wine 1.13
2008-8-23 KlipFolio 5.0 Build 5899-80
2008-8-23 Windows Sysinternals Desktops
2008-8-23 OneTap Movies1.2破解版
2008-8-23 AnnotaterPDF阅读1.1.503 破解版
2008-8-23 SoundMeter分贝测量仪 v1.0汉化破
2008-8-23 iDrum音乐节拍1.0破解版
  发表评论
姓 名: 验证码:
内 容:
站长工具:网站收录查询 | Google PR查询 | ALEXA排名查询 | CSS在线编辑器 | 广告代码 | Html转换js | js/vbs加密 | md5加密 | 进制转换
实用工具:汉字翻译拼音 | 符号对照表 | 个税计算 | 经典小工具 | 汉字简繁转换 | 普通单位换算 | 公制单位换算 | 生辰老黄历 | 国内电话区号 国家代码与域名缩写 | 文字加密解密 | 健康查询 | 万年历 | 汉字横竖排版 | 手机号码查询 | 计算器 | ip搜索
业务联系 | 广告刊登 | 频道合作 | 投稿荐稿 | 联系方式 | 加入收藏 | RSS订阅
Copyright © 2000-2008 www.knowsky.com All rights reserved | 网络实名:动态网站制作指南 | 沪ICP备05001343号
ホームページ制作 不動産検索システム 求人情報
防水工事·改修工事 フットサル大会 探偵