所有由小潘发布的文章

喜欢分享的小潘.

路在何方-IT项目经理的职业生涯和成长规划(转载)

经常有学员问我项目经理的出路在哪儿,前段时间我专门做了一场职业发展的讲座。和学员互动的过程中,更加深知这个问题的严重性。一方面大多数公司的晋升通道不明朗;一方面自己对自己的认知不深刻。

这篇文章是针对IT行业的项目经理的,但是其他行业也可以借鉴。

一、IT行业PM的三个方向与特点

1、技术型项目经理

方向:可以是架构方向,可以是设计方向,也可以是技术经理方向

特点:

·除了完成项目管理的事务性工作,还要求有专业技术知识储备。

·项目中的各种难题,他都能以专家的身份给出合理的解决方案。

·遇到赶工或快速跟进,他可以切换身份和研发打成一片。

·项目加入新人时,又可以分身为带教,培养祖国花朵快速成长。

·可以在项目管理和技术专家之间自由切换。未来职业目标是技术总监或项目管理总监。

优点:

·老板的选择。技术型项目经理制定计划、指挥做事更容易,可以补位。

·技术人员的选择。项目经理是技术人员转管理的常见出路之一。

·客户的选择。从做事角度看,客户更愿意和技术型人员打交道。

缺点:

·不重视计划。计划无用论频出。

·亲力亲为。累死当头的,团队抵御外部风险能力极弱。

·过于强硬。技术派通常缺少耐心,沟通方式过于简单。

实践建议:

·项目经理的精力90%应投入到计划、沟通上。

·重视团队建设。让项目组成员比你更渴望项目成功,你就赢了;如果做不到,继续做,努力达成。

·能通过别人能做好的,你就一定不要直接做。

·防范项目外部风险,保持灵敏嗅觉,及时沟通、协调、调整。避免团队掉入无可挽回的悲剧陷阱。

2、业务型项目经理

方向:特别是互联网公司,产品经理不一定由项目经理兼任,项目经理有兴趣可以转到产品方向,这种转型跟技术,业务也很类似。

特点:

·需求型项目经理即管项目,也管需求。能设计需求,也能协调完成需求。

·其实就是半个产品经理,往往这类项目经理出现在没有产品经理(或产品经理很弱)

·如果是互联网项目,可能会按敏捷开发的思路按天排定优先级,这时候项目经理相当于产品经理+敏捷教练。

·如果是传统项目,按瀑布迭代的周期排定优先级,这时候项目经理相当于需求分析工程师+项目经理。

·他保留了管理型项目经理的部分通用性,同时又需要一定的技术积累。不依赖于管理,也不依赖于技术,要求样样懂一些,但不需要十分精通的人才。

3、管理型项目经理

方向:项目经理升总监,专业上有深度成体系化。从PM到PD,项目管理技能要求上没有太大变化,但是运用,能力,经验上是有差距的。

特点:

·做的是纯管理,也就是PMP强调的项目管理是一类职业,有通用性,可以跨行业

·只是负责项目管理工作,不掺杂项目的其他工作。

·未来的职业发展路径是PMO或项目总监,专职管理领域。

·做纯管理更侧重事务性工作(工作强调制度化、流程化),比较缺少创造性

·建议重视人际关系和服务型领导

二、从小白到高层的路…

1、 一入项目深似海(项目助理)

“项目助理”是“项目经理”的初级阶段;项目经理助理首先面向的是应届生为主,或转型或换行做项目管理工作的朋友,随着IT互联网的兴起,经过项目管理培训的人也很多。

你大可以向前辈“取经”,不用担心他会藏着掖着。另外,向前辈学习时,要看看他是用什么工具做计划的,平时的办事方法和风格如何,从而达到取长补短的目的

