2007-04-04
详解:数据库名、实例名、ORACLE_SID、数据库域名、全局数据库名、服务名
关键字: oracle
数据库名、实例名、数据库域名、全局数据库名、服务名,
这是几个令很多初学者容易混淆的概念。相信很多初学者都与我一样被标题上这些个概念搞得一头雾水。我们现在就来把它们弄个明白。
一、数据库名
什么是数据库名?
数据库名就是一个数据库的标识,就像人的身份证号一样。他用参数DB_NAME表示,如果一台机器上装了多全数据库,那么每一个数据库都有一个数据库名。在数据库安装或创建完成之后,参数DB_NAME被写入参数文件之中。格式如下:
DB_NAME=myorcl
...
在创建数据库时就应考虑好数据库名,并且在创建完数据库之后,数据库名不宜修改,即使要修改也会很麻烦。因为,数据库名还被写入控制文件中,控制文件是以二进制型式存储的,用户无法修改控制文件的内容。假设用户修改了参数文件中的数据库名,即修改DB_NAME的值。但是在Oracle启动时,由于参数文件中的
DB_NAME与控制文件中的数据库名不一致,导致数据库启动失败,将返回
ORA-01103错误。
数据库名的作用
数据库名是在安装数据库、创建新的数据库、创建数据库控制文件、修改数据结构、备份与恢复数据库时都需要使用到的。
有很多Oracle安装文件目录是与数据库名相关的,如:
winnt: d:\oracle\product\10.1.0\oradata\DB_NAME\...
Unix: /home/app/oracle/product/10.1.0/oradata/DB_NAME/...
pfile:
winnt: d:\oracle\product\10.1.0\admin\DB_NAME\pfile\ini.ora
Unix:
/home/app/oracle/product/10.1.0/admin/DB_NAME/pfile/init$ORACLE_SID.ora
跟踪文件目录:
winnt: /home/app/oracle/product/10.1.0/admin/DB_NAME/bdump/...
另外,在创建数据时,careate database命令中的数据库名也要与参数文件中
DB_NAME参数的值一致,否则将产生错误。
同样,修改数据库结构的语句alter database,当然也要指出要修改的数据库的名称。
如果控制文件损坏或丢失,数据库将不能加载,这时要重新创建控制文件,方法是以nomount方式启动实例,然后以create controlfile命令创建控制文件,当然这个命令中也是指指DB_NAME。
还有在备份或恢复数据库时,都需要用到数据库名。
总之,数据库名很重要,要准确理解它的作用。
查询当前数据名
方法一:select name from v$database;
方法二:show parameter db
方法三:查看参数文件。
修改数据库名
前面建议:应在创建数据库时就确定好数据库名,数据库名不应作修改,因为修改数据库名是一件比较复杂的事情。那么现在就来说明一下,如何在已创建数据之后,修改数据库名。步骤如下:
1.关闭数据库。
2.修改数据库参数文件中的DB_NAME参数的值为新的数据库名。
3.以NOMOUNT方式启动实例,修建控制文件(有关创建控制文件的命令语法,请参考oracle文档)
二、数据库实例名
什么是数据库实例名?
数据库实例名是用于和操作系统进行联系的标识,就是说数据库和操作系统之间的交互用的是数据库实例名。实例名也被写入参数文件中,该参数为
instance_name,在winnt平台中,实例名同时也被写入注册表。
数据库名和实例名可以相同也可以不同。
在一般情况下,数据库名和实例名是一对一的关系,但如果在oracle并行服务器架构(即oracle实时应用集群)中,数据库名和实例名是一对多的关系。这一点在第一篇中已有图例说明。
查询当前数据库实例名
方法一:select instance_name from v$instance;
方法二:show parameter instance
方法三:在参数文件中查询。
数据库实例名与ORACLE_SID
虽然两者都表是oracle实例,但两者是有区别的。instance_name是oracle数据库参数。而ORACLE_SID是操作系统的环境变量。ORACLD_SID用于与操作系统交互,也就是说,从操作系统的角度访问实例名,必须通过ORACLE_SID。在winnt不台,ORACLE_SID还需存在于注册表中。
且ORACLE_SID必须与instance_name的值一致,否则,你将会收到一个错误,在unix平台,是“ORACLE not available”,在winnt平台,是“TNS:协议适配器错误”。
数据库实例名与网络连接
数据库实例名除了与操作系统交互外,还用于网络连接的oracle服务器标识。当你配置oracle主机连接串的时候,就需要指定实例名。当然8i以后版本的网络组件要求使用的是服务名SERVICE_NAME。这个概念接下来说明。
三、数据库域名
什么是数据库域名?
在分布工数据库系统中,不同版本的数据库服务器之间,不论运行的操作系统是unix或是windows,各服务器之间都可以通过数据库链路进行远程复制,数据库域名主要用于oracle分布式环境中的复制。举例说明如:
全国交通运政系统的分布式数据库,其中:
福建节点:fj.jtyz
福建厦门节点:xm.fj.jtyz
江西:jx.jtyz
江西上饶:sr.jx.jtyz
这就是数据库域名。
数据库域名在存在于参数文件中,他的参数是db_domain.
查询数据库域名
方法一:select value from v$parameter where name = 'db_domain';
方法二:show parameter domain
方法三:在参数文件中查询。
全局数据库名
全局数据库名=数据库名+数据库域名,如前述福建节点的全局数据库名是:oradb.fj.jtyz
四、数据库服务名
什么是数据库服务名?
从oracle9i版本开始,引入了一个新的参数,即数据库服务名。参数名是SERVICE_NAME。
如果数据库有域名,则数据库服务名就是全局数据库名;否则,数据库服务名与数据库名相同。
查询数据库服务名
方法一:select value from v$parameter where name = 'service_name';
方法二:show parameter service_name
方法三:在参数文件中查询。
数据库服务名与网络连接
从oracle8i开如的oracle网络组件,数据库与客户端的连接主机串使用数据库服务名。之前用的是ORACLE_SID,即数据库实例名。
数据库名、实例名、服务名与DBA管理工具。
数据库名:
数据库名是用于区分一个数据的内部标识,即是Oracle数据库的内部标记,是以二进制方式存储于数据库控制文件(不可编辑)中的参数,在参数文件PFILE中也存在DB_NAME属性(可以编辑)。作用:数据库名DB_NAME是数据库的内部管理标记,在安装数据库、创建新的数据库、创建数据库控制文件、修改数据库结构、使用数据库备份与恢复工具进行数据库备份时都需要使用数据名。在安装数据库之后,数据库的物理结构文件目录中要使用数据库名:
%oracle_home%\oradata\FIRST\*.*(其中first为DB_NAME指定的数据库名)
数据库参数文件PFILE也需要使用:
%oracle_home%\admin\FIRST\pfile\*.*(其中first为DB_NAME指定的数据库名)
创建/修改数据库使用:
create database first……(其中first为DB_NAME指定的数据库名)
alter database first……
数据库备份恢复:
$rman target sys/sys nocatalog
此时出现控制台窗口显示:
连接到目标数据库:first(DBID=2269501657)
可以通过select name,dbid from v$database;查看数据库的dbid 在rman控制台中可以通过report schema;查看数据库的信息。
数据库名的指定:在安装过程中让输入全局数据库名,这是可以输入带域或不带域的数据库名:first.wes则first为数据库名,wes为域名。
查看数据库名的方法:
(1)select name from v$database
(2)show parameter db
(3)在参数文件pfile中查询。
数据库实例名:
Oracle数据库名是用于区分一个数据的内部标识,是以二进制方式存储于数据库控制文件中的参数。而数据库实例名则用于和操作系统之间的联系,也就是说,用于对外连接时使用,在操作系统中要取得与数据库之间的交互则必须使用数据库实例名,例如:要和某一个数据库服务器连接,则必须知道其数据库实例名,知道数据库名是没作用的。与数据库不同,在安装或创建数据库之后,实例名是允许修改的。数据库安装完成后,该实例名被写入数据库参数文件PFILE 中:用Instance_name=first表示。数据库名与实例名可以相同也可以不相同。
数据库名和实例名一般为一一对应关系,即:一个数据库名对应一个实例名。
在群集系统中可以一对多关系。
连接实例时是通过SID来指定要连接的对象的。
例:db_name=first
db_domain=wes
instance_name=ora
service_name=first.wes
查询数据库实例名的方法:
(1)select instance_name from v$instance
(2)show parameter instance
(3)在参数文件中查询:instance_name
数据库实例名:ORACLE_SID和INSTANCE_NAME之间的关系。
参数INSTANCE_NAME是Oracle数据库参数,此参数可在参数文件中查询到,而参数ORACLE_SID则是操作系统环境变量。
操作系统环境变量ORACLE_SID用于和操作系统交互,也就是说在操作系统中要得到实例名必须使用ORACLE_SID,并在注册表中注册ORACLE_SID服务。
当通过网络连接其他oracle时则是通过ORACLE_SID寻找其他机子ORACLE服务的。数据库域名:主要用于Oracle分布式环境中数据的远程复制。
查询数据库域名
(1)select value from v$parameter
(2)show parameter domain
(3)在参数文件中查询。
全局数据库名:
数据库名+域名
数据库服务名:
查询数据库服务名
(1)select value from v$parameter where name=’service-name’
(2)show parameter service_names
(3)在参数文件中查询。Service_names
数据库服务名的作用:当使用网络驱动Net8i,Oracle9i Net Service与
Oracle8i,Oracle9i服务器连接时,其主机字符串将不使用实例名,而使用数据库服务名。
Oracle数据库系统紧急故障处理方法 Oracle物理结构故障是指构成数据库的各个物理文件损坏而导致的各种数据库故障。这些故障可能是由于硬件故障造成的,也可能是人为误操作而引起。所以我们首先要判断问题的起因,如果是硬件故障则首先要解决硬件问题。在无硬件问题的前提下我们才能按照下面的处理方发来进一步处理。 控制文件损坏: 控制文件记录了关于oracle的重要配置信息,如数据库名、字符集名字、各个数据文件、日志文件的位置等等信息。控制文件的损坏,会导致数据库异常关闭。一旦缺少控制文件,数据库也无法启动,这是一种比较严重的错误。 损坏单个控制文件: 1. 确保数据库已经关闭,如果没有用下面的命令来关闭数据库: svrmgrl>shutdown immediate; 2. 查看初始化文件$ORACLE_BASE/admin/pfile/initORCL.ora,确定所有控制文件的路径。 3. 用操作系统命令将其它正确的控制文件覆盖错误的控制文件。 4. 用下面的命令重新启动数据库: svrmgrl>startup; 5. 用适当的方法进行数据库全备份。 损坏所有的控制文件: 1. 确保数据库已经关闭,如果没有用下面的命令来关闭数据库: svrmgrl>shutdown immediate; 2. 从相应的备份结果集中恢复最近的控制文件。对于没有采用带库备份的点可以直接从磁带上将最近的控制文件备份恢复到相应目录;对于采用带库备份的点用相应的rman脚本来恢复最近的控制文件。 3. 用下面的命令来创建产生数据库控制文件的脚本:
svrmgrl>startup mount; svrmgrl>alter database backup controlfile to trace noresetlogs; 4. 修改第三步产生的trace文件,将其中关于创建控制文件的一部分语句拷贝出来并做些修改,使得它能够体现最新的数据库结构。假设产生的sql文件名字为createcontrol.sql. 注意: Trace文件的具体路径可以在执行完第3)步操作后查看 $ORACLE_BASE/admin/bdump/alert_ORCL.ora文件来确定。 5. 用下面命令重新创建控制文件: svrmgrl>shutdown abort; svrmgrl>startup nomount; svrmgrl>@createcontrol.sql; 6. 用适当的方法进行数据库全备份。 重做日志文件损坏: 数据库的所有增、删、改都会记录入重做日志。如果当前激活的重做日志文件损坏,会导致数据库异常关闭。非激活的重做日志最终也会因为日志切换变为激活的重做日志,所以损坏的非激活的重做日志最终也会导致数据库的异常终止。在ipas/mSwitch中每组重做日志只有一个成员,所以在下面的分析中只考虑重做日志组损坏的情况,而不考虑单个重做日志成员损坏的情况。 确定损坏的重做日志的位置及其状态: 1. 如果数据库处于可用状态: select * from v$logfile; svrmgrl>select * from v$log; 2. 如果数据库处于已经异常终止: svrmlgr>startup mount; svrmgrl>select * from v$logfile;
Oracle数据库startup和shutdown方式 昨天晚上,回去好好整理了下关于"Oracle数据库提供了几种不同数据库启动和关闭方 式",然后,自己就回去就写了个示例. 其中,就出现了1个问题: ORA-12528: TNS:listener: all appropriate instances are blocking new connections 于是到网上就大量的查阅资料,哈哈,好不错,解决方法找到了.其中红色的就是主要解决方法.下面就把我整理的东西给共享下. 一:注意事项 要启动和关闭数据库,必须要以具有Oracle 管理员权限用户登陆,通常也就是以具有SYSDBA 权限用户登陆。一般我们常用INTERNAL用户来启动和关闭数据库(INTERNAL用户实际上是SYS用户以SYSDBA连接同义词)。Oracle数据库新版本将逐步淘汰INTERNAL这个内部用户,所以我们最还是设置DBA用户具有SYSDBA权限。 二:启动一个数据库需要三个步骤 1、创建一个Oracle实例(非安装阶段) 2、由实例安装数据库(安装阶段) 3、打开数据库(打开阶段) 三:Startup(启动数据库命令) 1、STARTUP NOMOUNT NONOUNT选项仅仅创建一个Oracle实例。读取init.ora初始化参数文件、启动后台进程、初始化系统全局区(SGA)。Init.ora文件定义了实例配置,包括内存结构大小和启动后台进程数量和类型等。实例名根据Oracle_SID设置,不一定要与打开数据库名称相同。当实例打开后,系统将显示一个SGA内存结构和大小列表,如下所示: SQL> startup nomount ORACLE 例程已经启动。 Total System Global Area 35431692 bytes Fixed Size 70924 bytes Variable Size 18505728 bytes Database Buffers 16777216 bytesu Redo Buffers 77824 bytes 2、STARTUP MOUNT 该命令创建实例并且安装数据库,但没有打开数据库。Oracle系统读取控制文件中关于数据文件和重作日志文件内容,但并不打开该文件。这种打开方式常在数据库维护操作中使用,如对数据文件更名、改变重作日志以及打开归档方式等。在这种打开方式下,除了可以看到SGA系统列表以外,系统还会给出"数据库装载完毕"提示。 3、STARTUP
以下资料来自Oracle数据库精讲与疑难解析,仅供学习 一、Oracle数据库的启动 Oracle数据库的启动要经历3个阶段。 阶段一:启动实例 (Start An Instance)--nomount 阶段二:装载数据库 (Mount The Database)--mount 阶段三:打开数据库 (Open The Database)--open 1.启动实例 ①读取参数文件(Initialization Parameter File, PFILE 或者 Server Parameter Files, SPFILE) ②Oracle根据参数文件中的参数,分配系统全局区(System Global Area, SGA) ③启动后台进程(DBWR: 数据库写入进程,LGWR:日志写入进程,CKPT:检查点进程,SMON: 系统监控进程,PMON:进程监控进程,ARCH归档进程等)。 这些内存和后台进程组合起来组成实例(Oracle Instance)。 参数文件(PFILE或者SPFILE)还指定了控制文件(Control File)的位置。 2.装载数据库 打开控制文件(Control File),从控制文件中获得数据文件(Data File)和联机日志文件(Redo Log File)的名字和位置。这时候,Oracle已经把实例和数据库关联起来。对于普通用户,数据库 还是不可访问。 3.打开数据库 Oracle打开数据文件 (Data Files) 和联机日志文件 (Redo Log File) 。这时候,数据库可以使用。 普通可以登录数据库,对数据库进行操作。 4.分步启动Oracle STARTUP NOMOUNT; ALTER DATABASE MOUNT; ALTER DATABASE OPEN; 5.直接启动Oracle STARTUP (相当于上面三个过程依次进行) 6.使用特定初始化参数文件 (Initialization Parameter File, FILE) 启动数据库 STARTUP PFILE='C: \oracle\product\10.2.0\db_1\dbs\PFILEORCL.ORA'; 7.把数据库启动到限制模式(RESTRICT) 在限制模式下,只有CREATE SESSION 和RESTRICTED SESSION权限的用户可以访问数据库。 ①如果数据库是关闭的 STARTUP RESTRICT; ②如果数据库是开启的 ALTER SYSTEM enable restricted session; 8.以只读模式(Read Only)打开数据库 ①如果数据库是关闭的 STARTUP open read only; ②如果数据库是开启的 ALTER DATABASE OPEN read only; 在直读模式下,数据文件和日志文件都禁止写操作。整个数据库是只读的。 但是允许数据库恢复(Database Recovery)及其他不会产生回滚的操作。 9.把数据库启动到回复模式 (RECOVER) STARTUP OPEN RECOVER; 10.重启数据库(RESET) STARTUP FORCE
服务器(O R A C L E)启动 与关闭
一、重启服务器顺序: 关闭数据库(toppord/toptest)→重启设备(reboot)→开启数据 库(只需要开启toptest,topprod已设置自动启用) 二、Linux下启动 oracle 数据库 -- ssh连接上数据库主机,正式区DB(172.16.13.228) / 测试区DB(172.16.13.224) -- su – root/tiptop -- su – oracle -- echo $ORACLE_SID #检查当前实例 -- export ORACLE_SID=topprod(正式区)/ export ORACLE_SID=topprod(测试区) # 设置实例 -- lsnrctl start -- sqlplus / as sysdba -- startup 至此,已将数据库开启到OPEN状态。 三、Linux下关闭ORACLE数据库 -- ssh连接上正式区DB(172.16.13.228) / 测试区DB(172.16.13.224) -- su - root/root #切换至ROOT管理员用户 -- su – oracle #切换至oracle用户(oracle用户密码原为oracle,但不正 确) -- echo $ORACLE_SID #检查当前实例 -- export ORACLE_SID=topprod(正式区)/ export ORACLE_SID=topprod(测试区) #设置实例
-- sqlplus / as sysdba #以数据库管理员身份进入数据库 -- shutdown immediate #关闭数据库 -- su – root/root #切换回系统ROOT用户 -- reboot #重启服务器 检查服务器资源命令 AP:top DB:topas 备注: oracle数据库几种关闭方式: 1、shutdown normal 正常方式关闭数据库 关闭时间较长,等待事务完成才会关闭数据库。 2、shutdown immediate 立即方式关闭数据库(一般使用该方式) 会结束事务,将未提交的事务全部回滚。在SVRMGRL中执行shutdown immediate,数据库并不立即关闭,而是在Oracle执行某些清除工作后才关闭(终止会话、释放会话资源),当使用shutdown不能关闭数据库时,shutdown immediate可以完成数据库关闭的操作。 3、shutdown abort 直接关闭数据库 会造成数据库的不一致,再次启动数据库会自动执行恢复,会造成等待时间较长。正在访问数据库的会话会被突然终止,如果数据库中有大量操作正在执行,这时执行shutdown abort后,重新启动数据库需要很长时间。
Oracle 数据库启动过程各步骤详解 Oracle数据库的完整启动过程包含以下3个步骤:简单地说,就是:启动实例-->加载数据库-->打开数据库.------------------------------------------------------------------------------------------------------------------ 1.创建并启动与数据库对应的实例。在启动实例时,将为实例创建一系列后台进程和服务进程,并且在内存中创建SGA 区等内存结构。在实例启动的过程中只会使用到初始化参数文件,数据库是否存在对实例的启动没有影响。如果初化参数设置有误,实例将无法启动。 2.为实例加载数据库。加载数据库时实例将打开数据库的控制文件,从控制文件中获取数据库名称、数据文件的位置和名称等有关数据库物理结构的信息,为打开数据库做好准备。如果控制文件损坏,则实例将无法加载数据库。在加载数据库阶段,实例并不会打开数据库的物理文件----数据文件和重做日志文件。 3.将数据库设置为打开状态。打开数据库时,实例将打开所有处于联机状态的数据文件和重做日志文件。控制文件中的任何一个数据文件或重做日志文件无法正常打开,数据库都将返回错误信息,这时需要进行数据库恢复。只有将数据库设置为打开状态后,数据库才处于正常状态,这时普通用户才能够访问数据库。在很多情况下,启动数据库时并不是直接完成上述
3个步骤,而是逐步完成的,然后执行必要的管理操作,最后才使数据库进入正常运行状态。所以,才有了各种不同的启动模式用于不同的数据库维护操作。 ============================================== ===============================Oracle 数据库启动与关闭各种方式详解整理 前言: 首先要知道,Oracle数据库的完整启动过程是分步骤完成的,包含以下3个步骤:启动实例-->加载数据库-->打开数据库详解看这里: https://www.wendangku.net/doc/c617349021.html,/lutinghuan/article/details/7484103因为Oracle数据库启动过程中不同的阶段可以对数据库进行不同的维护操作,对应我们不同的需求,所以就需不同的模式启动数据库。 小白:在启动实例之前,需要先启动SQL*Plus,并以一个用户身份连接到Oracle。启动模式详解1.NoMount 模式(启动实例不加载数据库)命令:startup nomount 讲解:这种启动模式只会创建实例,并不加载数据库,Oracle 仅为实例创建各种内存结构和服务进程,不会打开任何数据文件。在NoMount模式下,只能访问那些与SGA区相关的数据字典视图,包括V$PARAMETER、V$SGA、V$PROCESS 和V$SESSION等,这些视图中的信息都是从SGA区中获
oracle启动的三个阶段 三个阶段: 1. 启动到nomount状态,这个阶段数据库读取spfile/pfile文件中的参数,启动数据库实例。 1-1读取初始化参数文件.注意读取顺序.主要是指定控制文件及数据库实例名1-2分配系统全局区 1-3启动后台进程 1-4打开alertSID.log文件和跟踪文件 补充说明: 在nomount阶段,oracle 会查找参数文件,启动实例,参数文件的查找顺序为spfile.ora,init
补充说明: 在mount阶段,oracle会打开控制文件,加载数据库,此时数据库的基本结构信息都能够查询了,但是还不能查询用户表的内容。 3. 启动到open状态,这个阶段数据库打开控制文件里描述的文件。 3.打开数据库--database open 3-1打开数据文件 3-2打开联机重做日志文件. 补充说明: 在open阶段,就是打开数据库,在这个阶段SMON会对数据文件的检查点进行一致性检查,不一致时smon会介入进行恢复。 Oracle中数据库实例和数据库是独立实体,可以独立存在。因此启动过程分成多个阶段:首先在内存中构建实例,然后通过安装数据库启用到数据库的连接,最后打开数据库来使用它。Oracle数据库有四种状态:SHUTDOWN:所有数据库文件都关闭,不存在实例 NOMOUNT:实例在内存中创建(SGA已经被创建,根据参数文件指定启动某些后台进程),但没有连接到任何数据库。 MOUNT:实例定位并读取数据库控制文件。 OPEN:所有的数据库文件都被定位和打开,终端用户可以使用数据库。 数据库的启动可分为三个阶段:
Oracle数据库重新启动的方法 2010-11-15 10:02 佚名互联网我要评论(0)字号:T | T Oracle数据库是大家都非常熟悉的数据库系统,下文就将教您重新启动Oracle的详细步骤方法,希望可以对您能有所帮助。 AD: Oracle数据库重新启动应该如何实现呢?这是很多人都提到过的问题,下面就为您详细介绍Oracle数据库重新启动的方法,供您参考。 1. 停应用层的各种程序。 2. 停oralce的监听进程: $lsnrctl stop 3. 在独占的系统用户下,备份控制文件: SQL>alter database backup controlfile to trace; 4. 在独占的系统用户下,手工切换重作日志文件,确保当前已修改过的数据存入文件: SQL>alter system switch logfile; 5. 在独占的系统用户下,运行下面SQL语句,生成杀数据库用户连接的kill_all_session.sql文件: set head off; set feedback off; set newpage none; spool /oracle_backup/bin/kill_all_session.sql select 'alter system kill session '''||sid||', '||serial#||''';' from v$session where username is not null; spool off; 6. 在独占的系统用户下,执行杀数据库用户连接的kill_all_session.sql文件: SQL>@/oracle_backup/bin/kill_all_session.sql
ORACLE数据库启动过程祥解 本文目的 在ORACLE数据库治理中,启动数据库遇到问题较多。而且多数ORACLE的使用者在数据库启动过程中遇到错误提示,无从下手使用了错误的方法修改数据库的相关文件,而从造成了不必要的数据缺失。通过本文使读者对ORACLE数据库的启动过程有一个较为详细的了解,遇到启动过程的错误不至于手忙脚乱造成更大的缺失。 一、数据库启动方法 1、UNIX平台数据库启动方法 使用oracle用户登录服务器 $>sqlplus ‘/ as sysdba’(使用sys用户登录数据库) Sql>(系统提示连接到一个没有启动的实例) Sql>startup(正常启动数据库) 2、WINDOWS平台数据库启动方法 ●使用手工方式启动数据库。 ?打开DOS窗口 ?C:\>ordim –startup –sid ora9i(其中ora9i为实例的名称) 在WINDOWS平台启动ORACLE时经常遇到如下错误:
以上错误是由于,没有启动ORACLE数据库在WINDOWS平台中的服务。 正确启动过程如下: C:\>oradim -startup -sid ora9i C:\>lsnrctl start LSNRCTL for 32-bit Windows: Version 9.2.0.1.0 - Production on 28-7月-2006 22:24 :16 Copyright (c) 1991, 2002, Oracle Corporation. All rights reserved. 启动tnslsnr:请稍候... TNSLSNR for 32-bit Windows: Version 9.2.0.1.0 - Production 系统参数文件为c:\oracle\ora92\network\admin\listener.ora 写入c:\oracle\ora92\network\log\listener.log的日志信息监听:(DESCRIPTION=(ADDRESS=(PROTOCOL=ipc)(PIPENAME=\\.\pipe\EXT PROC0ipc)))监听: (DESCRIPTION=(ADDRESS=(PROTOCOL=tcp)(HOST=dba)(PORT=1521)) )正在连接到 (DESCRIPTION=(ADDRESS=(PROTOCOL=IPC)(KEY=EXTPROC0))) LISTENER 的STATUS ------------------------ 别名LISTENER 版本TNSLSNR for 32-bit Windows: Version 9.2.0.1.0 - Produc tion 启动日期28-7月-2006 22:24:16 正常运行时刻0 天0 小时0 分 4 秒 跟踪级别off 安全性OFF SNMP OFF 监听器参数文件c:\oracle\ora92\network\admin\listener.ora
Linux平台Oracle多个实例启动说明: 环境说明:oracle实例1的SID为orcl(为默认启动的实例),第二个实例的SID为orcl2 启动步骤: 1)启动数据库实例完成后,启动数据库监听服务 #lsnrctl start 2)切换到需要启动的数据库实例下,如下表示启动的是orcl数据库实例,若要启动orcl2,则修改ORACLE_SID=orcl2 #export ORACLE_SID=orcl 3)使用oracle账号登陆Linux系统 #oracle #passwd:oraclepass 4)启动数据库实例 #sqlplus /nolog #conn /as sysdba #startup #exit 5)启动实例对应的管理控制台服务 #emctl start dbconsole oracle数据库启动和关闭方式 一、几种启动方式: 1、startup nomount 非安装启动,这种方式启动下可执行:重建控制文件、重建数据库 启动instance,即启动SGA和后台进程,这种启动只需要init.ora文件。 2、startup mount dbname 安装启动,这种方式启动下可执行:数据库日志归档、数据库恢复、重新命名一些数据库文件 如:系统表空间或日志文件。 执行“nomount”,然后打开控制文件 3、startup open dbname 先执行“nomount”,然后执行“mount”,再打开包括Redo log文件在内的所有数据库文件,, 这种方式下可访问数据库中的数据。 4、startup,等于以下三个命令 startup nomount alter database mount alter database open 5、startup restrict 约束方式启动 这种方式能够启动数据库,但只允许具有一定特权的用户访问 非特权用户访问时,会出现以下提示: ERROR: ORA-01035: ORACLE 只允许具有RESTRICTED SESSION 权限的用户使用
Oracle数据库的启动与关闭方法 这篇文章主要介绍了Oracle数据库的启动与关闭方法,需要的朋友可以参考下一、启动数据 $sqlplus "sys/pass as sysdba" sql>startup 二、启动监听器 数据库启动后,如果未启动监听进程,则客户端无法与数据库连接。监听进程的启动方法为: $lsnrctl start 在widnows中,可以从服务列表中启动监听器。 监听里程配置文件为listener.ora,位于目录/home/app/oracle/product/10.1.0/db1/ne twork/admin/。 此配置文件分为两部分,一部分为监听程序本身的配置,包括协议,地址,端口号等;另一部分为监听程序所连接的数据库的实例信息,包括:实例名,全局数据库名,oracle主目录等。监听器可以利用oracle net config 向导来配置。 要显示监听器的运行状态:$lsnrctl status; 要停止监听器:$lsnrctl stop。 三、数据库的启动过程 分为三个阶段: 1. 启动实例,包括以下操作: 1) 读取参数文件 2) 分配SGA 3) 启动后台进程 2.装载数据库
装载数据库是将数据库与已启动的实例相联系。数据库装载后,数据库保持关闭状态。3.打开数据库 此步骤使用数据库可以进行正常的操作的处理。主要是打开控制文件,数据库文件和 日志文件。 四、数据库启动参数 1.NOMOUNT:只启动实例,不装载数据库 sql>startup nomount 2.MOUNT:启动实例,并装载数据,但不打开数据库 sql>startup mount 3.READ ONLY:将数据库置为只读 sql>startup mount sql>alter database open read only 4.READ WRITE:以可读写方式打开数据,这是默认方式 sql>startup mount sql>alter database open read write 5.OPEN:打开数据库,这是默认方式 sql>startup mount sql>alter database open; 6.RESTRICT:以受限方式打开,只有具有RESTRICTED SESSION权限的用户才可以连接数据 库 sql>startup restrict 7.PFILE:启时指定参数文件 sql>startup pfile=/u02/user/mypfile.ora 8.FORCE:以强制方式启动数据库 sql>startup pfile=/u02/user/mypfile.ora open restrict force
一、重启服务器顺序: 关闭数据库(toppord/toptest)重启设备(reboot)开启数据库(只需要开启toptest,topprod已设置自动启用) 二、Linux下启动 oracle 数据库 -- ssh连接上数据库主机,正式区DB(172.16.13.228) / 测试区DB(172.16.13.224) -- su – root/tiptop -- su – oracle -- echo $ORACLE_SID #检查当前实例 -- export ORACLE_SID=topprod(正式区)/ export ORACLE_SID=topprod(测试区) #设置实例 -- lsnrctl start -- sqlplus / as sysdba -- startup 至此,已将数据库开启到OPEN状态。 三、Linux下关闭ORACLE数据库 -- ssh连接上正式区DB(172.16.13.228) / 测试区DB(172.16.13.224) -- su - root/root #切换至ROOT管理员用户 -- su – oracle #切换至oracle用户(oracle用户密码原为oracle,但不正确) -- echo $ORACLE_SID #检查当前实例 -- export ORACLE_SID=topprod(正式区)/ export ORACLE_SID=topprod(测试区) #设置实例-- sqlplus / as sysdba #以数据库管理员身份进入数据库 -- shutdown immediate #关闭数据库 -- su – root/root #切换回系统ROOT用户 -- reboot #重启服务器 检查服务器资源命令 AP:top DB:topas
Linux下启动和关闭Oracle服务和监听程序 分类:Database2008-08-29 10:54 4195人阅读评论(0) 收藏举报oraclelinux数据库sqlshell任务 原文链接:https://www.wendangku.net/doc/c617349021.html,/lgnemo/blog/item/481c0266faff6622aa184cb5.html oracle数据库是重量级的,其管理非常复杂,将其在linux平台上的启动和关闭步骤整理一下。 安装完毕oracle以后,需要创建oracle系统用户,并在/home/oracle下面的.bash_profile 添加几个环境变量:ORACLE_SID,ORACLE_BASE,ORACLE_HOME。比如: export ORACLE_SID=test export ORACLE_BASE=oracle_install_dir export ORACLE_HOME=xxx 启动步骤:注意$代表shell命令提示符,这里的oracle是9.0以上版本。 1.$ su - oracle 2.$ sqlplus / nolog 3.sql> conn / as sysdba 4.sql> startup (一般不需要加参数,只要设置好环境变量) 5.sql> quit (退出sql模式) 6.$ lsnrctl start (启动监听器) 关闭oracle 1.$ lsnrctl stop(关闭监听器,在这之前,应该先关闭应用程序) 2.$ sqlplus /nolog 3.sql>shutdown 其参数:shutdown有四个参数,四个参数的含义如下: Normal 需要等待所有的用户断开连接 Immediate 等待用户完成当前的语句 Transactional 等待用户完成当前的事务 Abort 不做任何等待,直接关闭数据库 normal需要在所有连接用户断开后才执行关闭数据库任务,所以有的时候看起来好象命令没有运行一样!在执行这个命令后不允许新的连接 immediate在用户执行完正在执行的语句后就断开用户连接,并不允许新用户连接。
以下的操作是在DOS 下的sqlplus下执行的 一,连接 1,直接运行sqlplus,然后要求输入用户名和密码。如果你是管理员的身份,应该在用户名后加上as sysdba(以下例子使用sysdba身份). 如下图: 2,运行如下语句直接进入: Sqlplus 用户名/密码as sysdba 如下图: 3,运行sqlplus /nolog, 此语句只是进入了sqlplus编辑器,而没有连接到数据库。所以还需要使用connect语句来连接到数据库。如下图:
二,关闭数据库 停止数据库使用shutdown命令来完成。 此命令带有四个参数,四个参数的含义如下: Normal 需要等待所有的用户断开连接 Immediate 等待用户完成当前的语句 Transactional 等待用户完成当前的事务 Abort 不做任何等待,直接关闭数据库 normal需要在所有连接用户断开后才执行关闭数据库任务,所以有的时候看起来好象命令没有运行一样!在执行这个命令后不允许新的连接 immediate在用户执行完正在执行的语句后就断开用户连接,并不允许新用户连接。 transactional 在拥护执行完当前事物后断开连接,并不允许新的用户连接数据库。 abort 执行强行断开连接并直接关闭数据库。 前三种方式不回丢失用户数据。第四种在不得已的情况下,不建议采用! 当用户使用此命令关闭数据库后,就会自动的卸载数据库。如下图 三,启动数据库(挂载数据库) 当用户关闭数据库后,可以使用startup来打开数据库,此命令有两个可选参数:第一种:带nomount参数,只启动数据库实例,但不打开数据库,在你希望创建一个新的数据库时使用,或者在你需要这样的时候使用! 第二种:带mount参数,在进行数据库更名的时候采用。这个时候数据库就打开并可以使用了! 如果用户没有参数,直接使用startup来启动数据库实例并打开数据库,以便用户使用数据库,在多数情况下,使用这种方式! 如下图
oracle 重启与关闭 Oracle 中不同启动和关闭方式的区别 Oracle 数据库提供了几种不同的数据库启动和关闭方式,本文将周详介绍这些启动和关闭 方式之间的区别连同他们各自不同的功能。 一、启动和关闭 Oracle 数据库 对于大多数 Oracle DBA 来说, 启动和关闭 Oracle 数据库最常用的方式就是在命令行方式 下的
Server Manager 。从 Oracle 8i 以后,系统将 Server Manager 的任何功能都集中 到了 SQL*Plus 中,也就是说从 8i 以后对于数据库的启动和关闭能够直接通过SQL*Plus 来完成, 而不再另外需要 Server Manager , 但系统为了保持向下兼容, 依旧保留了 Server Manager 工具。另外也可通过图像用户工具( GUI
Oracle Enterprise Manager 来 完成系统的启动和关闭,图像用户界面Instance Manager 很简单,这里不再详述。 要启动和关闭数据库,必须要以具备Oracle 管理员权限的用户登陆,通常也就是以具备SYSDBA 权限的用户登陆。一般我们常用INTERNAL 用户来启动和关闭数据库 ( INTERNAL 用户实际上是 SYS 用户以 SYSDBA 连接的同义词) 。
数据库的新版 本将逐步淘汰 INTERNAL 这个内部用户,所以我们最好还是配置DBA 用户具备 SYSDBA 权限。 二、数据库的启动( STARTUP ) 启动一个数据库需要三个步骤: 1 、 创建一个 Oracle 实例(非安装阶段)
三、启动\关闭数据库启动和关闭oracle有很多种方法。这里只给出3种方法: l Sql*plus l OEM控制台 l Windows 控制台 1.以sql*plus为例: a.准备 首先我们用sql*plus来连接到Oracle Sqlplus /nolog 是以不连接数据库的方式启动sql*plus Connect /as sysdba 是以DBA身份连接到oracle b.启动
启动还是比较简单的 Startup就OK了。 不过oracle启动模式有3种: l Startup nomount (nomount模式)启动实例不加载数据库。 l Startup mount (mount模式)启动实例加载数据库但不打开数据库 l Startup (open 模式)启动实例加载并打开数据库,就是我们上面所用的命令Nomount模式中oracle仅为实例创建各种内存结构和服务进程,不会打开任何数据库文件,所以说:1)创建新数据库 2)重建控制文件 这2种操作都必须在这个模式下进行。 Mount模式中oracle只装载数据库但不打开数据库,所以说: 1)重命名数据文件 2)添加、删除和重命名重做日子文件 3)执行数据库完全恢复操作 4)改变数据库的归档模式 这4种操作都必须在这个模式下进行 Open模式(就是我们上面的startup不带任何参数的)呵呵就不多说了,正常启动。 当然这3种模式之间可以转换: Alter database mount(nomount模式)—〉alter database open(mount 模式)—〉(open模式) 当然还有其它一些情况,在我们open模式下可以将数据库设置为非受限状态和受限状态
实验2 Oracle数据库的创建启动和关闭 开发语言及实现平台或实验环境 Oracle 11g 实验目的 (1) 掌握Oracle 11g数据库的创建与删除。 (2) 掌握Oracle 数据库实例的启动和关闭。 实验要求 (1) 记录数据库创建和删除过程中遇到的问题及解决方法。 (2) 记录数据库实例的基本操作。 (3) SQL*Plus工具的基本使用。 (4)熟悉数据库创建过程中的管理和配置。 实验指导 一、创建数据库 1.规划数据库 1) 确定数据库的类型 根据数据库的用途,可以分为事务处理(OLTP)类型、数据仓库(DSS)类型及两者兼具的一般用途的通用类型。 2) 确定数据的存储方式 Oracle 11g 数据库存储方式主要有3 种:以操作系统文件存储的文件系统、采用自动存储管理的ASM 和集群系统中的裸设备。 3) 确定数据库的管理方式 Oracle 11g 的数据库管理分为使用Grid Control 的集中管理和使用Database Control 的本地管理。 4) 为新安装的数据库指定全局数据库名 全局数据库名是Oracle 数据库的全球唯一标识,它的格式如XXX.域名,其中XXX 表示SID,即服务名。 5) 熟悉相关初始化参数 2.使用Oracle 数据库配置助手创建数据库 (1)启动数据库配置助手 选择“开始”|“程序”|“Oracle 主目录”(视安装情况而定)|“配置和移置工具”|“Database Configuration Asssiant”快捷方式。或者在开始菜单运行栏中键入DBCA,即可启动 DBCA。 DBCA 启动之后,就出现“Database Configuration Assiant:欢迎使用”界面。 单击“下一步”按钮,进入操作选择对话框,选择要执行的操作 (2)选择操作内容 选择创建数据库:完成数据库创建或模板的创建。单击“下一步”按钮,进入“选择数据库类型”对话框 (3)选择数据库的类型 数据库类型选择对话框中一共有3 种数据库模板可供选择:一般用途或事务处理、定制
启动与关闭数据库事例 Oracle数据库实例的启动过程分为3个步骤,分别是: 1.启动实例 2.装载数据库 3.打开数据库 ?启动实例完成以下操作: 1.读取初始化参数文件。 2.分配系统全局区。 3.启动后台进程。 4.打开alertSID.log文件和跟踪文件 ?装载数据库主要完成以下操作: 1.将数据库与一个已打开的实例关联起来。 2.打开初始化参数文件中指定的控制文件。 3.根据控制文件获得数据文件和重做日志文件的名称和 状态(为打开数据库做准备) ?打开数据库完成以下操作: 1.打开数据文件 2.打开联机重做日志文件 打开时,后台进程SMON即系统监视器(System Monitor)要检查控制文件、数据文件及重做日志确定是否处于同步状态,不同步时,由SMON进行实例恢复。
启动数据库实例 ?启动Oracle Server通过执行命令STARTUP来完成。根据不同的启动方式,使用不同的参数启动数据库。 ?执行该命令,要求用户必须有SYSDBA或SYSOPER系统权限。 用户可以根据实际情况的需要,以不同的模式启动数据库,启动数据库所使用的命令格式如下: STARTUP [nomount|mount|open|force][resetrict][pfile=filename] Nomount:表示启动实例不加载数据库; Mount:表示启动实例、加载数据库并保持数据库的关闭状态; Open:表示启动实例、加载并打开数据库,这个是默认选项; Force:表示终止实例并重新启动数据库; Resetrict:用于指定以受限制的会话方式启动数据库; Pfile:用于指定启动实例时所使用的文本参数文件,filename是文件名。 注:查看状态: Select status from v$instance; 1、STARTUP NOMOUNT NOMOUNT选项仅仅创建一个Oracle实例(即创建Oracle实例的各种内存结构和服务进程)。读取init.ora初始化参数文件、启动后台进程、初始化系统全局区(SGA)。Init.ora文件定义了实例的配置,包括内存结构的大小和启动后台进程的数量和类型等。实例名根据
一、摘要 Oracle数据库的完整启动过程是分步骤完成的,包含以下3个步骤: 启动实例-->加载数据库-->打开数据库 因为Oracle数据库启动过程中不同的阶段可以对数据库进行不同的维护操作,对应我们不同的需求,所以就需不同的模式启动数据库。 1. Oracle启动需要经历四个状态:SHUTDOWN 、NOMOUNT 、MOUNT 、OPEN 2. Oracle关闭的四种方式:Normal, Immediate, Transactional, Abort 3. 启动和关闭过程详解 二、数据库启动过程 1.NoMount 模式(启动实例不加载数据库) (1). 命令:startup nomount (2). 讲解:这种启动模式只会创建实例,并不加载数据库,Oracle仅为实例创建各种内存结构和服务进程,不会打开任何数据文件。
在NoMount模式下,只能访问那些与SGA区相关的数据字典视图,包括VPARAMETER、VSGA、VPROCESS和VSESSION等,这些视图中的信息都是从SGA 区中获取的,与数据库无关。 (3). 模式用途: 创建新数据库; 重建控制文件; 2.Mount模式(加载数据库但不打开数据库) (1). 命令:startup mount (2). 讲解:这种启动模式将为实例加载数据库,但保持数据库为关闭状态。因为加载数据库时需要打开数据库控制文件,但数据文件和重做日志文件都都无法进行读写,所以用户还无法对数据库进行操作。 在Mount模式下,只能访问那些与控制文件相关的数据字典视图,包括VTHREAD、VCONTROLFILE、VDATABASE、VDATAFILE 和V$LOGFILE等,这些视图都是从控制文件中获取的。 (3). 模式用途: 重命名数据文件; 添加、删除或重命名重做日志文件; 执行数据库完全恢复操作; 改变数据库的归档模式; 3.Open模式(正常打开数据库) (1). 命令:startup [open] (2). 讲解:正常按3个步骤启动数据库。