1 数据库的启动(STARTUP)
在Startup命令中,可以通过不同的选项来控制数据库的不同启动步骤。
1、STARTUP NOMOUNT
NONOUNT选项仅仅创建一个Oracle实例。读取initora初始化参数文件、启动后台进程、初始化系统全局区(SGA)。Initora文件定义了实例的配置,包括内存结构的大小和启动后台进程的数量和类型等。实例名根据Oracle_SID设置,不一定要与打开的数据库名称相同。当实例打开后,系统将显示一个SGA内存结构和大小的列表,如下所示:
SQL> startup nomount
ORACLE instance started
Total System Global Area 35431692 bytes
Fixed Size 70924 bytes
Variable Size 18505728 bytes
Database Buffers 16777216 bytes
Redo Buffers 77824 bytes
2、STARTUP MOUNT
该命令创建实例并且安装数据库,但没有打开数据库。Oracle系统读取控制文件中关于数据文件和redo log文件的内容,但并不打开这些文件。这种打开方式常在数据库维护 *** 作时使用,如对数据文件的更名、改变redo log以及打开归档方式、执行数据库的full database recovery。在这种打开方式下,除了可以看到SGA系统列表以外,系统还会给出" Database mounted "的提示。
3、STARTUP
该命令完成创建实例、安装实例和打开数据库的所有三个步骤。此时数据库使数据文件和redo log文件在线,通常还会请求一个或者是多个回滚段。这时系统除了可以看到前面Startup Mount方式下的所有提示外,还会给出一个" Database opened "的提示。此时,数据库系统处于正常工作状态,可以接受用户请求。
如果采用STARTUP NOMOUNT或者是STARTUP MOUNT的数据库打开命令方式,必须采用ALTER DATABASE命令来执行打开数据库的 *** 作。例如,如果你以STARTUP NOMOUNT方式打开数据库,也就是说实例已经创建,但是数据库没有安装和打开。这时必须运行下面的两条命令,数据库才能正确启动。
ALTER DATABASE MOUNT;
ALTER DATABASE OPEN;
而如果以STARTUP MOUNT方式启动数据库,则只需要运行下面一条命令即可以打开数据库:
ALTER DATABASE OPEN;
4、其他打开方式
除了前面介绍的三种数据库打开方式选项外,还有另外其他的一些选项。
(1) STARTUP RESTRICT
这种方式下,数据库将被成功打开,但仅仅允许一些特权用户(具有DBA角色的用户)才可以使用数据库。这种方式常用来对数据库进行维护,如数据的导入/导出 *** 作时不希望有其他用户连接到数据库 *** 作数据、数据装载、特定的迁移或者升级 *** 作等。
(2) STARTUP FORCE
该命令其实是强行关闭数据库(shutdown abort)和启动数据库(startup)两条命令的一个综合。该命令仅在关闭数据库遇到问题不能关闭数据库时采用。
(3) ALTER DATABASE OPEN READ ONLY;
该命令在创建实例以及安装数据库后,以只读方式打开数据库。对于那些仅仅提供查询功能的产品数据库可以采用这种方式打开。
2 数据库的关闭(SHUTDOWN)
对于数据库的关闭,有四种不同的关闭选项。
1、SHUTDOWN NORMAL
这是数据库关闭SHUTDOWN命令的确省选项。也就是说如果输入SHUTDOWN这样的命令,也就是执行SHUTDOWN NORNAL命令。
发出该命令后,任何新的连接都将再不允许连接到数据库。在数据库关闭之前,Oracle将等待目前连接的所有用户都从数据库中退出后才开始关闭数据库。采用这种方式关闭数据库,在下一次启动时不需要进行任何的实例恢复。但需要注意的是,采用这种方式,也许关闭一个数据库需要几天时间,或者更长。
2、SHUTDOWN IMMEDIATE
这是常用的一种关闭数据库的方式,想很快地关闭数据库,但又想让数据库干净的关闭,常采用这种方式。
当前正在被Oracle处理的SQL语句立即中断,系统中任何没有提交的事务全部回滚。如果系统中存在一个很长的未提交的事务,采用这种方式关闭数据库也需要一段时间(该事务回滚时间)。系统不等待连接到数据库的所有用户退出系统,强行回滚当前所有的活动事务,然后断开所有的连接用户。
3、SHUTDOWN TRANSACTIONAL
该选项仅在Oracle 8i后才可以使用。该命令常用来计划关闭数据库,它使当前连接到系统且正在活动的事务执行完毕,运行该命令后,任何新的连接和事务都是不允许的。在所有活动的事务完成后,数据库将和SHUTDOWN IMMEDIATE同样的方式关闭数据库。
4、SHUTDOWN ABORT
这是关闭数据库的最后一招,也是在没有任何办法关闭数据库的情况下才不得不采用的方式,一般不要采用。如果下列情况出现时可以考虑采用这种方式关闭数据库。
1、 数据库处于一种非正常工作状态,不能用shutdown normal或者shutdown immediate这样的命令关闭数据库;
2、 需要立即关闭数据库;
3、 在启动数据库实例时遇到问题;
所有正在运行的SQL语句都将立即中止。所有未提交的事务将不回滚。Oracle也不等待目前连接到数据库的用户退出系统。下一次启动数据库时需要进行实例恢复,因此,下一次启动可能比平时需要更多的时间。
下表为上述四种不同关闭数据库的区别和联系。
关闭方式 Abort Immediate Transaction Nornal
允许新的连接 × × × ×
等待直到当前会话中止 × × × √
等待直到当前事务中止 × × √ √
强制CheckPoint,关闭所有文件 × √ √ √
默认情况下只有sysdba和sysoper用户才能停止数据库,其他用户如system默认是不可以shutdown数据库的
1sqlplus / as sysdba
shutdown [immediate,abort]
2sqlplus / as sysoper
shutdown [immediate ,abort]
终止进程并不能结束备份,需要结束备份对应的job;
1、查看备份job
select job_name,state from dba_datapump_jobs;
2、在退出导出监视界面后,可以通过下面语句重新打开expdp界面
Expdp system/test ATTACH=systemexport_job10 --第一步查出的job名称
3、结束job
Export> kill_job
oracle的启动和关闭
一、sqlplus方式:
用sqlplus来连接到Oracle
Sqlplus /nolog 是以不连接数据库的方式启动sqlplus
Connect /as sysdba 是以DBA身份连接到oracle
or35gif
启动
or36gif
Startup就可以启动了。
不过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模式下可以将数据库设置为非受限状态和受限状态
在受限状态下,只有DBA才能访问数据库,所以说:
1) 执行数据导入导出
2) 使用sqlloader提取外部数据
3) 需要暂时拒绝普通用户访问数据库
4) 进行数据库移植或者升级 *** 作
这4种 *** 作都必须在这个状态下进行
在打开数据库时使用startup restrict命令即进入受限状态。
or37gif
使用alter system disable restricted session命令即可以将受限状态改变为非受限状态。
or38gif
使用alter system enable restricted session命令可以将非受限状态变为受限状态
or39gif
使用alter database open read only可以使数据库进入只读状态。
使用alter database open read write 可以使数据库进入读写状态。
当然在某些情况下可能是用上述各种启动方式都无法成功启动数据库,这个时候就要使用startup force命令来强行启动数据库。当然谁都不想碰到这种情况:)
or40gif
c关闭数据库
1)正常关闭 shutdown
2) 立即关闭 shutdown immediate
3) 关闭事务 shutdown transactional
4) 强行关闭 shutdown abort,当然谁都不想碰到这种情况。
二、OEM为例
Oracle Enterprise Management(OEM),
跟第一小节讲的Sqlplus /nolog ,Connect /as sysdba 这2个命令差不多的 *** 作如图:
or29gif
or30gif
or31gif
按照上面的一步步 *** 作就能够连接到数据库。
下面是如何启动和关闭数据库:
or32gif
点击我们前几章创建的ORADB01这个数据库树中的配置选项,这个里面的:
1)已启动 对应 Nomount模式
2)已转载 对应 mount模式
3)打开 对应 open模式
当你点击应有按钮之后就会进入如下对话框
or33gif
1)正常 对应 正常关闭 shutdown
2) 立即 对应 立即关闭 shutdown immediate
3) 事务处理 对应 关闭事务 shutdown transactional
4) 中止 对应 强行关闭 shutdown abort
确定之后出现如下对话框
or34gif
限制对数据库访问 对应 alter system disable restricted session
alter system enable restricted session
只读模式 对应 alter database open read only
alter database open read write
简单吧,sqlplus的一大堆命令到OEM中变成了几个按钮罢了。
3windows控制台
or41gif
这个熟悉吧:
oracle Agent 用于OEM管理结构
oracle>
1,首先排除设置了正确的SID连接
如:C:\Users\Administrator>set ORACLE_SID = orcl //确定本机数据库实例名
linux下用export ORACLE_SID=orcl
2,以sysdba连接,关闭数据库
sqlplus / as sysdba
shutdown immediate
如果不能关闭,windows下杀掉oracle进程,停掉oracle的服务
linux下:ps -ef|grep smon找到对应的pid
kill -9 <pid>
3,重新启动试试
startup
如果还是不行,查看报错原因,这里可能有很多,比如数据文件错误
4这里假如你的错误是数据文件引起
shutdown immediate
startup mount
recover datafile <datafile number>;
alter database open;
就可以了
如果不是数据文件错误,贴出来看看吧
卸载步骤:
1、停用oracle服务:进入计算机管理,在服务中,找到oracle开头的所有服务,右击选择停止。
2、在开始菜单中,找到Universal Installer,运行Oracle Universal Installer,单击卸载产品。
3、在产品清单窗口中,单击全部展开,除了OraDb11g_home1外,勾选其他项目,单击删除。
4、按Windows徽标键和R键,打开运行窗口,输入regedit,打开注册表,依次展开HKEY_LOCAL_MACHINE\SOFTWARE,找到oracle,删除。
5、依次展开HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services中,删除所有oracle开头的项。
6、依次展开HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\Eventlog\Application,删除所有oracle开头的项;在HKEY_CLASSES_ROOT,删除以ora开头的项。
7、重启电脑,删除oracle目录,删除Oracle的安装目录app等。这样就卸载完毕了。
以上就是关于怎样启动和关闭oracle数据库全部的内容,包括:怎样启动和关闭oracle数据库、停止oracle数据库服务报ora-01031、如何停止ORACLE数据库Expdp与impdp备份任务的后台进程等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)