我从项目助理的岗位上,做了三年。用我师父的话讲,我天生愚钝。不过那个时候师父确实一职多责,干不完的活。所以我用热情和积极性(这个成了我现在最大的收获和武器)感动了他,从调研需求到排进度计划,甚至投标文件的编写在这个阶段也参与不少。

关键词:重学习!

常规工作内容:

第1、 旁听会议,有时候会帮助项目经理组织准备会议资料。

第2、 文档整理,这个是基本的工作能力,有很多小白就是眼高手低在这个工作上被师父PASS。

第3、 草拟初版文档,这种文档可能包括计划,建议书,需求等等,虽然后面环节有人把控,但是这种机会一定要珍惜再珍惜,细心再细心。

第4、 简单的沟通,主要是对接开发, 可能有时候觉得像个传话筒,但是次数多了感觉也就有了,这就是锻炼。

既然是起步,相应做的事情是以围绕项目的“杂”事,这里说的杂是一些重复化的工作。刚刚接触项目管理,都喜欢依葫芦画瓢;还有一个原因,那就是“心急吃不了热豆腐”,“饭要一口一口地吃,路要一步一步地走”。因此,师父的指导很重要。先找个师父吧!

2、 起步的小白(项目经理)

在掌握了基本知识、熟悉了基本技能之后,一旦开始独立负责一个项目,就正式踏入了项目经理的职业生涯了。哪怕是担任一个小型和中型项目的项目经理,都不能再想“撂挑子”了,否则对于项目、客户和团队都有重大的影响。

这个阶段的重点是掌握“实践技能”和“软技能”。

关键词:重管理、重沟通!

特点:

实践技能:包括撰写文档、需求分析、分配任务、管理团队、把控风险、启动规划、计划实施、监控收尾等。

软技能:这时可能会体会到:有没有师父保护的区别是很大的,遇到事情没有退路,遇到冲突没人补台。因此,需要学会有韧性和斡旋,通过沟通解决问题,需要努力锤炼沟通和协调能力,勇敢面对“谈判”。

当然要提一句的是,环境很重要,好的环境就是好风水,能带来更快的进步。这时候不要把收入看的太重,习大大说过,还是扎根阶段。

3、 项目老鸟(高级项目经理)

高级项目经理相对于项目经理来说,经历过很多项目,对于项目的把控很有经验,在遇到风险时,能够很快的冷静并提供一套比较可行的解决方案,并且相比于项目经理所经手的项目,因为经验原因,项目的认可度在项目发起人那里认可度会更高。

关键词:重思考、重体系!

特征:

第1、 这个阶段的成长主题是“传授和指导”。对子项目不能通过命令进行管理,更多需要的是经验传授和案例指导。例如,帮助解决子项目中的具体难题,预见风险并提前帮助项目经理进行防范,指导团队建设和塑造氛围,在项目组中传递“企业文化

第2、 善于在项目中去培养和指导新入行的项目经理,可以让自己的项目有吸引力,很多人都愿意加入这样的项目,主动当助手,谁不想跟着大师好好学习一下。传授的过程也是自我提高的过程,对经验和教训进行系统的总结,会将项目管理知识、技能和经验融会贯通,可以达到理论讲解而不是事例讲授层次

第3、 资深项目经理对于挖掘新的项目机会有得天独厚的优势。他们能够接触到客户的高层,对于客户的业务和组织情况都非常了解,如果具备一定行业知识,了解新产品和新技术,就能够将客户的需求和公司的能力有机结合起来形成新的商机。

4、 项目大神级(项目总监)

项目总监应该是每个项目管理人员在职业生涯的终极目标,但并不是人生追求的终极目标,在很多大型互联网公司中,往往项目总监+技术总监就是一个项目部;但一些公司是项目总监+高级项目经理作为部门的领导层。

也就是说,某些公司在title上可能高级项目经理就是项目总监,有可能项目总监就是高级项目经理。项目总监,更需要的是战略能力,更多的是能不能把控项目走向的能力。

关键词:定方向、搞项目、带队伍!

