首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

‘’ORA 21561:远程Oracle12c XE实例的OID生成失败- Mac上Windows10客户端(使用python的cx_Oracle)上的Oracle

ORA-21561错误是由于远程Oracle 12c XE实例的OID生成失败导致的。在Mac上使用Windows 10客户端(使用Python的cx_Oracle)连接Oracle数据库时可能会遇到这个错误。

OID(Object Identifier)是Oracle数据库中用于唯一标识对象的标识符。在远程连接Oracle数据库时,客户端需要生成一个OID来标识连接。然而,由于某些原因,可能会导致OID生成失败,从而引发ORA-21561错误。

解决这个问题的方法如下:

  1. 确保你的Python环境中已经安装了cx_Oracle模块,并且版本与Oracle数据库版本兼容。
  2. 检查你的网络连接是否正常,确保可以正常访问远程Oracle数据库。
  3. 确保你的连接字符串(Connection String)中的主机名、端口号、服务名等信息正确无误。
  4. 检查你的Oracle客户端是否正确安装和配置。可以尝试重新安装Oracle客户端并进行配置。
  5. 如果你使用的是Oracle Instant Client,确保你已经正确设置了LD_LIBRARY_PATH环境变量。
  6. 确保你的操作系统和Python版本与Oracle数据库版本兼容。

如果以上方法都无法解决问题,建议联系Oracle技术支持或者查阅相关的Oracle文档以获取更详细的帮助和解决方案。

腾讯云提供了一系列与Oracle数据库相关的产品和服务,包括云数据库 TencentDB for Oracle、云数据库灾备 Oracle DR、云数据库备份 Oracle Backup等。你可以访问腾讯云官网了解更多关于这些产品的详细信息和使用指南。

参考链接:

页面内容是否对你有帮助?
有帮助
没帮助

相关·内容

解决django migrate报错ORA-02000: missing ALWAYS keyword

