Oracle在Windows操作系统上服务解析

合集下载

WindowsServer2012forORACLE12CRAC(原创)

WindowsServer2012forORACLE12CRAC(原创)

Windows Server2012 for ORACLE12C RAC 一、基础环境●系统环境:Windows Server 2012●数据库:Oracle 12C●硬件配置:每台主机两块网卡●裸盘:3块二、相关概念介绍1.Voting Disk 概述Oracle Clusterware由2部分组成,分别是Voting Disk和 OCR。

Voting Disk 里面记录着节点成员的信息。

如RAC数据库中有哪些节点成员,节点增加或者删除时也同样会将信息记录进来。

Voting Disk必须存放在共享存储上,通常来说是存放在裸设备上。

Voting Disk主要为了在出现脑裂时,决定那个Partion获得控制权,其他的Partion必须从集群中剔除。

为了保证Voting Disk的安全,需要配置多个Voting Disk,Voting disk使用的是一种“多数可用算法”。

当有多个Voting disk时,则必须一半以上的Votedisk同时使用,Clusterware 才能正常使用。

比如配置了4个Votedisk,坏一个Votedisk,集群可以正常工作,如果坏了2个,则不能满足半数以上,集群会立即宕掉,所有节点立即重启,所以如果添加Votedisk,尽量不要只添加一个,而应该添加2个。

Oracle建议Voting Disk的个数应该为奇数个,如 1、3、5个,每个Voting Disk的大小约为20MB。

三、系统配置2.环境配置1)修改计算机名计算机名尽量简短,不要太长2)环境变量设置右键“计算机”-“属性”-“高级系统设置”-“环境变量”中设置“TEMP”、“TMP”值为“%WINDIR%\temp”,本例为:“C:\Windows\temp”3)系统“性能”设置右键“我的电脑”-“属性”-“高级系统设置”-“性能”-“设置”-“高级”里面选择“后台服务”。

右键“我的电脑”-“属性”-“高级系统设置”-“性能”-“设置”-“数据执行保护”里面选择“仅为基本Windows程序和服务应用DEP”3.网络配置1)网络规划2)修改hosts文件两台主机均修改hosts文件3)网卡设置a)修改网卡名称配置两块网卡,一个作为公网(public),一个作为心跳(private)b)配置网卡解析顺序输入“Alt-N”,配置解析顺序为公网网卡 Public 在前,私网网卡 Private 在后,并且取消IPV6支持。

windows oracle实例启动流程

windows oracle实例启动流程

windows oracle实例启动流程Windows Oracle实例启动流程一、引言Oracle是一种常用的关系型数据库管理系统,而Windows是最常见的操作系统之一。

在Windows上启动Oracle实例是使用Oracle数据库的前提,本文将详细介绍Windows上Oracle实例的启动流程。

二、检查环境配置在启动Oracle实例之前,需要确保Windows操作系统已正确安装并配置了Oracle软件。

首先,要检查Oracle软件是否已正确安装,并且所需的环境变量已经设置。

环境变量包括ORACLE_HOME、ORACLE_SID和PATH等,它们分别指定了Oracle软件安装路径、当前实例的唯一标识和执行文件的搜索路径。

三、启动监听(Listener)监听是Oracle数据库与客户端之间的通信桥梁,它负责接收来自客户端的连接请求,并将请求转发给相应的数据库实例。

在启动Oracle实例之前,需要先启动监听。

通过命令行或者图形界面工具可以启动监听,监听的配置文件为listener.ora。

四、启动数据库实例数据库实例是Oracle数据库的一个运行实例,可以理解为数据库的一个副本。

在启动数据库实例之前,需要先确定要启动的实例的唯一标识(ORACLE_SID)。

通过命令行或者图形界面工具可以启动数据库实例,启动的配置文件为init.ora或spfile。

五、连接数据库一旦数据库实例启动成功,就可以通过客户端工具连接到数据库。

常见的客户端工具包括SQL*Plus、SQL Developer和Toad等。

在连接数据库时,需要指定正确的数据库实例名、用户名和密码。

六、启动流程总结Windows上Oracle实例的启动流程如下:1. 检查环境配置,确保Oracle软件已正确安装并配置了环境变量。

2. 启动监听,监听负责接收客户端的连接请求。

3. 启动数据库实例,确定要启动的实例的唯一标识。

4. 连接数据库,使用客户端工具连接到数据库。