特点:

第1、 做什么,不做什么,确定优先级。

第2、 沟通,在整个团队里把这个愿景说清楚,千万不要假设说了团队就记住了,记住了就理解了。沟通不是一次性的工作,说什么不是最重要的,怎么说才是关键。把众多有独立思想的人拢在一起是顶困难的一件事,光靠理性是做不到的,靠行动,靠感情,靠榜样,靠利益,靠各种不怕麻烦的小事。

第3、 挖人。人几乎都只能靠价值观才能凝聚到一起去,所以与其说是挖人,不如说是寻找价值观匹配的soulmate。

第4、 成长。互联网更新换代快,所以仅仅挖到优秀的人是远远不够的,还要保证他们不停地成长。

第5、 协作。这需要一整套的磨合方法。最优秀的员工要能够保障内部协作、信息的传递、知识的积累、流程的控制,都需要CEO在管理层面的不断提升。

5、 高层的梦想要有的

万一实现了呢?

关键词:悟性、不忘初心、不断突破

特点:

第1、 确立组织中的核心地位

第2、 领导力培养

第3、 帮助组成达成业务目标.

第4、 战略与商务能力打磨

第5、 帮助组织更长远的实现企业愿景和使命

总结,从短期看,项目经理的目标主要体现在项目管理能力和职位的晋升,从项目经理到项目群经理,再到项目组合经理,项目管理能力层层进阶,经验和技能日益精进。

从长期看,项目管理能力给项目经理提供了一种结构化的做事风格,这种风格可以运用在日常生活中的每一件事上,提高成功率。项目经理也可以脱离职场的束缚,依靠精湛的项目管理能力,做自己想做的事。

转自:https://mp.weixin.qq.com/s/4KKHUJgiBzEPGDCPo8SGBw

Oracle EBS多应用节点统一入口变更

前提:

应用处于关闭状态。

1、修改应用服务器hosts
采用DNS动态解析,实现负载均衡
两台应用服务器hosts文件分别添加:
10.0.1.1    xxx.xxx.com     xxx
10.0.1.2    xxx.xxx.com     xxx

2、修改$CONTEXT_FILE
修改$CONTEXT_FILE文件中如下两项:

修改节点1、节点2的XML文件如下参数:
<webentryhost oa_var=”s_webentryhost”>testerp</webentryhost>
<login_page oa_var=”s_login_page”>http://xxx.xxx.com:8000/oa_servlets/AppsLogin</login_page>

修改完毕以后,各节点顺序执行autoconfig

3、注册DNS服务器
将下述IP地址及主机名注册到DNS服务器

10.0.1.1    xxx.xxx.com     xxx
10.0.1.2    xxx.xxx.com     xxx

配置后地址http://xxx.xxx.com:8000

Oracle ebs 克隆注意事项(APPLPTMP)

实际应用中,我们经常会遇到一台服务器多套环境的情况。如果将几套环境APPLPTMP设置为相同的值,将会导致如下错误:

ORA-20100: File o0000071.tmp creation for FND_FILE failed.

出现这种情况,我们需要修改APPLPTMP的值,修改步骤如下:

1)关闭应用节点

2)数据库节点创建目录

$ mkdir  /u01/PROD/temp

3)修改数据库初始化参数

修改inittest.ora中utl_file_dir的值为/u01/PROD/temp

4)重启数据库

5)修改$APPL_TOP下.env文件

修改$CONTEXT_NAME.env中APPLPTMP的值APPLPTMP=”/u01/PROD/temp”
export APPLPTMP

6)修改应用节点$CONTEXT_FILE

修改s_applptmp

<APPLPTMP oa_var=”s_applptmp” osd=”UNIX”>/u01/PROD/temp</APPLPTMP>

7)启动应用

重新应用环境变量,查看当前APPLPTMP的值

echo $APPLPTMP

/u01/PROD/temp

确认后重启应用

