转载

Oracle OID 11g Bulkload of Large Amount (Several Millions) of Entries Fails Initially with ...

如果自己搞不定可以找诗檀软件专业ORACLE数据库修复团队成员帮您恢复!

诗檀软件专业数据库修复团队

服务热线 : 400-690-3643 备用电话: 13764045638 邮箱: service@parnassusdata.com

适用于:

Oracle Internet Directory – 11.1.1 版本和更高的版本

本文档适用于任何平台

症状

Oracle Internet Directory (OID) 11g,比如: 11.1.1.7.0.

根据文档 579529.1 批量加载百万计的数据到OID报下面错误:

*Error in loading data for “attr_store001”For more details, refer bulkload.log*

As indicated above, there were errors during the load of data. This will leave the OID directory content in inconsistent state.

Hence, it is highly recommended that you use the bulkload -recover option to restore the OID directory content to the pre-bulkload state.

If you choose not to use the recover option of bulkload now, then you must restore the OID Database from a backup taken prior to this bulkload invocation so that the Directory content is restored to the pre-bulkload state.

类似的bulkload曾在以前的环境中多次以相同方式配置。

最初在bulkload日志或文件没有错误(除了一个典型的错误:“属性pwdchangedtime是单值”,但可以跳过/忽略,不会引起问题,并在先前成功的批量加载工作。)

后来的bulkload工作出现了几个不同的失败,例如在bsl_attr_store<number> .log中的bulkload日志:

Record 12954614: Rejected – Error on table DS_ATTRSTORE.

ORA-12592: TNS:bad packet

SQL*Loader-926: OCI error while uldlfca: last loaded row is bigger than the column array size for table DS_ATTRSTORE

SQL*Loader-2026: the load was aborted because SQL Loader cannot continue.

识别和删除一些问题项从ldif文件和重试,现在的bulkload返回不同的错误,例如:

bsl_attr_store001.log:         ORA-39776: fatal Direct Path API error loading table ODS.DS_ATTRSTOREbsl_attr_store001.log:         ORA-00600: internal error code, arguments: [klaprs_11], [60], [115], [45030627], [], [], [], [], [], [], [], []

bsl_attr_store006.log:         ORA-39776: fatal Direct Path API error loading table ODS.DS_ATTRSTOREbsl_attr_store006.log:         ORA-00600: internal error code, arguments: [klaprs_11], [60], [36], [14538110], [], [], [], [], [], [], [], []

bsl_orclsecondaryuid.log:   ORA-39776: fatal Direct Path API error loading table ODS.CT_ORCLSECONDARYUIDbsl_orclsecondaryuid.log:   ORA-00600: internal error code, arguments: [klaprs_12], [110], [60], [15979905], [], [], [], [], [], [], [], []

bulkload.log还显示一下信息:

[BULKLOAD] [host: myoidhost.mycompany.com] [pid: 2114] [tid: 5] gsltltwWriter: Two realms cannot reference the same DN in orclcommonusersearchbase.

查看root oraclecontext显示默认的属性,作为初始安装,如下:

$ ldapsearch -h myoidhost.mycompany.com -p 3060 -D cn=orcladmin -w <password> -s base -b “cn=Common,cn=Products,cn=OracleContext” objectclass=*

cn=Common,cn=Products,cn=OracleContext

orcldefaultsubscriber=o=mycompany.com

orclsubscribernicknameattribute=o

orclcommonpasswordpolicy={x- orcldbpwd}:ALWAYS:orclPassword::

orclcommonkrbprincipalattribute=krbPrincipalName

orclcommongroupcreatebase= cn=Groups ,

orclcommondefaultusercreatebase= cn=Users,

orclcommonwindowsprincipalattribute=orclSAMAccountName

orclcommondefaultgroupcreatebase= cn=Groups,

orclcommonnamingattribute=cn

orclcommonusercreatebase= cn=Users,

orcluserobjectclasses=top

orcluserobjectclasses=person

orcluserobjectclasses=inetorgperson

orcluserobjectclasses=organizationalperson

orcluserobjectclasses=orcluser

orcluserobjectclasses=orcluserv2

orclentrylevelaci=access to entry by * (browse,noadd,nodelete)

orclentrylevelaci=access to attr=(*) by group=”cn=OracleDASConfiguration, cn=Groups,cn=OracleContext” (read,write,search,compare) by * (read,search,nowrite,nocompare)

objectclass=top

objectclass=orclCommonAttributes

objectclass=orclContainer

objectclass=orclCommonAttributesV2

cn=Common

orclcommonnicknameattribute=uid

orclcommonapplicationguidattribute=orclGlobalID

orclversion=90000

注意到“base”属性值和上面的ldif文件的那些被批量加载不匹配,例如ldif文件使用 ou=People ,而不是默认 cn=Users ,和使用 ou=Groups ,而不是默认 cn=Groups

因此尝试修改这些参数的值让它和ldif文件里的值相匹配,看起来如下:

$ ldapsearch -h myoidhost.mycompany.com -p 3060 -D cn=orcladmin -w <password> -s base -b “cn=Common,cn=Products,cn=OracleContext” objectclass=*