Windows下Oracle_9i安装方法

Windows下Oracle_9i安装方法

Windows下Oracle9i安装方法注意:1.安装Oracle的过程中最好不要运行任何其他程序;2.计算机的名字不要使用中文名字;3.Oracle不识别中文名字,所以不要解压到中文目录下,同时Oracle要求名字中不允许出现空格且名字最好不要太长;4.因为安装好的文件比较大,所以最好安装到系统盘以外的其它目录下;1.将ORACLE 9i解压,最好解压到某个磁盘的根目录下,因为安装Oracle的路径中不能出现中文和空格。

2.打开Oracle 9i会看到三个文件.3.打开disk1,双击“SETUP"图标.4.进入安装界面,点击‘下一步’.5.源文件和目标文件的路径中不能出现空格和中文,点击‘下一步’.6.选择Oracle9i Database 9.2.0.1.0,点击‘下一步’.7.在安装类型中选择‘企业版’.8.在数据库配置界面中选择‘通用’点击‘下一步’.9.在数据库标识界面中键入一个英文名少于8个字符,点击‘下一步’.10.选择数据库文件存放的位置,点击‘下一步’.11.选择缺省字符集,点击‘下一步’.12.点击‘安装’.13.进入安装界面,安装的时间会长一些14.安装过程.15.指定在SYS口令和SYSTEM口令,如,manager,etcmanager,点击‘确定’按钮.16.安装完成后点击‘退出’.17.装完成后,在启动oracle之前确保计算机中的两个服务是打开的。

第一个是OracleServiceXXX(注:XXX是安装过程中起的‘全局数据库名’);另一个是OracleOraHome92TNSListener; 启动这两个服务按照下面的操作:点击‘开始’--->'运行',在打开中写入:services.msc 点击确定;找到后启动这两个服务,并将其‘启动类行’改为‘自动’就行了,为了减少计算机的内存被大量占用,将oracle的其它服务设置为‘手动’停止,这样下次再启动时其它服务就不会自动开启了。

Oracle客户端连接服务端操作

Oracle客户端连接服务端操作

要排除客户端与服务器端的连接问题,首先检查客户端配置是否正确(客户端配置必须与数据库服务器端监听配置一致),再根据错误提示解决。

下面列出几种常见的连接问题:1、 ORA-12541: TNS: 没有监听器显而易见,服务器端的监听器没有启动,另外检查客户端IP地址或端口填写是否正确。

启动监听器:$ lsnrctl start或C:\lsnrctl start2、 ORA-12500: TNS: 监听程序无法启动专用服务器进程对于Windows而言,没有启动Oracle实例服务。

启动实例服务:C:\oradim –startup -sid myoracle3、 ORA-12535: TNS: 操作超时出现这个问题的原因很多,但主要跟网络有关。

解决这个问题,首先检查客户端与服务端的网络是否畅通,如果网络连通,则检查两端的防火墙是否阻挡了连接。

4、 ORA-12154: TNS: 无法处理服务名检查输入的服务名与配置的服务名是否一致。

另外注意生成的本地服务名文件(Windows下如D:\oracle\ora92\network\admin\tnsnames.ora,Linux/Unix下$ORACLE_HOME/network/admin/tnsnames.ora)里每项服务的首行服务名称前不能有空格。

5、 ORA-12514: TNS: 监听进程不能解析在连接描述符中给出的 SERVICE_NAME打开Net Manager,选中服务名称,检查服务标识栏里的服务名输入是否正确。

该服务名必须与服务器端监听器配置的全局数据库名一致。

6、 Windows下启动监听服务提示找不到路径用命令或在服务窗口中启动监听提示找不到路径,或监听服务启动异常。

打开注册表,进入HKEY_LOCAL_MACHINE/SYSTEM/Current ControlSet/Services/OracleOraHome92TNSListener项,查看ImagePath字符串项是否存在,如果没有,设定值为D:\oracle\ora92\BIN\TNSLSNR,不同的安装路径设定值做相应的更改。

windows环境下Oracle数据库冷备份和恢复

windows环境下Oracle数据库冷备份和恢复

wind ows环境下Oracle数据库冷备份和恢复1摘要数据库冷备份是ORACLE最简单的一种备份,执行冷备份前必须关闭数据库,然后备份所有相关的数据库文件,包括数据文件、日志文件、控制文件等关键文件。

