Oracle启动时报 ORA-00119 ORA-00130

本文详细描述了如何修复Oracle启动时关于LOCAL_LISTENER参数的错误,涉及主机名调整和hosts文件编辑。通过修改hosts文件,确保localhost.localdomain映射,从而顺利启动数据库。

Oracle启动时报错

SQL> startup
ORA-00119: invalid specification for system parameter LOCAL_LISTENER
ORA-00130: invalid listener address ‘(ADDRESS=(PROTOCOL=TCP)(HOST=localhost.localdomain)(PORT=1521))’

  1. 初步判断为主机名不对,因为这里
    在这里插入图片描述
  2. 查看主机名,输入 hostname,回车。
    在这里插入图片描述
  3. 查看 hosts ,cat /etc/hosts,回车。发现并没有 localhost.localdomain 的字样。
    在这里插入图片描述
  4. 故需修改 hosts。vi /etc/hosts,回车。
    按 i ,进入编辑,(不能使用鼠标)通过键盘上下左右键将光标移动到第一行 localhost 后面,空格,输入 localhost.localdomain,在 第二行 localhost 后面做同样操作。
    编辑完毕后,按 Esc ,退出编辑,再按 冒号键和 w 和 q ,:wq ,这是保存并退出的意思。
    在这里插入图片描述
  5. 修改 hosts 无需重启系统,直接执行启动数据库操作即可。
  6. 附:部分命令:
    :q (退出)
    :q! (强制退出。退出不成功时才需要)
    :wq (保存编辑并退出。即使文件没有被修改也写入,并更新文件的修改时间。)
    :wq! (强制保存编辑并退出。不执行时才需要)
    :x (写入文件并退出。仅当文件被修改时才写入,并更新文件修改时间;否则不会更新文件修改时间。)
### 数据库连接报错 ORA-01033 的解决方法 当 Oracle 数据库连接时出现 `ORA-01033: ORACLE 正在初始化或关闭` 错误,通常表示数据库实例尚未完成启动或正在关闭,导致新的连接请求无法被处理。此问题可能由多种原因引起,包括数据库启动过程未完成、PDB 数据库未打开、数据库异常关闭或监听器配置问题等。 #### 数据库实例未完成启动 Oracle 数据库启动过程中会经历多个阶段:`NOMOUNT`、`MOUNT` `OPEN`。如果数据库尚未到达 `OPEN` 阶段,连接请求将被拒绝。可以通过以下 SQL 查询确认数据库当前状态: ```sql SELECT status FROM v$instance; ``` 如果返回值为 `STARTING` 或 `MOUNTED`,则表示数据库尚未完全打开。此时应等待数据库完成启动过程,或手动打开数据库: ```sql ALTER DATABASE OPEN; ``` 如果数据库因主机断电等异常情况导致启动失败,可能会出现 `ORA-00600` 内部错误,此时可以尝试强制重启数据库实例: ```bash sqlplus / as sysdba SQL> SHUTDOWN ABORT; SQL> STARTUP; ``` 该操作将强制关闭数据库并重新启动,通常能解决因异常关闭导致的问题[^1]。 #### PDB 数据库未打开(Oracle 12c 及以上版本) 在 Oracle 12c 及以上版本中,容器数据库(CDB)启动后,可插拔数据库(PDB)并不会自动打开。如果连接目标是某个 PDB,而该 PDB 未处于 `OPEN` 状态,也会导致 `ORA-01033` 错误。可以通过以下命令查看 PDB 状态: ```sql SELECT con_name, open_mode FROM v$pdbs; ``` 若发现某个 PDB 处于 `MOUNTED` 状态,可以手动打开: ```sql ALTER PLUGGABLE DATABASE <pdb_name> OPEN; ``` #### 监听器问题 监听器未正确注册实例也可能导致连接失败。可以通过以下命令检查监听器状态: ```bash lsnrctl status ``` 如果发现监听器未注册实例,可以尝试重启监听器: ```bash lsnrctl stop lsnrctl start ``` #### 数据库日志检查 数据库告警日志(alert log)中可能包含导致数据库无法正常启动的详细信息。告警日志通常位于 `$ORACLE_BASE/diag/rdbms/<db_name>/<instance_name>/trace/alert_<instance_name>.log`。查看日志内容有助于定位问题根源,例如数据库恢复失败、文件损坏等[^3]。 --- ###
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值