oracle 启动的步骤

本文详细介绍了Oracle数据库的启动过程,包括startup nomount、mount及open三个阶段,并解释了各阶段的主要任务。此外,还说明了数据库关闭的不同方式及其特点。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

startup 启动三步
startup nomount ;
alter database mount;
alter database open;

startup nomount : 启动实例  

     1.读参数文件
     2.分配内存
     3.启动后台进程
     4.初始化部分v$视图

startup mount :挂载
     alter database mount;
     control_files =决定控制文件的个数和位置
     控制文件:记录数据库中数据文件,日志文件的位置信息,检查点信息
     实例通过控制文件的描述  挂载到相应的库上
     启动到nomount状态后,oracle就可以从参数文件中获得控制文件的位置信息。在mount数据库的过程中,oracle需要加载并锁定控制文件。

open: 校验

   根据控制文件中记录的信息找到数据文件,日志文件检查点等信息, 进行检查点以及完整性校验 ,如果不一致或文件丢失就需要恢复。
   alter database open read[wrote|only]: 两者的切换只能重启
   1. nomount    : 参数文件
   2. mount      :控制文件
   3. open       :数据文件

oracle 在open的过程中,进行校验有以下两项:

   第一次检查数据文件头中检查点计数(checkpoint cnt)是否和控制文件中检查点计数(checkpoint cnt)一致。此步检查用以确认数据文件是来自同一版本,而不是从备份中恢复而来(因为checkpoint cnt不会被冻结,会一直被修改)
   如果检查点计数检查通过,则进行第二次检查。第二次检查数据文件头的开始scn控制文件中记录的scn是否一致,如果一致就不需要对该数据文件进行恢复,对每个数据文件完成检查后,打开数据库,锁定数据文件,同时将每个数据文件的结束scn设置为无穷大。

[root@zw_test_26_75 orcl]# mv zw.dbf  zw.dbf.b
 
数据库在启动的时候,在open阶段,oracle才会检查这个文件的存在性,如果文件不存在,就会报错;
SQL> startup nomount;
ORACLE instance started.

Total System Global Area 1603411968 bytes
Fixed Size    2253664 bytes
Variable Size  989858976 bytes
Database Buffers  603979776 bytes
Redo Buffers    7319552 bytes
SQL> alter database mount;
Database altered.
SQL> alter database open;
alter database open
*
ERROR at line 1:
ORA-01157: cannot identify/lock data file 5 - see DBWR trace file
ORA-01110: data file 5: '/u01/app/oracle/oradata/orcl/zw.dbf'

注意:仅在open阶段oracle才尝试打开并锁定数据文件。

----------------------------------------------------------------------

关闭数据库几种方式:
shutdown abort : 相当于拔电源(nomount状态,abort没问题)
shutdown  immediate :  断掉连接,存盘,结束进程;事物rollback
shutdown  transactional : 等待所有的事物结束,等待事物commite,或 rollback;
shutdown  normal : 等待所有的会话结束
shutdown   startup force : 相当于拔掉电源,再重启

oracle 没有主动提交的事物都是非法的事物
如果修改了pfile,或 spfile : 推荐 一步一步的重启



### 启动 Oracle 19c 数据库的具体步骤 在 Linux 系统上启动 Oracle 19c 数据库涉及多个关键步骤,包括环境变量设置、监听器启动以及数据库实例的启动。以下是详细的说明: #### 一、验证并设置环境变量 确保当前会话中的环境变量已正确配置。可以通过以下命令查看现有环境变量: ```bash env | grep ORACLE ``` 如果未找到必要的变量(如 `ORACLE_SID` 或 `ORACLE_HOME`),需手动设置这些变量。例如: ```bash export ORACLE_BASE=/u01/app/oracle export ORACLE_HOME=$ORACLE_BASE/product/19.5.0 export PATH=$ORACLE_HOME/bin:$PATH export ORACLE_SID=ORCLCDB ``` 上述路径和 SID 需要根据实际安装情况进行调整[^4]。 #### 二、启动监听器服务 监听器是客户端与数据库之间的通信桥梁。可以使用以下命令启动监听器: ```bash lsnrctl start ``` 通过运行以下命令确认监听器状态是否正常: ```bash lsnrctl status ``` 此命令将显示监听器正在侦听的服务及其端口信息[^3]。 #### 三、切换到 Oracle 用户并启动数据库实例 进入 Oracle 安装目录,并以 Oracle 用户身份登录。执行如下命令来启动数据库实例: ```bash sqlplus / as sysdba ``` 在 SQL*Plus 中输入以下语句启动数据库: ```sql STARTUP; ``` 这一步骤将加载控制文件并将数据文件联机[^2]。 #### 四、初始化网络配置工具 (Net Configuration Assistant, NetCA) 在网络连接出现问题时,可能需要重新配置网络参数。可通过以下命令调用 NetCA 工具完成相关设置: ```bash LANG=en_US.UTF-8 netca ``` 该图形化界面允许管理员定义新的监听程序或本地命名服务。 #### 五、处理常见错误 当遇到诸如 **ORA-12514** 错误时,通常表明 IP 地址不匹配或者 TNSNAMES 文件存在异常。解决方案包括更新 Windows 主机上的 IP 设置并与服务器保持一致;同时检查 `$ORACLE_HOME/network/admin/listener.ora` 和 `tnsnames.ora` 的内容准确性[^5]。 --- ### 总结 以上就是在 Linux 平台上成功激活 Oracle 19c 所必需的主要流程概述。每项活动都紧密关联着整个系统的稳定性和可用性保障工作。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值