cn=Common,cn=Products,cn=OracleContext

orcldefaultsubscriber=o=mycompany.com

orclsubscribernicknameattribute=o

orclcommonpasswordpolicy={x- orcldbpwd}:ALWAYS:orclPassword::

orclcommonkrbprincipalattribute=krbPrincipalName

orclcommongroupcreatebase= ou=Groups,

orclcommondefaultusercreatebase= ou=People,

orclcommonwindowsprincipalattribute=orclSAMAccountName

orclcommondefaultgroupcreatebase= ou=Groups,

orclcommonnamingattribute=cn

orclcommonusercreatebase= ou=People,

orcluserobjectclasses=top

orcluserobjectclasses=person

orcluserobjectclasses=inetorgperson

orcluserobjectclasses=organizationalperson

orcluserobjectclasses=orcluser

orcluserobjectclasses=orcluserv2

orclentrylevelaci=access to entry by * (browse,noadd,nodelete)

orclentrylevelaci=access to attr=(*) by group=”cn=OracleDASConfiguration,cn=Groups,cn=OracleContext” (read,write,search,compare) by * (read,search,nowrite,nocompare)

objectclass=top

objectclass=orclCommonAttributes

objectclass=orclContainer

objectclass=orclCommonAttributesV2

cn=Common

orclcommonnicknameattribute=uid

orclcommonapplicationguidattribute=orclGlobalID

orclversion=90000

上面的步骤解决了来自于bulkload的ORA-600错误,完成bulkload,然而,在bulkload.log出现一个新的错误:

…<snip>…

[2015-07-06T21:42:46-04:00] [OID] [NOTIFICATION:16] [] [BULKLOAD] [host: myoidhost.mycompany.com] [pid: 29062] [tid: 0] bulkload::

[gsltdbmhqUpdateHQ] ORA error 3135: ORA-03135: connection lost contact

Process ID: 8282

Session ID: 4 Serial number: 3765

[2015-07-06T21:42:46-04:00] [OID] [NOTIFICATION:16] [] [BULKLOAD] [host: myoidhost.mycompany.com] [pid: 29062] [tid: 0] bulkload:: [gsldpoOperationComplete] ORA-3114, ORA-03114: not connected to ORACLE

[2015-07-06T21:42:46-04:00] [OID] [NOTIFICATION:16] [] [BULKLOAD] [host: myoidhost.mycompany.com] [pid: 29062] [tid: 0] bulkload:: Data loaded successfully

[2015-07-06T21:42:46-04:00] [OID] [NOTIFICATION:16] [] [BULKLOAD] [host: myoidhost.mycompany.com] [pid: 29062] [tid: 0] bulkload::

Verifying indexes…

[2015-07-06T21:42:46-04:00] [OID] [NOTIFICATION:16] [] [BULKLOAD] [host: myoidhost.mycompany.com] [pid: 29062] [tid: 0] bulkload:: [gsltdbviVerifyIndexes] ORA error 3114: ORA-03114: not connected to ORACLE

[2015-07-06T21:42:46-04:00] [OID] [NOTIFICATION:16] [] [BULKLOAD] [host: myoidhost.mycompany.com] [pid: 29062] [tid: 0] bulkload::

Indexes verification done…

[2015-07-06T21:42:46-04:00] [OID] [NOTIFICATION:16] [] [BULKLOAD] [host: myoidhost.mycompany.com] [pid: 29062] [tid: 0] bulkload::

Altering indexes …

[2015-07-06T21:42:46-04:00] [OID] [NOTIFICATION:16] [] [BULKLOAD] [host: myoidhost.mycompany.com] [pid: 29062] [tid: 0] bulkload:: [gsltdbiaiAlterIndex] ORA error 3114: ORA-03114: not connected to ORACLE

[2015-07-06T21:42:46-04:00] [OID] [NOTIFICATION:16] [] [BULKLOAD] [host: myoidhost.mycompany.com] [pid: 29062] [tid: 0] bulkload::

Indexes alteration done…

[2015-07-06T21:42:46-04:00] [OID] [NOTIFICATION:16] [] [BULKLOAD] [host: myoidhost.mycompany.com] [pid: 29062] [tid: 0] bulkload:: [gsltdbwDupdateEid] ORA error 3114: ORA-03114: not connected to ORACLE

[2015-07-06T21:42:46-04:00] [OID] [NOTIFICATION:16] [] [BULKLOAD] [host: myoidhost.mycompany.com] [pid: 29062] [tid: 0] bulkload:: [gsldpoOperationComplete] ORA-3114, ORA-03114: not connected to ORACLE

[2015-07-06T21:42:46-04:00] [OID] [NOTIFICATION:16] [] [BULKLOAD] [host: myoidhost.mycompany.com] [pid: 29062] [tid: 0] bulkload::

Collecting statistics …

[2015-07-06T21:42:46-04:00] [OID] [NOTIFICATION:16] [] [BULKLOAD] [host: myoidhost.mycompany.com] [pid: 29062] [tid: 0] bulkload:: [gsltdbusStats] ORA error 3114: ORA-03114: not connected to ORACLE

