网络编程 | 站长之家 | 网页制作 | 图形图象 | 操作系统 | 冲浪宝典 | 软件教学 | 网络办公 | 邮件系统 | 网络安全 | 认证考试 | 系统进程
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教程,数据库安全,数据库文摘
本月文章推荐
.DBA_Data_Files & DBA_Tablespac.
.用JDBC访问一个数据库.
.怎样在Oracle中创建,维护图形大.
.GNU General Public License序文.
.在Oracle中使用自治事务保存日志.
.探讨企业的需求.
.MySQL数据库的结构和数据导入导出.
.oracle 9206升级到10.2.0.2简要步.
.ORA-01034错误的解决办法.
.oracle8i学习笔记(3).
.Oarcle学习笔记之.
.通过意向锁多粒度封锁机制进行并.
.Linux: 单边生存之路.
.LINUX系统的自动作业控制.
.Oracle基于Client/Server的性能调.
.Oracle 10G 中的回收站.
.Oracle面试时候的几个常见的技术.
.Oracle9i如何支持动态重配置.
.取某一用户的密码,再原封不动的.
.Oracle中使用自治事务保存日志表.

UNIX和WINDOWS2000上的ORACLE的差异(1)

发表日期:2008-2-9



  摘要
  
  
  
    Oracle是广为人知的Unix硬件平台上的领先的数据库系统。ORACLE用户和治理员因此熟悉Unix平台上的ORACLE架构以及它上面的工具和技巧,并从他们的数据库得到最大的收益。相反,Windows上的ORACLE架构就不那么的被广为了解。 这篇文章从一个DBA的角度考察了两个操作系统之间的要害的异同点。
  
    简介
  
    在看了几本令人失望的这方面的书之后,我们写了这篇文章。那些书的通病是试图做太多的事情--在细节上讲述Windows和ORACLE。我们的这篇文章假定读者熟悉Unix平台上的ORACLE DBA的工作。因此本文将分析两个平台上的ORACLE的要害的差异而不是从头教你ORACLE的技巧。我们不想把它作为你的一份详尽的指导或者是手册的替代品,事实上它可能鼓励你阅读一些手册。作为数据库服务器平台,它只会涉及一些Unix和Windows上相关的优点,这就是本文的目的。
  
    范例
  
    这个例子使用Linux上的ORACLE 8i,实例名字叫作eighti。windows 2000上面的ORACLE 8i的实例名字叫作atei。
  
    客户端对ORACLE的访问
  
    当客户端连接到ORACLE时,通常的来说ORACLE服务器的平台与客户端的应用无关。这实际上很难说清。 ORACLE DBA 和系统治理人员更关心操作系统平台,他们有的时候会基于需求(如运行时间和可扩展性)选择平台。 更通常的情况下,他们接受(或是接手)给定的平台并学习从中得到最大受益。
  
    关于WINDOWS 2000
  
    值得一提的是Windows 2000是从Windows NT升级而来。在这两个操作系统之间有很多的相似点,Windows 2000 也有些新的特性。微软从NT4.0的升级途径见下表。
  
    两个系统间有很多相似点:
  
  ------------------------------
  
  NT 4.0 Windows 2000
  
  ------------------------------
  
  NT 4.0 Workstation Windows 2000 Professional
  
  NT 4.0 Server Windows 2000 Server
  
  NT 4.0 Enterprise Edition Windows 2000 Advanced server
  
  Unix Windows 2000 Datacenter server
  
  ------------------------------
    ORACLE后台进程
  
    下面这句话对于用过ORACLE的人来说是会很熟悉的:"每一个运行着的ORACLE数据库都对应一个ORACLE实例,当一个数据库在数据库服务器(不考虑机器的类型)上启动的时候,ORACLE分配一块叫做System Global Area (SGA)的内存区域并启动一个或者多个ORACLE进程。SGA和ORACLE进程合起来称作ORACLE 实例。"――摘自 ORACLE 8i Concepts [4 L Leverenz, 1999]。处理后台进程是放在首位的,也是不同的操作系统之间最明显的差异。
  
    ORACLE在UNIX上的后台进程
  
    任何连接到UNIX的用户都可以很轻易的察看ORACLE的后台进程:
  
    % ps -efgrep eightigrep -v grep
  
    oracle8 18451 1 0 16:37:18 ? 0:00 ora_pmon_eighti
  
    oracle8 18453 1 0 16:37:19 ? 0:00 ora_dbw0_eighti
  
    oracle8 18457 1 0 16:37:19 ? 0:04 ora_ckpt_eighti
  
    oracle8 18461 1 0 16:37:19 ? 0:00 ora_reco_eighti
  
    oracle8 18455 1 0 16:37:19 ? 0:02 ora_lgwr_eighti
  
    oracle8 18459 1 0 16:37:19 ? 0:01 ora_smon_eighti
  
    oracle8 19168 19167 0 16:43:46 ? 0:00 oracleeighti
  
    (DESCRIPTION=(LOCAL=YES)(ADDRESS=(PROTOCOL=beq)))
  
    最后一行的ORACLE进程与一个SQL*Plus会话相关,其他的进程都是后台进程。在ORACLE中我们可以通过输入SQL*Plus会话察看这些进程:
  
    SELECT sid, spid, osuser, s.program
  
    FROM v$process p, v$session s WHERE p.addr=s.paddr;
  
    SID SPID OSUSER PROGRAM
  
    -------------------------------------------------------------------
  
  1 18451 oracle8 oracle@saic02 (PMON)
  
  2 18453 oracle8 oracle@saic02 (DBW0)
  
  3 18455 oracle8 oracle@saic02 (LGWR)
  
  4 18457 oracle8 oracle@saic02 (CKPT)
  
  5 18459 oracle8 oracle@saic02 (SMON)
  
  6 18461 oracle8 oracle@saic02 (RECO)
  
  7 19168 oracle8 sqlplus@saic02(TNS V1-V3)
  
  7 rows selected.
  
    每一个后台进程都有一行,还有一行信息是与SQL*Plus会话相关的,SPID对应相应的UNIX进程号。

  
    在WINDOWS2000上的ORACLE后台进程
  
    回到WINDOWS上,从操作系统中察看后台进程有些困难。从任务治理器中可能会看到运行着的应用(任务治理器的察看方法:在任务栏点击右键选择"任务治理器")。在服务器上ORACLE可以是可用的,运行着的应用却是不可见的。进程表的确显示一个进程叫做ORACLE.EXE,察看alert log 显示ORACLE的所有后台进程都是启动的:
  
    PMON started with pid=2
  
    DBW0 started with pid=3
  
    LGWR started with pid=4
  
    CKPT started with pid=5
  
    SMON started with pid=6
  
    RECO started with pid=7
  
    要看实际的后台进程,需要运行额外的软件,例如,进程察看器。该软件可以从Windows
  2000 CD 中得到(Windows NT 的话可以从资源包中得到)。
  
    在Windows 2000上,ORACLE实例是作为一个单一的Windows 2000进程(ORACLE.EXE)实现的。这个进程包括实例所需要实现的每个任务的线程。
  
    因此一个线程对应每个ORACLE 后台进程。ORACLE.EXE进程作为一个服务运行,可以从控制面板的服务中察看到 ORACLEServiceSID。其他的服务也可以这样控制。
  
    这答应ORACLE在没有用户登录服务器的时候也持续的运行。对于共享主处理器资源的所有的进程来说,ORACLE能够达到高速、低负荷的上下文切换。
  
    在Unix下显示ORACLE中的进程,我们也可以通过输入简单的SQL语句来达到。为了显示PID列,SQL语句做了些稍微的改动。要注重PID匹配警告日志中报告的值。
  
  (未完待续)
上一篇:ORACLE常用傻瓜问题1000问(之三) 人气:559
下一篇:你的数据库升级吗? 人气:634
浏览全部Oracle教程的内容 Dreamweaver插件下载 网页广告代码 祝你圣诞节快乐 2009年新年快乐