解决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系统如何正确安装repo配置软件源?

    在Linux系统中,软件仓库(Repository)是集中存储软件包及其元数据的中心,通过配置仓库,用户可以高效地安装、更新、卸载软件,并自动处理依赖关系,不同Linux发行版使用不同的包管理工具和仓库配置方式,本文将详细介绍主流发行版中仓库的配置与管理方法,软件仓库的核心作用仓库的核心功能是提供结构化的软件包……

    2025年10月7日
    1200
  • Python中如何用Linux信号量实现进程同步?

    Linux信号量是一种进程间同步机制,用于协调多个进程对共享资源的访问,通过P(wait,资源申请)和V(signal,资源释放)操作控制并发数量,避免竞争条件,在Python中,可通过高级接口multiprocessing.Semaphore和低级接口os模块的信号量系统调用来实现信号量的功能,Python中……

    2025年8月24日
    4000
  • 网络连不上?Ping命令能帮你!

    在Linux系统中,确认网络连接状态是日常维护和故障排除的基础操作,以下详细介绍多种专业方法,涵盖命令行工具和图形界面方案,适用于不同发行版(如Ubuntu、CentOS、Debian等),操作前请确保拥有终端访问权限(普通用户或root用户),ping 是最直接的网络测试工具,通过向目标服务器发送ICMP请求……

    2025年6月19日
    5400
  • Linux如何查看UDP报文?

    核心工具及操作步骤tcpdump(命令行抓包)安装与基础命令sudo apt install tcpdump # Debian/Ubuntusudo yum install tcpdump # RHEL/CentOS捕获UDP报文sudo tcpdump -i any udp -vv -X-i any:监听所有……

    2025年7月21日
    5100
  • 如何6个月零基础转行?系统学习+实战路径

    Linux系统核心能力(1-3个月)操作系统原理掌握进程管理(ps/top/kill)、内存机制(free/vmstat)、文件系统(ext4/XFS)理解系统启动流程:BIOS/UEFI → GRUB → kernel → systemd命令行高效操作必学工具:grep/awk/sed 文本处理三剑客,fin……

    2025年7月28日
    4100

发表回复

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

联系我们

400-880-8834

在线咨询: QQ交谈

邮件:HI@E.KD.CN

关注微信