SAP* DDIC密码丢失如何处理

简介: SAP* DDIC密码丢失如何处理

我是一位刚接手BASIS职务的新鸟,最近因为要打补丁,才想起自已连client000的DDIC和SAP*的账号都没有,看来这些操作都没法作了。

  下面我就把如何在client000创建DDIC用户的过程和大家分享。

  在网上,也有诸多朋友询问关于丢失了某些超级用户,如DDIC,SAP*的密码后如何处理,网上也有些文章,先转贴如下,下述文章列举了几种不同数据的具体处理方法:

================================================

Oracle 8.1.7 sap 46C

用<SID>adm登录svrmgrlconnect internalselect * from sapr3.usr02 where bname='SAP*' and mandt='000';delete from sapr3.usr02 where bname='SAP*' and mandt='000';commit;

Oracle 9.2.0 SAP 4.70

<sid>是实例名,如PRD,C11等sqlplus /nologconnect / as sysdba*本句用来,查询一下,是否有此记录。正常情况下,显示: 1 row(s) selected. */select * from sap<sid>.usr02 where bname='SAP*' and mandt='000';delete from sap<sid>.usr02 where bname='SAP*' and mandt='000';commit;

DB2

<SID> 是数据库名<sid> 对于4.6C 为 r3, 对于4.70 为 <sid>数据库名(小写)

db2 => connect to <SID>

db2 => select * from sap<sid>.usr02 where bname='SAP*' and mandt='000'

1 record(s) selected.

db2 => delete from sap<sid>.usr02 where bname='SAP*' and mandt='000'DB20000I

The SQL command completed successfully.

db2 => commitDB20000I

The SQL command completed successfully.

MS SQL 2000

打开MS SQL Enterprise Manager, 从菜单[工具]中,选查询分析器<sid> 46C 是r3 或是 空(没有的),大伙可以自己测试一下。470是系统名

select * from <sid>.usr02 where BNAME='SAP*' and MANDT='000';

delete from <sid>.usr02 where BNAME='SAP*' and MANDT='000';

commit;

重新用sap* 口令pass登录就OK了。

========================================

 不过,用上述方法,我成功找回了一个系统的密码,但另一个系统是死活也没法找回SAP*这个用户,咋办?只得另想办法了,我的办法是,复制一个其他client的已知用户和密码的用户的纪录,再将其client改成000就是了。

  先说环境,我公司是AIX-5L,数据库为DB2 V8,具体操作过程如下:

1、登录到AIX系统

2、切换到具备对DB2数据库管理权限的超级用户

   #su - db2dev

3、切换到数据库操作提示符下:

#db2
    #connect to dev

4、查看数据表usr02中已有的记录

db2 => select * from sapdev.usr02
    SQL0204N  "SAPDEV.USR02" is an undefined name.  SQLSTATE=42704

   见鬼,这个表不是SAPDEV.USR02,咋办?看来得获取正确的表,才能select.

   表名通过前人的探索我们知道就叫usr02,那模式名呢?怎么得到。

   后来用DB2客户端知道了sysstat.tables这个表是记录系统中所有模式和表,我们查询它一定可以知道结果:

   db2 => select tabschema ,tabname from sysstat.tables where tabname='USR02'

   结果:TABSCHEMA     tabname

         SAPQAS          USR02

  靠,原来模式名不是SAPDEV,而被人改成了SAPQAS。好了,牢骚发完了,继续下一步。

5、查询一个已知client的权限比较高的用户名,bname和 mandt的值大家根据需要自已改动吧

 

db2 =>SELECT mandt,bname,bcode,gltgv,gltgb,ustyp,class,locnt, uflag, accnt, bname,erdat,trdat,ltime,OCOD1,BCDA1,CODV1,OCOD2,BCDA2,CODV2,OCOD3,BCDA3,CODV3,OCOD4,BCDA4,CODV4,OCOD5,BCDA5,CODV5,VERSN,CODVN,TZONE,ZBVMASTER,PASSCODE,PWDCHGDATE,PWDSTATE,RESERVED,PWDHISTORY,PWDLGNDATE,PWDSETDATE,PWDINITIAL   FROM SAPPRD.usr02 where bname='BASIS' and mandt='800'

  ok,查到了一条纪录。

6、把查到的纪录插到client 000

db2 =>insert into sapqas.usr02 SELECT '000',bname,bcode,gltgv,gltgb,ustyp,class,locnt, uflag, accnt, aname,erdat,trdat,ltime,OCOD1,BCDA1,CODV1,OCOD2,BCDA2,CODV2,OCOD3,BCDA3,CODV3,OCOD4,BCDA4,CODV4,OCOD5,BCDA5,CODV5,VERSN,CODVN,TZONE,ZBVMASTER,PASSCODE,PWDCHGDATE,PWDSTATE,RESERVED,PWDHISTORY,PWDLGNDATE,PWDSETDATE,PWDINITIAL   FROM SAPqas.usr02 where bname='BASIS' and mandt='800'

  我把原始select 中的mandt段替换成了'000',因为这个值是我要改的。

好了,这下在client 000 有basis用户了,用你client 800中的BASIS用户和密码可以登client000了,这下,可以在CLIENT000建你打补丁所需的ddic和sap*用户了。

  ok.

相关文章
|
6月前
|
SQL 数据库 数据安全/隐私保护
修改SAP数据库用户密码的参考
修改SAP数据库用户密码的参考
121 0
SAP MM/FI_运费处理方式
常见的采购运费处理方式
SAP MM 途损处理方式
通常客户采购业务需求提到货物运输有损耗,需要针对此业务给出合理方案输出,下面笔者针对此类业务分析下各种实现方案的可行性!
SAP MM初阶之事务代码MIGO界面批次拆分最多输入15行?
SAP MM初阶之事务代码MIGO界面批次拆分最多输入15行?
SAP MM初阶之事务代码MIGO界面批次拆分最多输入15行?
SAP MM不常用移动类型之325
SAP MM不常用移动类型之325
SAP MM不常用移动类型之325
SAP MM初阶之采购信息记录里的Prior Supplier栏位
SAP MM初阶之采购信息记录里的Prior Supplier栏位
SAP MM初阶之采购信息记录里的Prior Supplier栏位
SAP MM初阶之ME12里为啥只能维护少量条件类型的价格?
SAP MM初阶之ME12里为啥只能维护少量条件类型的价格?
SAP MM初阶之ME12里为啥只能维护少量条件类型的价格?
SAP MM 采购信息记录里的Automatic Sourcing 之二
SAP MM 采购信息记录里的Automatic Sourcing 之二
SAP MM 采购信息记录里的Automatic Sourcing 之二
SAP MM初阶之没有定义Access Sequence的条件类型不能使用MEK1维护条件记录
SAP MM初阶之没有定义Access Sequence的条件类型不能使用MEK1维护条件记录
SAP MM初阶之没有定义Access Sequence的条件类型不能使用MEK1维护条件记录