●优点:冷备份恢复速度快,因为只需拷贝对应的数据库文件即可;操作也很简单;而且数据恢复的安全性高。

●缺点:冷备份过程中,数据库必须是关闭状态;拷贝文件会占用大量磁盘空间;不能按用户或按表进行恢复。

2背景公司有个测试环境的数据库82损坏了,报各类ORA-错误,不能正常使用,解决了半天还是不好用。

正好有台新设备,硬件性能比82好很多,可以贡献出来,所以决定借这个机会,把82数据库迁移到新设备上。

82数据库目前是关闭状态,数据文件、控制文件、日志文件等都在,所以应该可以在新设备上用这些文件来恢复数据库。

3冷备份1、备份生成控制文件的语句。

在82原数据库主机上,进入DOS窗口,输入sqlplus / as sysdba,以sysdba身份登录数据库,输入alter database backup controlfile to trace resetlogs然后在E:\ORACLE\PRODUCT\10.2.0\DB_1\EPM\udump目录下找到新生成的TRACE文件,并把下面这段代码复制出来,保存为control.txt文件:STARTUP NOMOUNTCREATE CONTROLFILE REUSE DA TABASE "EPM" NORESETLOGS NOARCHIVELOGMAXLOGFILES 16MAXLOGMEMBERS 3MAXDA TAFILES 100MAXINSTANCES 8MAXLOGHISTORY 19759LOGFILEGROUP 1 'E:\ORACLE\PRODUCT\10.2.0\ORADA TA\EPM\REDO01.LOG' SIZE 50M, GROUP 2 'E:\ORACLE\PRODUCT\10.2.0\ORADA TA\EPM\REDO02.LOG' SIZE 50M, GROUP 3 'E:\ORACLE\PRODUCT\10.2.0\ORADA TA\EPM\REDO03.LOG' SIZE 50M -- STANDBY LOGFILEDATAFILE'E:\ORACLE\PRODUCT\10.2.0\ORADATA\EPM\SYSTEM01.DBF','E:\ORACLE\PRODUCT\10.2.0\ORADATA\EPM\UNDOTBS01.DBF','E:\ORACLE\PRODUCT\10.2.0\ORADATA\EPM\SYSAUX01.DBF','E:\ORACLE\PRODUCT\10.2.0\ORADATA\EPM\USERS01.DBF','E:\ORACLE\PRODUCT\10.2.0\DB_1\EPM\EPMDA T01.DBF','E:\ORACLE\PRODUCT\10.2.0\DB_1\EPM\EPMDA T02.DBF','E:\ORACLE\PRODUCT\10.2.0\DB_1\EPM\EPMRANGE01.DBF','E:\ORACLE\PRODUCT\10.2.0\DB_1\EPM\EPMRANGE02.DBF','E:\ORACLE\PRODUCT\10.2.0\DB_1\EPM\EPMIDX01.DBF','E:\ORACLE\PRODUCT\10.2.0\DB_1\EPM\EPMIDX02.DBF','E:\ORACLE\PRODUCT\10.2.0\DB_1\EPM\EPCDA T01.DBF','E:\ORACLE\PRODUCT\10.2.0\DB_1\EPM\EPSA01.DBF','E:\ORACLE\PRODUCT\10.2.0\DB_1\EPM\EPMRANGE03.DBF','E:\ORACLE\PRODUCT\10.2.0\DB_1\EPM\EPMDA T03.DBF','E:\ORACLE\PRODUCT\10.2.0\DB_1\EPM\EPMDA T04.DBF','E:\ORACLE\PRODUCT\10.2.0\DB_1\EPM\EPMRANGE04.DBF','E:\ORACLE\PRODUCT\10.2.0\DB_1\EPM\EPCDA T02.DBF','E:\ORACLE\PRODUCT\10.2.0\DB_1\EPM\MIDCP01.DBF','E:\ORACLE\PRODUCT\10.2.0\DB_1\EPM\DNCJDAT01.DBF','E:\ORACLE\PRODUCT\10.2.0\DB_1\EPM\DNCJIDX01.DBF','E:\ORACLE\PRODUCT\10.2.0\DB_1\EPM\FLOW01.DBF','E:\ORACLE\PRODUCT\10.2.0\DB_1\EPM\EPMIDX03.DBF','E:\ORACLE\PRODUCT\10.2.0\DB_1\EPM\EPMRANGE05.DBF'CHARACTER SET ZHS16GBK;2、输入shutdown immediate停掉当前数据库实例。