为避免上述问题的存在,建议为每一套环境创建一个temp目录。在clone时将数据库层utl_file_dir和应用层APPLPTMP指向该temp目录。

转自:https://www.it610.com/article/4441973.htm

财务系统生产环境统计收集模式错误(从未成功)

错误描述:

描述

————————————————————————-
应用对象程序库: Version : 12.0.0

Copyright (c) 1979, 1999, Oracle Corporation. All rights reserved.

FNDGSCST module: 统计数据收集模式
————————————————————————-

当前的系统时间为 02-04-2020 00:01:15

————————————————————————-

Starts**02-04-2020 00:01:15
*Ends*02-04-2020 00:46:07
ORA-0000: normal, successful completion
————————————————————————-
FND_FILE 中日志消息开始
————————————————————————-
In GATHER_SCHEMA_STATS , schema_name= ALL percent= 60 degree = 32 internal_flag= NOBACKUP
stats on table AQ$_WF_CONTROL_P is locked
stats on table FND_CP_GSM_IPC_AQTBL is locked
stats on table FND_SOA_JMS_IN is locked
stats on table FND_SOA_JMS_OUT is locked
Error #1: ERROR: While GATHER_TABLE_STATS:
object_name=GL.JE_BE_LINE_TYPE_MAP
ORA-20001: invalid column name or duplicate columns/column groups/expressions in method_opt**
Error #2: ERROR: While GATHER_TABLE_STATS:
object_name=GL.JE_BE_LOGS***ORA-20001: invalid column name or duplicate columns/column groups/expressions in method_opt***
Error #3: ERROR: While GATHER_TABLE_STATS:
object_name=GL.JE_BE_VAT_REP_RULES***ORA-20001: invalid column name or duplicate columns/column groups/expressions in method_opt***
————————————————————————-
FND_FILE 中日志消息结束
————————————————————————-
成功地重新提交具有请求编号 532437 的并发程序 FNDGSCST,以在 02-05-2020 00:01:01 启动。 (ROUTINE=AFPSRS)

————————————————————————-
正在执行请求完成选项…

Output file size:
0

已完成执行请求完成选项。

————————————————————————-
此请求发布的例外:
Concurrent Request for “统计数据收集模式” has completed with error.

————————————————————————-
已完成并发请求
当前的系统时间为 02-04-2020 00:46:08

 


 

解决方案:
参考文件:11i – 12 Gather Schema Statistics fails with Ora-20001 errors after 11G database Upgrade (Doc ID 781813.1)

具体操作:

通过以下命令查询出有2条及以上条数的记录,

select table_name, column_name, count()
from FND_HISTOGRAM_COLS
group by table_name, column_name
having count(
) > 1;

备份后删除即可。

delete from FND_HISTOGRAM_COLS
where table_name = ‘&TABLE_NAME’
and column_name = ‘&COLUMN_NAME’
and rownum=1;

— Use following SQL to delete obsoleted rows

delete from FND_HISTOGRAM_COLS
where (table_name, column_name) in
(
select hc.table_name, hc.column_name
from FND_HISTOGRAM_COLS hc , dba_tab_columns tc
where hc.table_name =’&TABLE_NAME’
and hc.table_name= tc.table_name ()
and hc.column_name = tc.column_name (
)
and tc.column_name is null
);

commit;

特别说明:日志中只报了3个表的错误,实际上如果只处理这3个表的问题,依然不能正常完成请求,需要将所有大于等于2的条数的数据删除。

Oracle EBS weblogic 禁用筛选器T3导致weblogic服务不能重启问题

背景:
2020年1月15号安全网站出了一个 CVE-2020-2546,于是按照里面的“指示”,做了T3禁用,导致weblogic服务启动失败,EBS应用不能正常登陆,启动失败日常如下:

AdminServer logs are located at /u01/DEV/app/fs1/FMW_Home/user_projects/domains/EBS_domain_DEV/servers/AdminServer/logs

