Troubleshooting Chapter 11 Staging a Test Environment from a Production Environm_Tomcat, WebLogic及J2EE讨论区_Weblogic技术|Tuxedo技术|中间件技术|Oracle论坛|JAVA论坛|Linux/Unix技术|hadoop论坛_联动北方技术论坛  
网站首页 | 关于我们 | 服务中心 | 经验交流 | 公司荣誉 | 成功案例 | 合作伙伴 | 联系我们 |
联动北方-国内领先的云技术服务提供商
»  游客             当前位置:  论坛首页 »  自由讨论区 »  Tomcat, WebLogic及J2EE讨论区 »
总帖数
5
每页帖数
101/1页1
返回列表
0
发起投票  发起投票 发新帖子
查看: 11035 | 回复: 4   主题: Troubleshooting Chapter 11 Staging a Test Environment from a Production Environm        下一篇 
ab19890824
注册用户
等级:少尉
经验:351
发帖:92
精华:0
注册:2011-11-21
状态:离线
发送短消息息给ab19890824 加好友    发送短消息息给ab19890824 发消息
发表于: IP:您无权察看 2011-11-26 13:17:15 | [全部帖] [楼主帖] 楼主

范围和应用:

那些尝试克隆Portal实例但是遇到问题的管理员使用这篇说明。

从生产环境中分出一个测试环境来排除故障。

1.       导入的日志有一些错误

A  EXP-00091 -Exporting questionable statistics


你可以忽略这些错误。

B  IMP-00017 - WWSRC_PREFERENCE$


在导入的时候,会有一个导入错误:

> IMP-00017: following statement failed with ORACLE error 921:
> "ALTER TABLE "WWSRC_PREFERENCE$" ADD "
> IMP-00003: ORACLE error 921 encountered
> ORA-00921: unexpected end of SQL command


主键没有创建,你可以在SQL*Plus和user portal使用这个命令创建,然后重新添加VPD策略。

alter table "WWSRC_PREFERENCE$" add constraint wwsrc_preference_pk
primary key (subscriber_id, id)
using index wwsrc_preference_idx1
/
Begin
DBMS_RLS.ADD_POLICY ('', 'WWSRC_PREFERENCE$', 'WEBDB_VPD_POLICY',
'', 'webdb_vpd_sec', 'select, insert, update, delete', TRUE,
static_policy=>true);
end ;
/
C  IMP-00017 - WWDAV$ASL
> . importing table "WWDAV$ASL"
> Note: table contains ROWID column, values may be obsolete 113 rows imported


这个错误是正常的,表确实包含ROWID列。

D  IMP-00041 - Warning: 创建对象带有编译错误。

这个错误也是正常的,这些错误的出现是因为还没有导入这些包。

导入包后重新编译。

E  ldapadd error 'cannot add add entries containing authpasswords'
# ldap_add: DSA is unwilling to perform
# ldap_add: additional info: You cannot add entries containing authpasswords.


authpasswords自动生成的值来自于从用户存储在userpassword中的真正密码。这些值不从LDAP输出。你可以通过编程移除authpasswords,有三部分:

移除authpasswords的属性

输出安全:用户和组(可选)

在下面的说明:

Note 276688.1:如何把IAS 9.0.4模式的Portal数据库拷贝(输出/导入)到另外一个数据库

F  IMP-00017: WWSTO_SESSION$
IMP-00017: following statement failed with ORACLE error 2298:
"ALTER TABLE "WWSTO_SESSION$" ENABLE CONSTRAINT "WWSTO_SESS_FK1""
IMP-00003: ORACLE error 2298 encountered
ORA-02298: cannot validate (PORTAL.WWSTO_SESS_FK1) - parent keys not found


看来它只会在“在运行的Portal中完成输出”时发生,当Portal重新连接时会导致一个问题,但这有这个问题的应急措施。

SQL> delete from WWSTO_SESSION_DATA$


7690行被删除。

SQL> delete from WWSTO_SESSION$;


1037行被删除。

SQL> commit;


提交完成。

SQL> ALTER TABLE "WWSTO_SESSION$" ENABLE CONSTRAINT "WWSTO_SESS_FK1";


表被修改。

G  IMP-00017 - ORACLE error 1 - DBMS_JOB.ISUBMIT


导入的数据库不是空的而且由于某种原因它已经被定制了,在导入时可能会出现错误。例如,你导出一个infrastructure和你把使用job的其他大量程序导入到数据库。遗憾的是job的id相同。