Windows下oracle客户端安装使用方法

Windows下oracle客户端安装使用方法

Windows下oracle客户端安装使用方法1. 下载完整的oracle客户端(不是oracle instantclient)并安装(1)在windows下ORACLE_HOME环境变量是通过注册表设置的,其值指向oracle客户端所在的目录。

在安装oracle客户端时,要确保ORACLE_HOME未被设置set ORACLE_HOME=(2)自定义安装时一般要选上database utiltites、oci、sqlplus等选项(3)win7下,oracle在注册表中的位置为HKEY_LOCAL_MACHINE\SOFTWARE\Wow6432Node\ORACLE,内容如下:[HKEY_LOCAL_MACHINE\SOFTWARE\Wow6432Node\ORACLE]"inst_loc"="C:\\Program Files (x86)\\Oracle\\Inventory"[HKEY_LOCAL_MACHINE\SOFTWARE\Wow6432Node\ORACLE\KEY_OraClient10g_home1]"ORACLE_HOME"="D:\\oracle10.2.0.1""ORACLE_HOME_NAME"="OraClient10g_home1""ORACLE_GROUP_NAME"="Oracle - OraClient10g_home1""ORACLE_BUNDLE_NAME"="Enterprise""NLS_LANG"="SIMPLIFIED CHINESE_CHINA.ZHS16GBK""StatementCacheSize"="0""SQLPATH"="D:\\oracle10.2.0.1\\dbs""MSHELP_TOOLS"="D:\\oracle10.2.0.1\\MSHELP"[HKEY_LOCAL_MACHINE\SOFTWARE\Wow6432Node\ORACLE\KEY_OraClient10g_home1\]"TraceFileName"="C:\\ODPNET.trc""TraceLevel"="0""TraceOption"="0""StatementCacheSize"="0"2. tnsnames.ora 设置正确才能使用TNS进行连接, tnsnames.ora 文件放置在%ORACLE_HOME%/network/admin,文件内容大致如下:ORCL =(DESCRIPTION =(ADDRESS_LIST =(ADDRESS = (PROTOCOL = TCP)(HOST = 192.168.2.1)(PORT = 1521)))(CONNECT_DATA =(SERVER = DEDICATED)(SERVICE_NAME = test)))3. 客户端的使用问题(1)我在win7下安装10.2.0.1客户端后,运行sqlplus会出现以下错误:SP2-1503: 无法初始化Oracle 调用界面SP2-0152: ORACLE 不能正常工作以管理员方式运行sqlplus这个问题就解决了。

oracle windows操作语句

oracle windows操作语句Oracle是一种关系型数据库管理系统,广泛应用于企业级应用程序开发中。

在Windows操作系统上,可以使用Oracle SQL Developer或SQL*Plus等工具执行Oracle数据库操作语句。

下面列举了十个常用的Oracle Windows操作语句。

1. 创建表(CREATE TABLE)CREATE TABLE语句用于创建数据库中的表。

例如,创建一个名为“employees”的表,包含id、name和age三个字段:```sqlCREATE TABLE employees (id NUMBER,name VARCHAR2(100),age NUMBER);```2. 插入数据(INSERT INTO)INSERT INTO语句用于向表中插入数据。

例如,向“employees”表插入一条记录:```sqlINSERT INTO employees (id, name, age)VALUES (1, 'John', 25);```3. 更新数据(UPDATE)UPDATE语句用于更新表中的数据。

例如,将“employees”表中id为1的记录的年龄改为30:```sqlUPDATE employeesSET age = 30WHERE id = 1;```4. 删除数据(DELETE)DELETE语句用于删除表中的数据。

例如,删除“employees”表中id为1的记录:```sqlDELETE FROM employeesWHERE id = 1;```5. 查询数据(SELECT)SELECT语句用于从表中查询数据。

例如,查询“employees”表中的所有记录:```sqlSELECT * FROM employees;```6. 创建索引(CREATE INDEX)CREATE INDEX语句用于在表上创建索引,以提高查询性能。

winndows ora2pg使用方法

winndows ora2pg使用方法摘要:一、Winndows Ora2pg简介二、安装Winndows Ora2pg三、使用Winndows Ora2pg迁移数据库四、Winndows Ora2pg功能特性五、常见问题与解决方法六、总结与建议正文:一、Winndows Ora2pg简介Winndows Ora2pg是一款功能强大的数据库迁移工具,主要用于将Oracle数据库迁移到PostgreSQL数据库。