01/17/20-09:13:58 :: adadminsrvctl.sh: exiting with status 1

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

01/17/20-09:24:07 :: adadminsrvctl.sh version 120.10.12020000.10
Validated the passed arguments for the option ebs-get-serverstatus
AdminServer is currently not running.

Validated the passed arguments for the option ebs-nmstart-adminsrv
Checking if the Admin Server is already up.
The Admin Server is not already up.
FMW Version is 11.1.1.9
Checking if the Node Manager is already up..
Connecting to Node Manager …
Successfully Connected to Node Manager.

The Node Manager is already up.

Starting server AdminServer …
Error Starting server AdminServer: weblogic.nodemanager.NMException: Exception while starting server ‘AdminServer’

ERROR: Unable to connect the AdminServer.

StackTrace:
java.io.IOException
at weblogic.management.remote.common.ClientProviderBase.makeConnection(ClientProviderBase.java:209)
at weblogic.management.remote.common.ClientProviderBase.newJMXConnector(ClientProviderBase.java:97)
at javax.management.remote.JMXConnectorFactory.newJMXConnector(JMXConnectorFactory.java:369)
at javax.management.remote.JMXConnectorFactory.connect(JMXConnectorFactory.java:267)
at oracle.apps.ad.util.WLUtil.initMBeanServerConnection(WLUtil.java:131)
at oracle.apps.ad.tools.configuration.EBSProvisioner.ebs_nmstart_adminsrv(EBSProvisioner.java:3682)
at oracle.apps.ad.tools.configuration.EBSProvisioner.ebs_nmstart_adminsrv(EBSProvisioner.java:3915)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:606)
at oracle.apps.ad.tools.configuration.EBSProvisioner.main(EBSProvisioner.java:8880)
Caused by: javax.naming.CommunicationException [Root exception is java.net.ConnectException: t3://devfin.guobaojinrong.com:7001: Destination unreachable; nested exception is:
java.net.ConnectException: 拒绝连接; No available router to destination]
at weblogic.jndi.internal.ExceptionTranslator.toNamingException(ExceptionTranslator.java:40)
at weblogic.jndi.WLInitialContextFactoryDelegate.toNamingException(WLInitialContextFactoryDelegate.java:792)
at weblogic.jndi.WLInitialContextFactoryDelegate.getInitialContext(WLInitialContextFactoryDelegate.java:366)
at weblogic.jndi.Environment.getContext(Environment.java:315)
at weblogic.jndi.Environment.getContext(Environment.java:285)
at weblogic.jndi.WLInitialContextFactory.getInitialContext(WLInitialContextFactory.java:117)
at javax.naming.spi.NamingManager.getInitialContext(NamingManager.java:684)
at javax.naming.InitialContext.getDefaultInitCtx(InitialContext.java:307)
at javax.naming.InitialContext.init(InitialContext.java:242)
at javax.naming.InitialContext.<init>(InitialContext.java:216)
at weblogic.management.remote.common.ClientProviderBase.makeConnection(ClientProviderBase.java:193)
… 11 more
Caused by: java.net.ConnectException: t3://devfin.guobaojinrong.com:7001: Destination unreachable; nested exception is:
java.net.ConnectException: 拒绝连接; No available router to destination
at weblogic.rjvm.RJVMFinder.findOrCreateInternal(RJVMFinder.java:216)
at weblogic.rjvm.RJVMFinder.findOrCreate(RJVMFinder.java:170)
at weblogic.rjvm.ServerURL.findOrCreateRJVM(ServerURL.java:165)
at weblogic.jndi.WLInitialContextFactoryDelegate$1.run(WLInitialContextFactoryDelegate.java:345)
at weblogic.security.acl.internal.AuthenticatedSubject.doAs(AuthenticatedSubject.java:363)
at weblogic.security.service.SecurityManager.runAs(SecurityManager.java:146)
at weblogic.jndi.WLInitialContextFactoryDelegate.getInitialContext(WLInitialContextFactoryDelegate.java:340)
… 19 more
Caused by: java.rmi.ConnectException: Destination unreachable; nested exception is:
java.net.ConnectException: 拒绝连接; No available router to destination
at weblogic.rjvm.ConnectionManager.bootstrap(ConnectionManager.java:470)
at weblogic.rjvm.ConnectionManager.bootstrap(ConnectionManager.java:321)
at weblogic.rjvm.RJVMManager.findOrCreateRemoteInternal(RJVMManager.java:262)
at weblogic.rjvm.RJVMManager.findOrCreate(RJVMManager.java:199)
at weblogic.rjvm.RJVMFinder.findOrCreateRemoteServer(RJVMFinder.java:238)
at weblogic.rjvm.RJVMFinder.findOrCreateInternal(RJVMFinder.java:200)
… 25 more