[2015-07-06T21:42:46-04:00] [OID] [NOTIFICATION:16] [] [BULKLOAD] [host: myoidhost.mycompany.com] [pid: 29062] [tid: 0] bulkload:: *Error in collecting statistics.

[2015-07-06T21:42:46-04:00] [OID] [NOTIFICATION:16] [] [BULKLOAD] [host: myoidhost.mycompany.com] [pid: 29062] [tid: 0] bulkload::Statistics collection done…

[2015-07-06T21:42:46-04:00] [OID] [NOTIFICATION:16] [] [BULKLOAD] [host: myoidhost.mycompany.com] [pid: 29062] [tid: 0] bulkload:: …Setting OID server mode to read-write on “oiddb” node…

[2015-07-06T21:42:46-04:00] [OID] [NOTIFICATION:16] [] [BULKLOAD] [host: myoidhost.mycompany.com] [pid: 29062] [tid: 0] bulkload:: [gsltdbwEsvrMode] ORA error 3114: ORA-03114: not connected to ORACLE

[2015-07-06T21:42:46-04:00] [OID] [NOTIFICATION:16] [] [BULKLOAD] [host: myoidhost.mycompany.com] [pid: 29062] [tid: 0] bulkload:: [gsldpoOperationComplete] ORA-3114, ORA-03114: not connected to ORACLE

[2015-07-06T21:42:46-04:00] [OID] [NOTIFICATION:16] [] [BULKLOAD] [host: myoidhost.mycompany.com] [pid: 29062] [tid: 0] bulkload::========================================

[2015-07-06T21:42:46-04:00] [OID] [NOTIFICATION:16] [] [BULKLOAD] [host: myoidhost.mycompany.com] [pid: 29062] [tid: 0] bulkload:: Time taken by each activity

[2015-07-06T21:42:46-04:00] [OID] [NOTIFICATION:16] [] [BULKLOAD] [host: myoidhost.mycompany.com] [pid: 29062] [tid: 0] bulkload:: ========================================

[2015-07-06T21:42:46-04:00] [OID] [NOTIFICATION:16] [] [BULKLOAD] [host: myoidhost.mycompany.com] [pid: 29062] [tid: 0] bulkload:: Load and/or Index : 1hr. 28min. 37sec.

[2015-07-06T21:42:46-04:00] [OID] [NOTIFICATION:16] [] [BULKLOAD] [host: myoidhost.mycompany.com] [pid: 29062] [tid: 0] bulkload:: Statistics Collection : 0hr. 0min. 0sec.

[2015-07-06T21:42:46-04:00] [OID] [NOTIFICATION:16] [] [BULKLOAD] [host: myoidhost.mycompany.com] [pid: 29062] [tid: 0] bulkload:: ========================================…<end>…

再加上加载数据和OID服务不可以,尝试添加,删除或修改失效条码或异常行为,例如:

$ ldapdelete -v -c -h myoidhost.mycompany.com -p 3060 -D “cn=orcladmin” -w -f delete_myuser1.ldif

deleting entry uid=myuser1.name,ou=People,o=mycompany.com

ldap_delete: No such object

ldap_delete: additional info: Entry to be deleted not found.

$ ldapadd -h myoidhost.mycompany.com -p 3060 -D “cn=orcladmin” -w <password> -f add_myuser1.ldif

adding new entry uid=myuser1.name,ou=People,o=mycompany.com

ldap_add: Already exists

ldap_add: additional info: Object already exists

$ ldapmodify -h myoidhost.mycompany.com -p 3060 -v -D “cn=orcladmin” -w <password> -f change_pw_myuser1.ldif

replace userpassword:

modifying entry uid=myuser1.name,ou=People,o=mycompany.com

ldap_modify: No such object

$ ldapsearch -L -b “” “(uid= myuser1.name*)” dndn: uid=myuser1.name,ou=People,o=mycompany.com

改变

尝试修改让root oraclecontext 的base属性和批量加载的ldif文件相匹配,解决了ORA-600,但是发现了新的错误ORA-03114和不可用的数据和OID服务。

原因

网络和/或防火墙或负载均衡器的问题。

一个增强请求已经被提交:BUG22450252 – 通过配置/调整参数实现bulkload功能。

解决方案

从OID服务器直接硬连接数据库(DB / RDBMS)主机,有效地绕过任何防火墙和其他网络组件,来解决该问题。

对于位于远程的并且不能直接硬连接到它的OID服务器主机的数据库服务器,一个潜在的解决方案正在通过改进请求(ER)22450252,即,添加额外的配置功能,实现用bulkload工具进行数据导入。

关注dbDao.com的新浪微博

扫码关注dbDao.com 微信公众号:

Oracle OID 11g Bulkload of Large Amount (Several Millions) of Entries Fails Initially with ...

原文  http://www.askmaclean.com/archives/oracle-oid-11g-bulkload-of-large-amount-several-millions-of-entries-fails-initially-with-ora-12592-later-with-ora-39776-and-ora-00600-internal-error-code-arguments-klaprs_-finally-with-ora-03.html
正文到此结束
Loading...