它可以在Windows操作系统上运行,为用户提供便捷的数据库迁移服务。

通过Winndows Ora2pg,用户可以轻松地将Oracle数据库中的数据、表结构、索引等迁移至PostgreSQL,从而降低数据迁移的难度和风险。

二、安装Winndows Ora2pg1.下载Winndows Ora2pg:访问Winndows Ora2pg官方网站或GitHub页面,下载适用于Windows操作系统的最新版本。

2.安装程序:运行下载好的安装文件,按照提示完成安装过程。

3.配置环境:安装完成后,需要配置环境变量,以便在命令行中使用Winndows Ora2pg。

4.启动Winndows Ora2pg:完成安装和配置后,通过命令行或桌面快捷方式启动Winndows Ora2pg。

三、使用Winndows Ora2pg迁移数据库1.创建迁移项目:在Winndows Ora2pg主界面中,点击“新建项目”创建一个迁移任务。

2.配置源数据库:填写源数据库的连接信息,包括主机名、端口号、用户名、密码等。

3.配置目标数据库:填写目标数据库的连接信息,确保与源数据库的信息对应。

4.选择迁移内容:在迁移内容中,选择需要迁移的数据库对象,如表、视图、索引等。

5.设置迁移选项:根据需求,设置迁移过程中的相关选项,如数据类型转换、字符集转换等。

6.执行迁移:确认无误后,点击“开始迁移”按钮,启动迁移任务。

四、Winndows Ora2pg功能特性1.支持多种数据库:除了Oracle和PostgreSQL,Winndows Ora2pg还支持其他主流数据库,如MySQL、SQL Server等。

Windows 2008 R2安装oracle10g(64位)问题

Windows 2008 R2安装oracle10g问题1.Windows平台环境硬件配置:IBm3850 X5 4cpu 8核操作系统:windows 2008 R2(64位)oracle版本:10204_vista_w2k8_x64_production_db2.遇到并解决的问题1.1Windows 2008 R2安装oracle10g时产生的兼容性问题由于ORACLE并没有FOR WIN7的版本,必须下载for vista_w2k8这个版本,将oracle 10G的安装镜像解压都硬盘,然后修改安装目录下的rehost.xml 和oraparam.ini两个文件。

修改rehost.xml找到10203_vista_w2k8_x86_production_db\db\Disk1\stage\prereq\db\ 下的refhost.xml文件添加如下内容<!--Microsoft Windows 7--><OPERATING_SYSTEM><VERSION VALUE="6.0"/></OPERATING_SYSTEM>修改oraparam.ini文件到install目录中找到oraparam.ini文件,添加如下内容:[Certified Versions]#Y ou can customise error message shown for failure, provide value for CERTIFIED_VERSION_FAILURE_MESSAGE#Windows=5.0,5.1,5.2,6.0 #这里前面部分内容有的,只添加6.02.2 安装oracle10g创建实例时停在2%不动IBM3850 x5、4*8核16线程CUP(算是48核)在安装oracle10g x64时oracle10g最多支持单个服务器4个cpu,最多36核。

windows oracle实例启动流程

windows oracle实例启动流程Windows Oracle实例启动流程一、概述Oracle是一款常用的关系型数据库管理系统,支持在Windows操作系统上运行。

在使用Oracle数据库时,首先需要启动数据库实例,以便进行数据的存储和访问。

本文将介绍Windows上Oracle实例的启动流程。

二、检查环境配置在启动Oracle实例之前,需要确保系统环境已正确配置。

首先,检查Oracle软件是否已正确安装,并设置了相应的环境变量。

其次,检查Oracle数据库的参数配置文件(init.ora或spfile)是否正确设置,包括数据库名称、实例名称、监听器信息等。

三、启动监听器在启动Oracle数据库实例之前,需要先启动监听器。

监听器负责接收客户端连接请求,并将其转发给相应的数据库实例。

通过监听器的启动,可以使得客户端能够与数据库实例进行通信。

四、启动数据库实例1. 打开“命令提示符”窗口,进入Oracle软件的安装目录下的“bin”目录。

2. 输入命令“sqlplus /nolog”进入SQL*Plus命令行工具。

3. 在SQL*Plus命令行下,输入“conn / as sysdba”连接到数据库实例。

