三、启动/关闭数据库
启动和关闭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模式下可以将数据库设置为非受限状态和受限状态
在受限状态下,只有DBA才能访问数据库,所以说:
1) 执行数据导入导出
2) 使用sql*loader提取外部数据
3) 需要暂时拒绝普通用户访问数据库
4) 进行数据库移植或者升级操作
这4种操作都必须在这个状态下进行
在打开数据库时使用startup restrict命令即进入受限状态。
使用alter system disable restricted session命令即可以将受限状态改变为非受限状态。
使用alter system enable restricted session命令可以将非受限状态变为受限状态
使用alter database open read only可以使数据库进入只读状态。
使用alter database open read write 可以使数据库进入读写状态。
当然在某些情况下可能是用上述各种启动方式都无法成功启动数据库,这个时候就要使用startup force命令来强行启动数据库。当然谁都不想碰到这种情况:)
c.关闭数据库
1)正常关闭 shutdown
2) 立即关闭 shutdown immediate
3) 关闭事务 shutdown transactional
4) 强行关闭 shutdown abort,当然谁都不想碰到这种情况。
2.OEM为例
Oracle Enterprise Management(OEM),这个名字有时候会让人误解呵呵。所有的数据库都差不多,都有个 Enterprise Management,就连Mysql这样的小型数据库都有,当然每个数据库的Enterprise Management功能都有一些差异,当然差别不是很大。Enterprise Management的目的就是让我们能够快速、方便、傻瓜化的去管理数据库,想想假如我每天都去用DOS界面去操作P-SQL,T-SQL……郁闷不?当然我写起来也比较的方面,ctrl C,ctrl V就OK了
跟第一小节讲的Sqlplus /nolog ,Connect /as sysdba 这2个命令差不多的操作如图:
按照上面的一步步操作就能够连接到数据库。
下面是如何启动和关闭数据库:
点击我们前几章创建的ORADB01这个数据库树中的配置选项,这个里面的:
1)已启动 对应 Nomount模式
2)已转载 对应 mount模式
3)打开 对应 open模式
当你点击应有按钮之后就会进入如下对话框
1)正常 对应 正常关闭 shutdown
2) 立即 对应 立即关闭 shutdown immediate
3) 事务处理 对应 关闭事务 shutdown transactional
4) 中止 对应 强行关闭 shutdown abort
确定之后出现如下对话框
限制对数据库访问 对应 alter system disable restricted session
alter system enable restricted session
只读模式 对应 alter database open read only
alter database open read write
简单吧,sql*plus的一大堆命令到OEM中变成了几个按钮罢了。
3.windows控制台
这个熟悉吧:
oracle ************Agent 用于OEM管理结构
oracle************HTTPSERVER oracle Web服务器
oracle ************ManagementServer 用于OEM管理结构
oracle ************ TNSListener oracle网络结构的服务器端进程
oracle ************OEMREP 资料档案库文件
oracle ************ORADB001 用户创建的数据库
我一般都把所有的服务全部选成手动启动,如果全开,内存要用掉700M..............