AdminServer logs are located at /u01/DEV/app/fs1/FMW_Home/user_projects/domains/EBS_domain_DEV/servers/AdminServer/logs

01/17/20-09:24:24 :: adadminsrvctl.sh: exiting with status 1

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

应用界面登陆也显示weblogic连接失败。

 

解决过程探索:

一般遇到这类问题,第一映像就是先恢复之前的设置,于是去找相关的表或者配置文件,从表中很难找到指向表,于是从另外一个正常的环境进入相应的weblogic主页面,并进入之前配置的页面查看帮助,于是找到了一个比较有指向性的文件(不知道具体文件在哪个目录下,通过find命令搜索),config.xml。

以下文件是来自帮助文件里面的内容:

Changes take effect after you redeploy the module or restart the server.

If this attribute configures a module that you deploy (such as an application or a JDBC data source that is part of an application) or a system resource whose configuration is saved in a descriptor file instead of in the domain’s config.xml file (such as a JDBC data source that is scoped at the system level), the module or resource cannot process the change until you redeploy it or restart its host server. If the module is a component in an application, Oracle recommends that you redeploy the entire application to avoid complications due to intra-application dependencies.

If this attribute configures some other part of the domain (such as a server, a cluster, or an EJB container), the system cannot process the change until you restart the server or cluster.

进入相应目录后,发现这个config.xml文件有很多序列号的文件名,如config39.xml,config38.xml,看这些文件的更新时间,推测应该是每次更新都会做一次备份,于是备份当前的config.xml文件,恢复最近的一个config.xml文件,然后重启weblogic服务,重启(正常重启,登陆页面也正常出现,并可登陆)如下文本:

[appldev@devfin scripts]$ sh adadminsrvctl.sh start

You are running adadminsrvctl.sh version 120.10.12020000.10

Enter the WebLogic Admin password:
Enter the APPS Schema password:
Starting WLS Admin Server…
Refer /u01/DEV/app/fs1/inst/apps/DEV_devfin/logs/appl/admin/log/adadminsrvctl.txt for details

AdminServer logs are located at /u01/DEV/app/fs1/FMW_Home/user_projects/domains/EBS_domain_DEV/servers/AdminServer/logs

adadminsrvctl.sh: exiting with status 0

adadminsrvctl.sh: check the logfile /u01/DEV/app/fs1/inst/apps/DEV_devfin/logs/appl/admin/log/adadminsrvctl.txt for more information …

说明:ebs weblogic尽量少变动,在改动前也一定要做好备份。

相关参考文件:
https://www.oracle.com/security-alerts/cpujan2020.html

https://docs.oracle.com/cd/E23943_01/web.1111/e13707/ssl.htm#SECMG389

http://www.ijiandao.com/2b/baijia/345629.html

https://support.oracle.com/epmos/faces/DocumentDisplay?_afrLoop=508979212187743&id=1280374.1&_afrWindowMode=0&_adf.ctrl-state=e2y1sye3v_1027