4. 输入命令“startup”启动数据库实例。

系统会自动读取参数配置文件,并加载数据库实例所需的数据文件。

5. 等待数据库实例启动完成,根据系统的响应信息确认数据库实例是否成功启动。

五、验证数据库实例状态在数据库实例启动完成后,可以通过以下方式验证数据库实例的状态:1. 在SQL*Plus命令行下,输入命令“conn / as sysdba”连接到数据库实例。

2. 输入命令“select status from v$instance;”查询数据库实例的状态。

如果状态显示为“OPEN”,则表示数据库实例已成功启动。

六、启动完成后的操作数据库实例启动完成后,可以进行以下操作:1. 连接数据库实例:在SQL*Plus命令行下,输入“conn 用户名/密码as sysdba”连接到数据库实例。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

Oracle在Windows操作系统上服务解析
/college/soft/b2c/os/htm2009/20090910_819066.shtml
Oracle在Windows操作系统上服务解析
如果在Windows操作系统上部署Oracle数据库系统,会将起动过程写入到操作系统的服务列表中。

并且一些主要的服务都会被设置为自动启动。

如此的话,当操作系统启动的时候,数据库会自动启动。

当关闭操作系统时这些服务也会自动关闭。

如下图所示,就是在Windows 操作系统下的Oralce数据库系统的典型服务。

一、了解主要的数据库服务
虽然上图中列举出了很多的Oracle数据库服务,但是在实际过程中我们用到的只是其中的四种。

分别为
A. OracleTNSListener(上图中的第二个服务,这服务对应于数据库的监听程序)
B.OracleServiceDTM123(上图中的第一个服务,对应于数据库例程)
C. OracleDBConsoledmt123(上图中最后一个服务,对应于数据库的企业管理器)
D. OracleiSQL*Plus(上图中的第五个服务,对应于数据库的Isql*plus工具)。

数据库管理员必须要对这四个服务的作用以及相互之间的关系了如指掌。

因为有时候处于维护的需要,数据库管理员需要通过这个服务列表来管理数据库的启动与关闭。

如当启动这些数据库服务的时候,会占用比较多的内存、CPU等系统资源。

有时候在Windows 操作系统上安装Oracle数据库系统可能只是出于测试、培训等目的。

为此没有必要让这些数据库服务一直运行着,而影响操作系统上的其它服务。

所以有时候数据库管理员不希望这些数据库服务随着操作系统的启动而自动启动。

他们希望能够在需要的时候手工启动这些服务。

如此的话,在不需要用到数据库的时候,这些服务就不会占用宝贵的例程。

此时数据库管理员就需要更改这些服务的启动方式。

如上图所示,可以将以上四种服务设置为“手动”启动方式。

如此的话,数据库系统不会随着操作系统的启动而自动启动。

如果需要更改这些服务的启动方式,只需要选中以上对应的服务,双击这个服务,会打开一个服务管理的对话框。

在这个对话框内我们可以发现有一个启动类型的下拉列表,只要选择“手动”,即可以更改这些服务的启动方式。

默认情况下,这个启动类型为“自动”。

如果一直不需要使用这些服务,甚至可以将启动类型设定为“已禁用”。

二、了解各种服务之间的关系。

Oracle各种服务之间有着比较复杂的关系,这个复杂性主要体现在他们有很严格的相互依存
关系。

当启动某个服务或者关闭某个服务的时候往往需要按照一定的顺序来启动或者关闭。

否则的话,可能会出现错误信息。

如就以上面四种主要服务来说,他们之间的关系就比较复杂。

一般情况下,只有先启动OracleTNSListener(监听程序)服务,才可以打开启动服务。

如果在没有打开这个服务的情况下,而打开其他数据库服务,如OracleDBConsoledmt123(数据库企业管理器)服务,就会出现错误。

系统会提示:“一些服务依赖于其它服务、系统驱动程序或者组的加载顺序,如果系统组建被停止或者运行不正常,则依赖于它的服务会受到影响”。

简单的说,就是监听程序服务没有打开的话,企业管理器服务就无法启动。

这两个服务之间存在着依存的关系。

类似的,企业管理器服务跟OracleServiceDTM123(数据库例程)服务之间也存在着千丝万缕的关系。

如果要使用企业管理器服务,那么必须先启动数据库例程服务。

否则的话,又会抛出以上的异常信息。

数据库服务在启动的时候会受到以上限制因素的影响。