2、Python版本:3.7.3 ? 3、django版本:2.2.4 ? 4、Oracle版本:11.2.0.4 ? 5、cx_oracle版本:7.0.0 ? 6、settings配置 ?...原因分析 从错误提示ORA-02000: missing ALWAYS keyword看,是SQL语法错误,创建表时候使用了Always这个关键词。...Always是在Oracle12c新特性自增序列里用到,语法如下: generated-column-spec [ GENERATED { ALWAYS | BY DEFAULT } AS IDENTITY...解决方案 看了网上一些解决方案,主要有2种: (1)将Oracle升级到12c (2)将cx_oracle降低版本 刚开始选用方案(2),觉得简单,但是实际操作下来,问题一环套一环,比如说将cx_oracle...降低版本后,接着出现了django版本与cx_oracle版本不适应情况,接着又降低django版本。。。

1.4K41

SqlAlchemy 2.0 中文文档(五十一)

它与 cx_Oracle 完全兼容,并且具有“thin”客户端模式(不需要依赖项)和“thick”模式(与 cx_Oracle 一样使用 Oracle 客户端接口)。...python-oracledb 驱动程序还支持“thick”模式,行为类似于 cx_oracle,需要安装 Oracle 客户端接口(OCI)。...这是因为即使这些类型在 Oracle 8 是可用,但在 Oracle 8 似乎无法正确工作。NVARCHAR 和 NCLOB 类型将始终生成 NVARCHAR2 和 NCLOB。...它与 cx_Oracle 完全兼容,具有不需要任何依赖项“轻客户端”模式,以及使用cx_Oracle 相同方式使用 Oracle Client Interface “厚客户端”模式。...不需要任何依赖项“轻客户端”模式,以及使用cx_Oracle 相同方式使用 Oracle Client Interface “厚客户端”模式。

26310
  • 大数据ETL实践探索(1)---- pythonoracle数据库导入导出

    之前有一段时间一直在使用pythonoracle 进行交互,具体内容参见: windows下python3 使用cx_Oracle,xlrd插件进行excel数据清洗录入 可以说使用python...,那么数据库用户名需要用c##开头,使用数据泵进行操作 时候也有一些不同: 在CDB中,只能创建以c##或C##开头用户,如果不加c##,则会提示错误“ORA-65096:公用用户名或角色名无效”...特别注意有关视图和索引表空间和用户也需要提起建立好。当然如果你只要数据的话就不太影像了。基本使用表空间就可以全部导入。...与oracle 交互 cx_oracle 安装 windows10,redhat6.5下python3.5.2使用cx_Oracle链接oracle 其实主要要点是,不管是windows 平台还是...4.2 使用python 执行视图导出 主要逻辑是,按照月份 ,执行视图生成这个月每天数据插入到表中,当一个月数据执行完毕,将这个月份表导出。

    1.5K40

    windows10,redhat6.5下python3.5.2使用cx_Oracle链接oracle

    0.序言 项目主要使用oracle但是我不太喜欢其他编程语言,加上可能需要用python部署算法包,从oracle表中读出数据,处理完成后在放回oracle中去,所以在windows就想到先用python...-089540.html 下载对应版本,我系统是windows10 查看系统oracle client版本,使用sql/plus命令: sqlplus -vSQL*Plus: ?...python安装版本是3.5.2 tnsnames.ora文件我并没有配置?不知道是不是之前系统配置过了,或者是直接移动dll可以不用配置此文件。...所以还是需要姜python等插件部署在linux服务器上面,下面就分享一下红帽主机下使用python插件cx_Oracle(注意大写)入库。...6.关闭连接 实例代码 import sys import cx_Oracle connection = cx_Oracle.Connection("user/pw@tns") cursor =

    86330

    Python操作Oracle数据库:cx_Oracle

    1 安装与导入 Python操作Oracle数据库多用cx_Oracle这个第三方扩展,总体而言,cx_Oracle使用方式与Python操作MySQL数据库pymysql库还是很相似的,如果还没有安装...,包名称cx_Oracle中,字母“O”是大写,写成小写将会导入失败。...这里再附带多说一点,我在安装好cx_Oracle第一次使用时,出现这个异常:DatabaseError: DPI-1047,可以按照官方思路解决:https://oracle.github.io/odpi...最简单方式就是直接使用Python原生提供占位符进行拼接,不过要注意如果变量是字符串时,引号不能少。...: print(row) (1, '张三', 20) (2, '李四', 30) (3, '王五', 40) 注意,这里游标查询结果对象result虽然不是生成器,但是可以当做生成器来用,每一次使用

    4.2K10

    大数据ETL实践探索(1)---- pythonoracle数据库导入导出

    之前有一段时间一直在使用pythonoracle 进行交互,具体内容参见: windows下python3 使用cx_Oracle,xlrd插件进行excel数据清洗录入 可以说使用python...,那么数据库用户名需要用c##开头,使用数据泵进行操作 时候也有一些不同: 在CDB中,只能创建以c##或C##开头用户,如果不加c##,则会提示错误“ORA-65096:公用用户名或角色名无效”...特别注意有关视图和索引表空间和用户也需要提起建立好。当然如果你只要数据的话就不太影像了。基本使用表空间就可以全部导入。...与oracle 交互 cx_oracle 安装 windows10,redhat6.5下python3.5.2使用cx_Oracle链接oracle 其实主要要点是,不管是windows 平台还是...4.2 使用python 执行视图导出 主要逻辑是,按照月份 ,执行视图生成这个月每天数据插入到表中,当一个月数据执行完毕,将这个月份表导出。

    1.5K31

    Python 技术篇-连接oracle数据库并执行sql语句实例演示,python连接oracle数据库oci详细配置方法

    注: 首先如果服务器 oracle 版本是 64 位,我们要保证本地用 64 位 python,还有 64 位 oci,不然后面会碰到很多坑。...② oci 下载 使用 oci 就不用安装整个 oracle 数据库了,oci 相当于一个轻量客户端。...获取地址:oracle install client 官方下载 根据要远程数据库下载版本,这个必须跟数据库位数一致,不然不能用。 select * from v$version ? ? ? ?...tnsnames.ora 文件里添加如下配置信息: 其中 [10.10.xx.xx]/orcl 就作为我远程连接数据库一个表示,这样起名字是为了方便识别,这个名字可以随便定义。 ?...最后新增一个 oracle_home 变量,指向 oci 安装上一级,这样就让 python 感觉像装了一个完整 oracle 客户端似的。 ?

    1.2K10

    java调用python惨痛史(无法获

    环境:java,was,python2.6,红帽linux,oraclepythoncx_Oracle         事情是这样,有个需求,需要对数据库进行处理,简单说就是把数据取出来,用python...如果使用java直接搞的话需要绕很大一个圈,比较麻烦,用python的话就很简单了,于是就有了下面的故事,希望和我遇到同样问题同学能对你们有一些帮助,少绕一些圈子,java和python功能开发都很顺利.../usr/bin/python # coding: UTF-8 import cx_Oracle def ora_conn(): user_name = 'user' passwd = 'pass...连接失败,缺少libclntsh.so.11.1,这里着重说明下,网上都是win调用cx_Oracle,需要拷贝什么dll,这个在linux中是没用,而且就算是win也不是像上面说那样把一堆dll...某楠说好,真相只有一个,特么就不信了,我倒要看看是出什么问题了,根据以往经验,环境变量加失败的话可能是使用用户和加环境变量用户不一致,于是在case.py里面加上一段 import getpass

    1.2K30

    python零碎

    经常用到点知识,百度一下,过两天又忘,搞个笔记记一下,降低回忆成本 1. cx_Oraclepython操作oracle数据库接口) 连接 con = cx_Oracle.connect("pythondemo...类 对象  self指向对象本身 实例化 隐藏  python没有办法设置私有属性 类命名空间 构造函数 超类 确定一个类是否是另外一个类子类 内置方法issubclass 知道基类 可访问__bases...__属性 知道对象是否是特定类实例,isinstance方法,不过这通常不是好做法,依赖多态在任何情况下都是更好选择,一种重要例外是使用抽象基类和模块abc 知道对象属于哪个类 __class__属性...sqlalchemy库  orm接口 SQLAlchemy是Python编程语言下一款ORM框架,该框架建立在数据库API之上,使用关系对象映射进行数据库操作,简言之便是:将对象转换成SQL,然后使用数据...该命令在Oracle8时被引入Oracle,这个操作在本质并不转换任何数据库字符,只是简单更新数据库中所有跟字符集相关信息。

    1.1K20

    ORA-12514 TNS 监听程序当前无法识别连接描述符中请求服务解决

    解决问题:ORA-12514 TNS 监听程序当前无法识别连接描述符中请求服务 测试环境:RedHat7.4 + Oracle 11g 64位 相关说明: 数据库服务器: Oracle11g 64位软件安装位置为.../u01/app/oracle/product/11.2.0/dbhome_1,数据库名为默认orcl, RedHat7.4虚拟机IP设置为:192.168.8.13 Windows10客户端: 1...、PLSQL安装位置:E:\Program Files\PLSQL Developer 2、Oracle客户端位置:E:\app 打开E:\app\product\11.2.0\dbhome_1\NETWORK...中localhost 改为 192.168.8.13; 3.修改后,重启oracle,监听,并注册,主win10plsql就可以远程连接虚拟机上数据库了。...客户端测试步骤:使用plsqldev.exe测试, 修改E:\app\product\11.2.0\dbhome_1\NETWORK\ADMIN\tnsnames.ora文件,新增到虚拟机Oracle

    9.6K10

    备库密码文件问题一波三折插曲(r6笔记第83天)

    首先这个环境没有安装oracle软件,只安装了操作系统,所以搭建备库先需要安装数据库软件,然后开始从主库使用duplicate方式同步数据文件,然后用dg broker来配置即可。...=OraDb11g_home1 然后配置网络服务,准备就开始使用duplicate方式同步备库了。...但是在开始同步前发现就卡在了密码文件。 因为使用tns连接时候报了ORA错误。...,首先是主机名,发现主机名和主库uniq_name有些冲突,感觉是主机名导致,就开始尝试改主机名,改了之后发现错误果真变了。...Enter password: ERROR: ORA-21561: OID generation failed 这个错误比较熟悉,和/etc/hosts配置相关,所以修复之后还是依旧提示备库密码错误

    64860

    关于Oracle导出到csv文件脚本-Python程序方法

    cx_Oracle 是一个用户访问 Oracle 数据库 Python 扩展模块。它符合Python数据库API 2.0规范,并增加了相当多内容和几个排除项。...cx_Oracle 已经在Python 3.6到3.9版本中进行了测试。用户可以将cx_OracleOracle 11.2, 12c, 18c, 19c和21c客户端库一起使用。...关于cx_Oracle详情参见: https://cx-oracle.readthedocs.io/en/latest/index.html Oracle官方文档一直是最全,从高阶到底层,从数据库...、中间件、云计算等无所不包,cx_Oracle官方文档也是秉承这种风格。...导出文本文件三种方法 里面提到了一、常见spool方法;二、UTL_FILE包方法;三、sqluldr2工具 实际sqluldr2工具最为高效但却不是标准工具,Python程序方法灵活性最高,spool

    1.5K10

    助力工业物联网,工业大数据之数仓维度层DWS层构建【十二】

    注释、Schema信息 ODS:Oracle中获取表注释、Schema文件从Sqoop生成 DWD:Oracle中获取表信息 TableMeta:表名,表注释,列信息:List...ColumnMeta:列名、列注释、列类型、长度、精度 如何使用Python构建Oracle和Hive连接?...Oraclecx_Oracle conn(host,port,user,passwd,sid) Hive/SparkSQL:pyHive SparkSQL用法 编程方式:python...step1: 先构建服务端远程连接 服务端地址:主机名 + 端口 用户名和密码 step2:基于这个连接构建一个游标 step3:通过游标来执行SQL语句:execute(String:SQL...Oraclecx_Oracle + 本地客户端:D:\instantclient_12_2 安装 Python版本:Python 3.7.4 命令sasl 02:项目目标 回顾维度建模

    48110

    实践真知:一则因内存导致集群故障

    而在此过程中集群crsd进程,曾多次尝试重启均由于ORA-4031问题而失败。经过分析判断后,在保证节点2存活情况下,最终通过继续完成节点1ASM实例内存参数调整并重启节点1集群后恢复正常。...而linux与windows不同,地址重复后并不会产生冲突,而是同时存在,此时应用客户端随机选取arp地址映射,学习到节点1mac地址映射,就会使用节点1VIP,学习到节点2mac地址映射,就会使用节点...2VIP,而客户端配置了节点间failover,所以此时就是连接了错误节点,仍然不影响应用程序正常运行。...附录:11.2.0.3/4 ASM 内存管理变化 ASM实例需要共享内存与processes及diskgroup多少直接相关,而在Oracle 11.2.0.3和11.2.0.4版本中缺省processes...在Oracle 11.2.0.3/11.2.0.4中如果ASM实例使用内存小于1536M,将可能导致ASM内存实例遭遇ORA-4031问题,Oracle官方推荐ASM实例内存参数配置如下: ?

    1K50

    大数据ETL实践探索(7)---- 使用python 进行oracle 全库数据描述性及探索性逆向分析

    下面就以Oracle 为例,使用python 进行全库数据描述性及探索性逆向分析。...1. cx_Oracle 简介与数据类型 说到python 链接Oracle ,就不得不提到cx_Oraclecx_Oracle is a module that enables access to...Oracle - cx_Oracle - Python 映射为: Oracle cx_Oracle Python VARCHAR2 NVARCHAR2 LONG cx_Oracle.STRING...在ORACLE 12C之前,实例与数据库是一对一或多对一关系(RAC):即一个实例只能与一个数据库相关联,数据库可以被多个实例所加载。而实例与数据库不可能是一对多关系。...3.0 设置oracle sid 数据库实例名 在cmd 命令行窗口使用sqlplus 之前需要进行数据库实例指定。

    77820

    Oracle 远程链接oracle数据库服务器配置

    Oracle网络服务名是一个标识符,它代表着客户端连接服务器配置信息(实际就是连接请求内容),包括数据库主机地址、监听端口、全局数据库名称等内容。 ?...本地连接无需监听,而远程链接则需要监听,需要配置listener.ora,tnsnames.ora等,这里oem链接比较特殊:就算在服务器端用oem连接数据库时候也是通过服务名连接数据库也即远程连接,...二,oracle在网络连接上提供中间件有 Name Server:命名服务,把服务命名集中在一台命名服务器.用不多,一般使用local tns解析....本项应该与当前Oracle服务init.ora文件中SERVICE_NAMES项一致 SID_NAME 含有用于本Oracle实例Oracle SID名称 ?...操作3-客户端配置 参考文档“Oracle 11g即时客户端在windows下配置” 备注: linux下远程oracle主机,发现主机内部都可以测试通过,外面也可以ping通oracle主机

    7.6K10

    Oracle RAC 负载均衡测试(结合服务器端与客户端)

    Oracle RAC 负载均衡使得从客户端发起连接能够有效地分配到监听器负载较小实例。...一、配置需求 1、服务器端各节点监听器正常提供服务,如果使用非缺省1521端口,请参考 ORACLE RAC 下非缺省端口监听配置(listener.ora tnsnames.ora) oracle...|wc -l 415 #从上面的查询中可以得知,节点bo2dbp总共接受了894个连接请求,而有415连接请求是由bo2dbs转发过来 #因此,实际客户端发起到bo2dbp实际连接请求数为894...wc -l 144 #从上面的查询中可知,节点bo2dbs总共接受了665个连接请求,而有144个连接请求是由bo2dbp转发过来 #因此,实际客户端发起到bo2dbs实际连接请求数为655-...,511-415=96 #远程监听器路由道本地实例数据为,节点bo2dpb为415,节点bo2dbs为144 #监听器路由概念是指基于服务器端负载均衡 #即服务器端监听器根据自身以及远程监听器负载情况来确定将当前连接请求转发到本地或远程

    1.4K10
    领券