由于job的导入/导出已经完成,在导入完成后,这些job会保持它们的ID。它们可能会发生冲突

IMP-00017: following statement failed with ORACLE error 1: "BEGIN
DBMS_JOB.ISUBMIT(JOB=>42,WHAT=>'begin execute immediate " "''begin
wwutl_cache_sys.process_background_inval; end;'' ; exc" "eption when others then wwlog_api.log(p_domain=> ''utl'', " " p_subdomain=>''cache'', p_name=>''background'', " " p_action=>''process_background_inval'', p_information => ''E" "rror in process_background_inval ''|| sqlerrm);end;', NEXT_DATE=" ">TO_DATE('2004-08-19:17:32:16','YYYY-MM-DD:HH24:MI:SS'),INTERVAL=>'SYSDATE " "+ 60/(24*60)',NO_PARSE=>TRUE); END;"
IMP-00003: ORACLE error 1 encountered ORA-00001: unique constraint (SYS.I_JOB_JOB) violated
ORA-06512: at "SYS.DBMS_JOB", line 97 ORA-06512: at line 1


解决方案:

由于这些有冲突的job是不同的,因为它只会发生在自定义安装,没有明确的规则,但是你可以:

l       在导入other_ids后,重新创建缺失的job。

l       在导入之前要改变其它程序的iob id,这种类型的命令可以帮助你(你需要以SYS的身份来操作)

select * from dba_jobs;
update dba_jobs set job=99 where job=52;
commit


2.       在RAC环境中导入

在portal数据库受RAC管理的时候,意识到了还未发布的bug 2479882

Unpublished Bug 2479882 - NEEDED TO BOUNCE DB NODES AFTER INSTALLING PORTAL 9.0.2 IN RAC NODE


3.       中间物

在导入一个环境之后,中间物索引失去作用。为了纠正这个错误,你需要使用Portal运行SQL*Plus

start $MIDTIER_ORACLE_HOME/portal/admin/plsql/wws/inctxgrn.sql
start $MIDTIER_ORACLE_HOME/portal/admin/plsql/wws/ctxcrind.sq


没有脚本,你不能WA问题,单独运行ctxcrind.sql不起作用

你将会遇到这个错误:

ORA-06510: PL/SQL: unhandled user-defined exception
ORA-06512: at "PORTAL.WWERR_API_EXCEPTION", line 164
ORA-06512: at "PORTAL.WWV_CONTEXT", line 1035
ORA-06510: PL/SQL: unhandled user-defined exception
ORA-06512: at "PORTAL.WWERR_API_EXCEPTION", line 164
ORA-06512: at "PORTAL.WWV_CONTEXT", line 476
ORA-06510: PL/SQL: unhandled user-defined exception
ORA-20000: Oracle Text error:
DRG-12603: CTXSYS does not own user datastore procedure: WWSBR_THING_CTX_69
ORA-06512: at line 13
4.       ptlconfig


在导入一个数据库之后,你尝试者运行ptlconfig,你会出错:

问题处理Portal实例,配置HTTP服务器的设置:安装缓存中的数据:SQL exception:error:

ORA-23421:job number32 不是job队列中的job

这是因为由SYS用户完成的导入已经把Portal jobs导入到SYS模式代替portal。

这个解决方案要运行:

update dba_jobs set LOG_USER='PORTAL', PRIV_USER='PORTAL' where
schema_user='PORTAL';


在这个主题中请参阅以下的说明:

Note 729913.1 - Error ORA-23421 When Running Ptlconfig -Dad Portal As Part Of Chapter 11 Of The Application Server Administration Guide
Note 444838.1 - ORA-23421 Running Ptlconfig
5.  WWC-41417 - invalid credentials


当你尝试登陆时,你会得到:

>你会遇到一个不可预知的错误wwsec_app_priv.process_signon(用户自定义异常)(WWC-41417)

>当访问Oracle Internet Directory时一个异常抛出:49:无效证书

>细节

> Error:Operation: dbms_ldap.simple_bind_s
> OID host: machine.domain.com
> OID port number: 4032
> Entry DN: orclApplicationCommonName=PORTAL,cn=Portal,cn=Products,cn=OracleContext. (WWC-41743)


解决方案:

-运行secupoid.sql

-重新运行ptlconfig

在使用ptlasst 代替ptlconfig后,这个问题就有了。

6.  EXP-003 with a database 9.2.0.5 or 10.1.0.2

在9.2.0.5或者10.1.0.2版本中imp/exp的DB格式已经改变了。用一个较低版本的导出实体,如9.2.0.4.0来完成9.2.0.5.0或者10.1.0.2.0数据库的导出仅仅只会造成The EXP-3错误。

由于本说明是书面的方式,imp/exp使用的是midtier中的一个

如果你的portal在一个9.2.0.5版本的数据库,它将不会工作,为了解决这个问题,这里有两个解决方案:

1.       按照以下几点正确的导出和导入客户端:

Note 132904.1 - Compatibility Matrix for Export And Import Between Different Oracle Versions


2.       对9.2.0.5或者10.1.0.2版本的数据库做些改变使之和以前的版本兼容。这些改变是在导出和导入数据之前修改数据库的内部视图。

这种解决方案存在以下的bug:

Bug 3784697 - EXPORT OF LOB FROM 9205 WITH PRE-9205 EXP GIVES EXP-3 (NO STORAGE DEF FOUND)


1.从$OH/rdbms/admin/catexp.sql 记住exu9tne的导出定义

2.备份这个文件,在定义的最后一行添加UNION ALL select * from sys.exu9tneb

3.以sys的身份进入数据库

4.导出需要的

5.还原exu9tne原来的定义

例如:

对9204的解决方案的视图可能是:

CREATE OR REPLACE VIEW exu9tne (
tsno, fileno, blockno, length) AS
SELECT ts#, segfile#, segblock#, length
FROM sys.uet$
WHERE ext# = 1
UNION ALL
select * from sys.exu9tneb
/


7. EXP-00006: 内部一致性错误

这被记录在以下的bug中

Bug 2906613 - DURING DB EXPORT, CUSTOMER RECEIVES 'EXP-6: INTERNAL INCONSISTENCY ERROR'


这个bug的解决方案是:

以sys的身份连接数据库,在运行export之前,创建下面的视图。

CREATE OR REPLACE VIEW exu8con (
objid, owner, ownerid, tname, type, cname,
cno, condition, condlength, enabled, defer,
sqlver, iname) AS
SELECT o.obj#, u.name, c.owner#, o.name,
decode(cd.type#, 11, 7, cd.type#),
c.name, c.con#, cd.condition, cd.condlength,
NVL(cd.enabled, 0), NVL(cd.defer, 0),
sv.sql_version, NVL(oi.name, '')
FROM sys.obj$ o, sys.user$ u, sys.con$ c,
sys.cdef$ cd, sys.exu816sqv sv, sys.obj$ oi
WHERE u.user# = c.owner# AND
o.obj# = cd.obj# AND
cd.con# = c.con# AND
cd.spare1 = sv.version# (+) AND
cd.enabled = oi.obj# (+) AND
NOT EXISTS (
SELECT owner, name
FROM sys.noexp$ ne
WHERE ne.owner = u.name AND
ne.name = o.name AND
ne.obj_type = 2)


exu8con的修改仅仅增加了对约束类型的支持,约束类型以前是不被这个视图的支持的。没有负面影响。

8. WWSBR_DOC_CTX_54是无效的

当包重新编译后,任然无效(在sys_post_changes.log日志文件中)

INVALID_OBJECT_AFTER
select owner, object_name from all_objects where status='INVALID'
CTXSYS WWSBR_DOC_CTX_54
CREATE OR REPLACE procedure WWSBR_DOC_CTX_54
(rid in rowid, bilob in out NOCOPY blob)
is begin PORTAL.WWSBR_CTX_PROCS.DOC_CTX(rid,bilob);end;
/


这个对象不再被portal使用,错误可以忽略。过程也可以移除。

9.你没有权限执行操作(WWC-44131)

有关生产机器的组的OID发生改变

和组创建和搜索的base都被改变了,这会产生问题。

在此之后,克隆的repository工作没用问题。

似乎ptlconfig -dad portal不会正确的重置组的GUID 和 DN

解决方案是使用以下给出的脚本:

Note 228516.1:在IAS 9.0.2模式下怎么把Portal数据库复制(导出/导入)到另外一个数据库和在拷贝的实例中运行group_sec.sql来重置所有的DN 和GUID

10.从9.x版本中的数据库导出后导入到10g版本的数据库会使java对象失效。

如果你从一个9.x版本中的数据库导出后导入到一个10g版本的的数据库,在运行utlrp.sql后,18个java对象将会失效。

select object_name, object_type from user_objects where status='INVALID'
SQL> /
OBJECT_NAME OBJECT_TYPE
----------------------------------- -------------------
/556ab159_Handler JAVA CLASS
/41bf3951_HttpsURLConnection JAVA CLASS
/ce2fa28e_ProviderManagerClien JAVA CLASS
/c5b98d35_ServiceManagerClient JAVA CLASS
/d77cf2ab_SOAPServlet JAVA CLASS
/649bf254_JavaProvider JAVA CLASS
/a9164b8b_SpProvider JAVA CLASS
/2ee43ac9_StatefulEJBProvider JAVA CLASS
/ad45acec_StatelessEJBProvider JAVA CLASS
/da1c4a59_EntityEJBProvider JAVA CLASS
/66fdac3e_OracleSOAPHTTPConnec JAVA CLASS
/939c36f5_OracleSOAPHTTPConnec JAVA CLASS
org/apache/soap/rpc/Call JAVA CLASS
org/apache/soap/rpc/RPCMessage JAVA CLASS
org/apache/soap/rpc/Response JAVA CLASS
/198a7089_Message JAVA CLASS
/2cffd799_ProviderGroupUtils JAVA CLASS
/32ebb779_ProviderGroupMgrProx JAVA CLASS


18行被选择

这是一个已知的问题,可以通过安装下面的补丁来解决:

Patch 4543413 - PORTAL 10.1.2.0.0, 10.1.2.0.1, 10.1.2.0.2, 10.1.4 PATCH FOR 10G DB UPGRADE (FROM 9.0.X AND 9.2.X)


11. IMP-00003: 遇到ORACLE error 30510

在导入Portal的时候,数据库的导入可能会产生下面的错误:

. importing PORTAL's objects into PORTAL
IMP-00017: following statement failed with ORACLE error 30510:
"CREATE TRIGGER "PORTAL".logoff_trigger"
"before logoff on schema"
""
"begin"
" -- Call wwsec_oid.unbind to close open OID connections if any."
" wwsec_oid.unbind;"
"exception"
" when others then"
" -- Ignore all the errors encountered while unbinding."
" null;"
"end logoff_trigger;"
IMP-00003: ORACLE error 30510 encountered
ORA-30510: system triggers cannot be defined on the schema of SYS user


使用下面的说明来解决:

Note 340478.1 - Getting IMP-00017: Following Statement Failed with Oracle Error 30510 when Importing the Portal Schema


12. 运行 PTLCONFIG 返回 ORA-6502
当在运行ptlconfig -dad portal的时候,有时候会出现这个错误:

./ptlconfig -dad portal
Portal Dependency Settings Tool
Processing Portal instance '/pls/portal' (cn=asdb10,cn=oraclecontext)
Problem processing Portal instance: Configuring OID settings : Populating OID
data : SQL exception: Error message: ORA-06502: PL/SQL
: error : error de conversi??n de car??cter a n??me


解决方案:

-在运行脚本之前复位NLS_LANG 环境变量

-或者设置为NLS_LANG=american_america.UTF8

在启动时perl脚本和bash脚本复位NLS_LANG环境变量

13.升级到10.1.2.1.0失败: ORA-39705:注册表中不存在组件'PORTAL'

你可以参考这篇说明的先前版本和portal升级失败错误:

# ERROR: WWU-01012: Upgrade completed with the following errors
>># 2890 : ERROR at line 1:
>># 2891 : ORA-20000:
>># 2892 : ORA-06512: at "PORTAL.WWPOF", line 440
>># 2893 : ORA-06512: at line 26
>># 2894 : ORA-39705: component 'PORTAL' not found in registry
>># 2899 : # ERROR: Failed to update product version in application registry.
>># 2900 : # ERROR: ORA-39705: component 'PORTAL' not found in registry
>>>>>>>>>>>>>>


解决方案:
以SYS身份为portal重新添加IAS_REGISTRY

sqlplus sys as sysdba
declare
l_version varchar2(128);
begin
select version into l_version from portal.wwc_version$;
DBMS_IAS_VERSION.SET_COMPONENT_LOADING('PORTAL','Oracle Application Server Portal','PORTAL');
DBMS_IAS_VERSION.SET_COMPONENT_LOADED('PORTAL',l_version);
DBMS_IAS_VERSION.SET_COMPONENT_VALID('PORTAL');
end;


14. 数据库的转储文件导入挂起

因为跨媒介的文本索引损坏,导入挂起可能会发生。在那种情况下,这个错误会使导入终止。

IMP-00017: following statement failed with ORACLE error 30510:
"CREATE TRIGGER "PORTAL".logoff_trigger"
"before logoff on schema"
"begin"
" -- Call wwsec_oid.unbind to close open OID connections if any."
" wwsec_oid.unbind;"
"exception"
" when others then"
" -- Ignore all the errors encountered while unbinding."
" null;"
"end logoff_trigger;"
IMP-00003: ORACLE error 30510 encountered
ORA-30510: system triggers cannot be defined on the schema of SYS user


解决方案:

在没有跨媒介的文本索引时重新创建它们,然后导入转储文件。

15. PTLCONFIG ends with ORA-01400:不能把NULL值插入到

("PORTAL"."WWSEC_PERSON$"."GUID")中

当原和目的地目标的SID不同时(但是我从来都没有遇到),ptlconfig有错误出现。

添加应用程序的entry到OracleDASUserPriv的权限组。

Error code : -1400
Error message: ORA-01400: cannot insert NULL into
("PORTAL"."WWSEC_PERSON$"."GUID")
ERROR: creating local profiles for seeded users
Added Portal application to DAS privilege group OracleDASConfiguration.
Error code : -1407
Error message: ORA-01407: cannot update ("PORTAL"."WWSEC_PERSON$"."GUID") to NULL
ERROR: initializing user DNs and GUIDs
(...)
No errors.
INSTALL_ERROR: sqlExecuter() : Raised Exception oracle.webdb.config.PortalWiringException: Generated errors of type ORA-, PLS-, SP2-, ERROR: or IMP-. Refer to the log file for details.
INSTALL_ERROR : Populating Portal seed in OID Raised Exception for secoidd.sql SQL exception: Generated errors of type ORA-, PLS-, SP2-, ERROR: or IMP-. Refer to the log file for details.


解决方案:

更新在wwsec_group$中的2组的DN列。

cn=super_users,cn=old_service_name.domain.com,cn=database instances,cn=ultrasearch,cn=portal,cn=products,cn=oraclecontext,dc=domain.com
cn=inst_admins,cn=wk_inst,cn=old_serveice_name.domain.com,cn=database instances,cn=ultrasearch,cn=portal,cn=products,cn=oraclecontext,dc=domain.com


修改它们来匹配copied machine的new_service_name。然后重启ptlconfig -dad portal

(如果你遇到这个问题,我有兴趣了解这个这个错误,这刚刚发生)
Errors
WWC-44131; WWC-41743; WWU-1012; WWC-41417; DRG-12603; EXP-3; EXP-6; EXP-91; IMP-3; IMP-41; IMP-17; ORA-1407; ORA-23421; ORA-6502; ORA-6510; ORA-2298; ORA-20000; ORA-6512; ORA-39705; ORA-1400; ORA-921; ORA-1; ORA-30510




赞(0)    操作        顶端 
koei
版主
等级:大校
经验:4186
发帖:7
精华:0
注册:2011-7-21
状态:离线
发送短消息息给koei 加好友    发送短消息息给koei 发消息
发表于: IP:您无权察看 2014-5-15 22:32:53 | [全部帖] [楼主帖] 2  楼

挺整齐的  :-)



赞(0)    操作        顶端 
filogra
注册用户
等级:少校
经验:1408
发帖:13
精华:0
注册:2015-6-2
状态:离线
发送短消息息给filogra 加好友    发送短消息息给filogra 发消息
发表于: IP:您无权察看 2016-5-12 7:57:07 | [全部帖] [楼主帖] 3  楼

实用,感谢分享~



赞(0)    操作        顶端 
beefly
注册用户
等级:上尉
经验:758
发帖:1
精华:0
注册:2015-7-27
状态:离线
发送短消息息给beefly 加好友    发送短消息息给beefly 发消息
发表于: IP:您无权察看 2016-5-19 22:05:11 | [全部帖] [楼主帖] 4  楼

收藏一个



赞(0)    操作        顶端 
duff
注册用户
等级:少校
经验:968
发帖:0
精华:0
注册:2015-7-22
状态:离线
发送短消息息给duff 加好友    发送短消息息给duff 发消息
发表于: IP:您无权察看 2016-5-20 14:54:50 | [全部帖] [楼主帖] 5  楼



赞(0)    操作        顶端 
总帖数
5
每页帖数
101/1页1
返回列表
发新帖子
请输入验证码: 点击刷新验证码
您需要登录后才可以回帖 登录 | 注册
技术讨论