linux下启动、关闭oracle服务

时间:2023-02-13 08:39:54
1、先登录服务器后,切换到oracle用户状态下: su oracle

2、检查oracle监听器运行状态: lsnrctl status命令查看。
linux下启动、关闭oracle服务
表示监听没有启动。

3、执行启动监听,通过命令: lsnrctl start lsnrctl stop 关闭监听
linux下启动、关闭oracle服务
表示端口已启动成功。

4、如果启动报错,listener.ora文件打开,调整HOST IP

5、进入sqlplus,命令: sqlplus /nolog

6、管理员 sysdba 权限登陆oracle: conn /as sysdba

7、启动服务(实例): startup

8、关闭服务(实例): shutdown immediate;

SQL> 下怎么退出编辑?
答:按键 Ctrl + D SQL>exit


一、数据库启动分为三个步骤:
SQL> startup nomount; //启动实例,不加载数据库
SQL> alter database mount; //加载数据库 (挂起)
SQL> alter database open; //打开数据库
等同于 SQL> startup

startup参数
不带参数: 启动数据库实例并打开数据库,这种情况下用户才能使用数据库
nomount:只启动数据库实例,但不打开数据库
mount: 加载数据库。 (挂起)

1、startup nomount -- 启动实例,不加载数据库(模式一)
       nomount:在这一阶段, 只需要读取initSID.ora文件,启动数据库实例,创建后台进程。在initSID.ora文件中,可以定位 SPFILEORAC.ora文件,这是参数文件,通过它可以初始化SGA和启动后台进程。并可以定位控制文件位置。在此阶段,可以执行的操作有:重建控 制文件,重建数据库。

2、alter database mount -- 加载数据库(模式二)
       mount:在nomount阶段,可以通过读取 控制文件来转换到mount阶段。在数据库加载阶段(mount),所有的 数据文件联机日志文件的名称和位置都从控制文件中读取,但是并没有真正查找这些文件。在此阶段,可以执行的操作有:数据库日志归档、数据库介质恢复、使数据文件联机或脱机、重定位 数据文件和联机日志文件。

3、alter database open -- 打开数据库(模式三)
       open:通过 查找定位并打开数据文件和联机日志文件来切换到open阶段。此时数据库可用,可以建立会话。


二、数据库的关闭:
SQL> shutdown immediate;(推荐)
也分三个步骤:
SQL> alter database close; //关闭数据库(CLOSE 关闭数据文件)
SQL> alter database dismount; //卸载数据库(关闭控制文件 DISMOUNT),
SQL> shutdown //关闭Oracle实例(SHUTDOWN)

也可以查询oracle的进程:
ps -ef|grep ora_dbw0_$ORACLE_SID
然后kill掉
kill -9 PID

shutdown的参数
normal 等待所有连接用户断开后才执行关闭数据库任务(等待所有的用户断开连接)
immediate 等待用户执行完正在执行的 语句 后就断开连接,并不允许新用户连接。
transactional 等待用户执行完当前 事务后断开连接,并不允许新的用户连接数据库。
abort 不等待,强行断开连接并直接关闭数据库。


三、数据库重启:(也就是 启动的force模式)(模式四)
SQL> startup force //不建议使用
这种模式将终止实例并重新启动数据库(open),这种模式具有一定的强制性(比如在其他启动模式失效的时候可以尝试这种模式)
方式2:(推荐)
SQL> shutdown immediate
SQL> startup open
linux下启动、关闭oracle服务