LinuxSir.cn,穿越时空的Linuxsir!

 找回密码
 注册
搜索
热搜: shell linux mysql
查看: 1129|回复: 6

ORACLE数据库的启动与关闭(原创)

[复制链接]
发表于 2004-2-13 08:44:16 | 显示全部楼层 |阅读模式
一、启动监听和挂载数据库示例:
首先以用记oracle进入系统:
su - oracle
lsnrctl start

然后以sys用户进入
sqlplus /NOLOG
CONNECT SYS/密码 AS SYSDBA
STARTUP
这样就可启动数据库,并挂载数据库示例了。

需要注意的是:oracle数据库和其他的数据并不一样。例如我们熟悉的mysql, postgresql等,都是只要启动数据库,即已经准备好了接受访问并接受客户的请求,但是在oracle中并非如此。启动数据库详细的说6应该是这样三个步骤,启动数据库,挂载数据库示例, 打开数据库。
我们可以使用sql命令一步一步来完成这些动作。
比如说我们启动数据库,便是并不挂载数据库示例:
STARTUP NOMOUNT
然后可以使用
ALTER DATABASE MOUNT 来挂上数据库。
可以使用: STARTUP MOUNT来启动数据库,并挂载上数据库,但是保持数据库的关闭状态。
稍后可以使用ALTER DATABASE OPEN来打开数据库。

还可以在数据库的启动过程中限制数据库的访问:
STARTUP RESTRICT来启动并装载打开数据库示例。
稍后可以使用:ALTER SYSTEM DISABLE RESTRICTED SESSION来取消数据库的受限制状态。在数据库受限制的过程中,只有对数据库拥有CREATE SESSION权限的用户才能够连接到数据库。这种状态有利于对数据库进行备份,恢复,导入,导出等操作。

还有一个命令就是强迫数据库示例启动:
STARTUP FORCE


二、改变数据库的状态:

1、当你只是启动数据库,但是并不有装数据库时,也即是使用:STARTUP NOMOUNT来启动数据库时,必须使用ALTER DATABASE MOUNT来装载数据库,并启动示例。

2、打开一个关闭的数据库:
当你只是装载了数据库,但是保持数据库关闭的情况,也即是使用: STARTUP MOUNT来启动数据库时,必须使用: ALTER DATABASE OPEN来打开一个关闭的数据库。

3、以只读或者是可读可写的方法打开数据库。
注意:可读可写是默认的操作:
ALTER DATABASE OPEN READ ONLY
恢复以;
ALTER DATABASE OPEN READ WRITE

4、在使用过程中对数据库进行限制:
ALTER SYSTEM ENABLE RESTRICTED SESSION
取消限制:
ALTER SYSTEM DISABLE RESTRICTED SESSION
即可取消对数据库的限制:

三、数据库的关闭:

oracle的数据库关闭只有一个命令:SHUTDOWN,但是这个命令还有几个选项:
NORMAL, IMMEIDATE, TRANSACTION, ABORT, 其中NORMAL是默认选项。表示正常的关闭,等候客户的请求完成,所有的事务提交,拒绝再次进行连接。

IMMEIDATE:立即关闭数据库,不允许新连接,事务回滚,下一次启动不需要任何恢复过程。

TRASACTION:不允许新连接,完成事务后,有连接的用户将被解除连接,下一次启动不需要任何恢复过程。

ABORT:不允许新连接,马上断开所有的用户连接,终止事务,不回滚事务。
下一次启动需要恢复过程。

忘了一个操作,那就是在使用SHUTDOWN ARORT进行关闭数据库后,需要使用:STARTUP OPEN RECOVER 进行启动示例,装载数据库并启动数据库介质恢复过程。

这样的,你就可以关闭数据库了。
SHUTDOWN
EXIT退出sqlplus
然后关闭监听器:
lsnrctl stop
退出oracle用户,exit,这样你的oracle操作就完成了。
发表于 2004-2-13 09:40:00 | 显示全部楼层
感谢黄叶的帖子,我在10g上不能运行http://localhost:5500/em是因为没有运行lsnrctl start,现在好了。

如何让客户端也可以运行http://server-ip:5500/em?
 楼主| 发表于 2004-2-13 10:03:00 | 显示全部楼层
在本机可以运行的话,如果客户端不能运行,看看你本机防火墙的设置,是否允许其他客户机访问你的这个端口。

另外我还停留在oracle 9i的系统上。
发表于 2004-2-13 11:45:17 | 显示全部楼层
客户机可以链接了,就是有些小方块,找一些中文安装的帖子看看吧。
sqlplus /NOLOG
CONNECT SYS/密码 AS SYSDBA
和sqlplus '/ as sysdba'有何区别?这种不需要密码的,会不会不太安全。
 楼主| 发表于 2004-2-13 13:57:12 | 显示全部楼层
兄弟给出的这个命令我也是很奇怪,它也可以启动数据库示例,但是我不知道它和我这个方式有什么不同。

我刚刚开始学习oracle,为了怕忘记所以每天都写一点东西。
我今天也找了很多的地方,居然没有一个地方说到这个问题。真是怪了。
发表于 2004-2-20 23:29:38 | 显示全部楼层
最初由 linker_yxj 发表
客户机可以链接了,就是有些小方块,找一些中文安装的帖子看看吧。
sqlplus /NOLOG
CONNECT SYS/密码 AS SYSDBA
和sqlplus '/ as sysdba'有何区别?这种不需要密码的,会不会不太安全。


CONNECT SYS/密码 AS SYSDBA是使用password file登录系统.
而后面那条命令则是使用操作系统认证登录,只要当前的用户在操作系统中属于DBA组,那么就可以不需要密码直接以sysdba身份登入数据库。
 楼主| 发表于 2004-2-21 08:17:12 | 显示全部楼层
谢谢。
您需要登录后才可以回帖 登录 | 注册

本版积分规则

快速回复 返回顶部 返回列表