在关闭这些服务的时候也是如此。

不过比服务启动的时候好的多,操作会在关闭服务的时候去自动检测是否存在相关的依存服务。

如果存在的话,会先自动关闭其它的服务,然后再关闭这个服务。

如现在操作系统中同时启动了数据库企业管理器服务与数据库例程这两个服务。

现在数据库管理员暂时不用Oracle数据库了,他就要关闭数据库例程服务以释放其占用内存与CPU资源。

此时在关闭这个服务的时候,操作系统发现现有启动的服务(企业管理器)需要用到这个正在关闭的服务。

此时操作系统会先关闭企业管理器服务,然后再关闭数据库例程服务。

也就是说,服务在启动的时候,如果服务之间存在依存关系,操作系统是不会自动启动的。

而是抛出异常信息,让数据库管理员手工启动相关联的服务。

但是在关闭服务的时候,则如果遇到相互依存的服务,操作系统会自动关闭相互依存的服务。

为此在关闭某个服务的时候,数据库管理员一定要了解他们之间相互依存关系。

要防止为了关闭某个服务,而同时关闭其它正在使用的服务。

此时可能会给用户造成不必要的损失。

三、利用服务启动数据库与利用命令启动数据库的差异。

在使用命令启动数据库的时候,可以利用不同的选项让数据库启动在不同的状态中。

如通常情况下利用命令来启动数据库,带上不同的选项,可以让数据库只启动例程(带上Nomount 选项)、挂载数据库而不打开数据库(采用mount选贤)、打开数据库(采用open选项)或者以受限模式(带上restrict选项)打开数据库系统。

有时候以某种特定的方式来打开数据库系统对于数据库管理员维护数据库是非常重要的。

如数据库管理员需要将某个数据库文件移动到新的硬盘上以减少硬盘的I/Q冲突或者需要将数据库从非归档模式转换到归档模式的时候,就需要将数据库启动到挂载模式。

即打开控制文件而没有打开数据文件。

此时可以更改控制文件中的内容(控制文件已经打开);也可以移动数据文件(数据文件在挂载模式下还没有打开。

只有在这个模式下才能够完成对数据文件的更名、移动等操作。

而且利用命令还可以在不同的模式下进行转换。

如现在处于数据库挂载模式,则可以利用alterdatabaseopen命令将数据库转换为打开模式。

这些功能通过Oracle服务都是无法完成的。

而通过服务来控制数据库的启动与关闭,就不能够做到这么精细的控制。

一般情况下,只有监听程序服务、数据库例程服务和数据库企业管理器服务三个服务同时打开的情况下,对应的数据库才处于启动状态。

或者说,只有数据库企业管理器服务启动时数据库才处于打开状态。

因为只有有监听程序服务、数据库例程服务这两个服务启动后,才可以启动企业管理器服务。

所以一般情况下,企业管理器服务启动了,就表示这三个服务已经同时启动。

如果有一个服务还处于关闭的状态,那么数据库就是处于关闭状态。

可见通过命令与通过服务来管理数据库的启动与关闭存在很多的差异。

一般情况下笔者建议大家还是通过命令来维护数据库的启动与关闭操作为好。

不过通过服务,也可以起到一些命
令无法实现的功能。

如现在数据库管理员不希望数据库随着操作系统的启动而自动启动,此时就可以通过更改对应服务启动类型来实现。

如可以将上面的服务的启动类型设置为“手工”启动。

此时当操作系统启动时,就不会自动启动数据库系统。

不过这主要用于一些测试服务器或者培训服务器上。

对于在企业生产环境中使用的数据库服务器,往往要将这个服务设置为自动启动。

即让操作系统启动时自动启动数据库服务,以减少数据库管理员的工作量。

所以说,虽然通过服务来管理数据库的启动与关闭进程,属于粗放型的管理。

但是有时候数据库管理员确实也离不开它。

最后需要提醒的一点是,在Windows操作系统中,默认情况下数据库系统是会随着操作系统的启动而自动启动的。

而在Linux等到作系统平台上,由于没有这种服务的管理机制,所以在Linux操作系统部署Oracle数据库系统的时候,默认情况下是不会随着操作系统的启动而启动的。

如果数据库管理员需要让其随着操作系统启动而自动启动,就需要在启动列表中加入相关的指令才行。

这是在两个不同操作系统上部署Oracle数据库的一个很明显的区别。

相关文档
最新文档