解决ORA-12514,SQLPlus连接localhost:1521失败?

启动Oracle数据库服务

切换至Oracle用户

su - oracle  # 必须使用Oracle安装账户

启动监听器(Listener)

lsnrctl start  # 启动监听服务
lsnrctl status # 验证状态(显示"STATUS=READY"即成功)

启动数据库实例

sqlplus / as sysdba  # 以DBA身份登录SQL*Plus
SQL> STARTUP;        # 启动数据库实例
SQL> SELECT status FROM v$instance;  # 验证状态(返回"OPEN"即成功)

设置开机自启(可选)

sudo systemctl enable oracle-rdbms.service  # 适用于配置了Systemd的系统

连接Oracle数据库的常用方法

*命令行工具(SQLPlus)**

sqlplus username/password@hostname:port/service_name```
#### 2. **图形化工具(推荐)**
- **Oracle SQL Developer**  
  下载地址:[Oracle官网](https://www.oracle.com/database/sqldeveloper/)  
  配置步骤:  
  1. 输入主机名、端口(默认1521)、服务名(如ORCLCDB)  
  2. 填写用户名/密码  
  3. 测试连接 → 保存
- **DBeaver**  
  开源工具,支持多数据库([官网下载](https://dbeaver.io/))
#### 3. **通过Python脚本连接**
```python
import cx_Oracle
conn = cx_Oracle.connect('user', 'password', 'host:port/service_name')
cursor = conn.cursor()
cursor.execute("SELECT * FROM dual")
print(cursor.fetchone())

常见问题解决

监听器启动失败

  • 原因:端口冲突或配置错误
  • 解决
    lsnrctl stop          # 停止监听
    vi $ORACLE_HOME/network/admin/listener.ora  # 检查端口(默认1521)
    lsnrctl start         # 重新启动

数据库无法OPEN

  • 错误ORA-01081: cannot start already-running instance
    SQL> SHUTDOWN IMMEDIATE;  # 先关闭实例
    SQL> STARTUP;             # 重新启动
  • 错误ORA-01157: cannot identify/lock data file
    检查数据文件路径:

    SQL> SELECT name FROM v$datafile;  # 验证文件是否存在

连接超时

  • 检查防火墙:
    sudo firewall-cmd --list-ports | grep 1521  # 查看端口开放
    sudo firewall-cmd --add-port=1521/tcp --permanent  # 开放端口
  • 验证服务名:
    tnsping ORCLCDB  # 测试服务名解析

安全注意事项

  1. 最小权限原则:避免使用sysdba执行常规操作。
  2. 定期备份
    RMAN> BACKUP DATABASE PLUS ARCHIVELOG;  # 使用RMAN工具
  3. 更新补丁:定期安装Oracle Critical Patch Updates(CPU)。

引用说明

  • Oracle官方文档:Database Administrator’s Guide
  • Linux服务管理:Systemd手册
  • 连接工具参考:SQL Developer教程

重要提示:操作前确保已正确安装Oracle数据库(包括环境变量ORACLE_HOMEPATH配置),生产环境建议由专业DBA执行关键操作。

原创文章,发布者:酷番叔,转转请注明出处:https://cloud.kd.cn/ask/4773.html

(0)
酷番叔酷番叔
上一篇 2025年6月17日 13:44
下一篇 2025年6月17日 14:08

相关推荐

  • Linux补丁文件如何上传至服务器?

    Linux补丁文件是记录源代码或配置文件修改差异的文本文件,通常以.diff或.patch为后缀,用于将修改应用到目标系统中,上传补丁文件是系统维护、版本控制和问题修复中的常见操作,根据目标环境的不同,上传方式和步骤也存在差异,本文将详细介绍Linux补丁文件的生成、常见上传场景及具体操作步骤,并附上相关注意事……

    2025年10月4日
    13000
  • Linux文件另存为怎么操作?

    命令行操作(高效精准)适用于终端用户,通过命令直接控制文件存储位置和内容,文本编辑保存(Vim/Nano)打开文件: vim 原文件.txt # 使用Vim或nano 原文件.txt # 使用Nano另存为新文件:Vim:编辑后按 Esc 输入 :w 新路径/新文件名.txt → 按回车保存,(例::w /ho……

    2025年7月7日
    16100
  • Linux系统如何支持触摸屏电脑?

    Linux系统对触摸屏电脑的支持已日趋成熟,从内核驱动到桌面环境均形成了完整的解决方案,本文将从底层机制、硬件识别、配置方法、桌面优化及常见问题解决等方面,详细阐述Linux如何支持触摸屏操作,Linux触摸屏支持的底层机制Linux对触摸屏的支持基于其输入子系统(Input Subsystem),该子系统负责……

    2025年9月25日
    13300
  • Linux分区如何合理?分区原则、方法与技巧有哪些?

    Linux分区是系统安装和运维中的关键环节,合理的分区不仅能提升系统性能,还能增强数据安全性和管理效率,分区时需结合使用场景(如服务器、桌面环境、虚拟机等)、硬件配置(磁盘大小、内存容量)及安全需求综合规划,以下是具体建议,核心分区类型及规划原则Linux系统分区需遵循“功能分离、独立管理”原则,将不同用途的数……

    2025年9月22日
    14600
  • Linux设备驱动如何编写?关键步骤与注意事项有哪些?

    Linux设备驱动是内核与硬件交互的核心组件,负责直接操作硬件设备并为上层应用提供统一的访问接口,编写Linux设备驱动需要深入理解内核机制、硬件工作原理及内核编程规范,以下从开发环境准备、核心步骤、关键代码结构及调试方法等方面详细说明,开发环境准备编写设备驱动前需搭建完整的开发环境,包括:内核源码:需与目标系……

    2025年8月30日
    12200

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

联系我们

400-880-8834

在线咨询: QQ交谈

邮件:HI@E.KD.CN

关注微信