-
oracle如何更改监听器日志文件名称
2008-03-24 16:28:53
000-778今天一个数据库的监听器日志出了点问题,用set log_file命令重新定位一个日志文件得以解决。
000-799
000-815
000-887
000-892
000-899
000-904
000-907
000-913
000-928
70-217
70-218
70-220
920-246
920-327
920-331
920-334
920-336
920-430
920-450
920-481
920-504
920-533
9A0-044
9A0-060
9A0-061
9A0-064
9A0-502
9A0-602
HP0-765
HP0-775
HP0-780
HP0-787
HP0-914
HP0-918
jn0-130
MB3-461
MB3-465
MB4-219
nr0-012
nr0-014发现以下两个命令很有用:
LSNRCTL> set current_listener <listener name>
LSNRCTL> set log_file <sid name>.log使用set current_listener可以访问非缺省监听器,使用set log_file更改名称后,原来有问题的日志文件可以清除或实现日志重定位:
[oracle@jumper admin]$ lsnrctl
LSNRCTL for Linux: Version 9.2.0.4.0 - Production on 10-NOV-2006 16:54:16
Copyright (c) 1991, 2002, Oracle Corporation. All rights reserved.
Welcome to LSNRCTL, type "help" for information.
LSNRCTL> set current_listener LISTENER1
Current Listener is LISTENER1
LSNRCTL> set log_file
Parameter Value: a.log
Connecting to (DEscrīptION=(ADDRESS=(PROTOCOL=IPC)(KEY=EXTPROC)))
LISTENER1 parameter "log_file" set to a.log
The command completed successfully
LSNRCTL> status
Connecting to (DEscrīptION=(ADDRESS=(PROTOCOL=IPC)(KEY=EXTPROC)))
STATUS of the LISTENER
------------------------
Alias LISTENER1
Version TNSLSNR for Linux: Version 9.2.0.4.0 - Production
Start Date 10-NOV-2006 16:54:12
Uptime 0 days 0 hr. 2 min. 6 sec
Trace Level off
Security OFF
SNMP OFF
Listener Parameter File /opt/oracle/product/9.2.0/network/admin/listener.ora
Listener Log File /opt/oracle/product/9.2.0/network/log/a.log
Listening Endpoints Summary...
(DEscrīptION=(ADDRESS=(PROTOCOL=ipc)(KEY=EXTPROC)))
(DEscrīptION=(ADDRESS=(PROTOCOL=tcp)(HOST=172.16.33.11)(PORT=1521)))
Services Summary...
Service "PLSExtProc" has 1 instance(s).
Instance "PLSExtProc", status UNKNOWN, has 1 handler(s) for this service...
Service "conner" has 1 instance(s).
Instance "conner", status UNKNOWN, has 1 handler(s) for this service...
Service "eygle" has 1 instance(s).
Instance "eygle", status UNKNOWN, has 1 handler(s) for this service...
The command completed successfully
LSNRCTL>如果需要将这个修改永久化,需要使用save_config命令保存一下:
LSNRCTL> save_config
Connecting to (DEscrīptION=(ADDRESS=(PROTOCOL=IPC)(KEY=EXTPROC)))
Saved LISTENER1 configuration parameters.
Listener Parameter File /opt/oracle/product/9.2.0/network/admin/listener.ora
Old Parameter File /opt/oracle/product/9.2.0/network/admin/listener.bak
The command completed successfully此时listener.ora文件会被增加如下记录:
[oracle@jumper oracle]$ tail -5 /opt/oracle/product/9.2.0/network/admin/listener.ora
#----ADDED BY TNSLSNR 14-NOV-2006 16:39:12---
LOG_FILE_LISTENER1 = a.log
#--------------------------------------------记录一下。
-The End- -
MySQL两种表存储结构性能比较测试过程 (转)
2007-12-06 17:58:47
MySQL两种表存储结构性能比较测试过程
MySQL支持的两种主要表存储格式MyISAM,InnoDB,上个月做个项目时,先使用了InnoDB,结果速度特别慢,1秒钟只能插入10几条。后 来换成MyISAM格式,一秒钟插入上万条。当时觉的这两个表的性能也差别太大了吧。后来自己推测,不应该差别这么慢,估计是写的插入语句有问题,决定做 个测试:
测试环境:Redhat Linux9,4CPU,内存2G,MySQL版本为4.1.6-gamma-standard
测试程序:Python+Python-MySQL模块。
测试方案:
1、MyISAM格式分别测试,事务和不用事务两种情况:
2、InnoDB格式分别测试AutoCommit=1(不用begin transaction和用begin transaction模式),
AutoCommit=0 (不用begin transaction和用begin transaction模式)四种情况。
测试方法为插入10000条记录。为了测试不互相影响,单独建立了专用的测试表,建表语句如下:
1、MyISAM不用事务表:
CREATE TABLE `MyISAM_NT` (
`TableId` int(11) NOT NULL default '0',
`TableString` varchar(21) NOT NULL default ''
) ENGINE=MyISAM;
2、MyISAM用事务表:
CREATE TABLE `MyISAM_TS` (
`TableId` int(11) NOT NULL default '0',
`TableString` varchar(21) NOT NULL default ''
) ENGINE=MyISAM;
3、InnoDB关闭AutoCommit,不用事务:
CREATE TABLE `INNODB_NA_NB` (
`TableId` int(11) NOT NULL default '0',
`TableString` varchar(21) NOT NULL default ''
) ENGINE=InnoDB;
4、InnoDB关闭AutoCommit,用事务:
CREATE TABLE `INNODB_NA_BE` (
`TableId` int(11) NOT NULL default '0',
`TableString` varchar(21) NOT NULL default ''
) ENGINE=InnoDB;
5、InnoDB开启AutoCommit,不用事务:
CREATE TABLE `INNODB_AU_NB` (
`TableId` int(11) NOT NULL default '0',
`TableString` varchar(21) NOT NULL default ''
) ENGINE=InnoDB;
6、InnoDB开启AutoCommit,用事务:
CREATE TABLE `INNODB_AU_BE` (
`TableId` int(11) NOT NULL default '0',
`TableString` varchar(21) NOT NULL default ''
) ENGINE=InnoDB;
测试的Python脚本如下:
#!/usr/bin/env Python
'''
MyISAM,InnoDB性能比较
作者:空心菜(Invalid)
时间:2004-10-22
'''
import MySQLdb
import sys
import os
import string
import time
c = None
testtables = [("MyISAM_NT",None,0),
("MyISAM_TS",None,1),
("INNODB_NA_NB",0,0),
("INNODB_NA_BE",0,1),
("INNODB_AU_NB",1,0),
("INNODB_AU_BE",1,1)
]
def BeginTrans():
print "ExecSQL:BEGIN;"
c.execute("BEGIN;"
return
def Commit():
print "ExecSQL:COMMIT;"
c.execute("COMMIT;"
return
def AutoCommit(flag):
print "ExecSQL:Set AUTOCOMMIT = "+str(flag)
c.execute("Set AUTOCOMMIT = "+str(flag))
return
def getcount(table):
#print "ExecSQL:select count(*) from "+table
c.execute("select count(*) from "+table)
return c.fetchall()[0][0]
def AddTable (Table,TableId,TableString):
sql = "INSERT INTO "+Table+"(TableId, TableString) VALUES( "+ TableId+ ",'" + TableString +"')"
try:
c.execute(sql)
except MySQLdb.OperationalError,error:
print "AddTable Error:",error
return -1;
return c.rowcount
def main():
argv = sys.argv
if len(argv) < 2:
print 'Usage:',argv[0],' TableId TestCount \n'
sys.exit(1)
global c #mysql访问cursor
db_host = "localhost"
db_name = "demo"
db_user = "root"
db_user_passwd = ""
print "Config:[%s %s/%s %s] DB\n"%(db_host,db_user,db_user_passwd,db_name)
if len(argv) > 2:
tableid = argv[1]
testcount = int(argv[2]) #
for test in testtables:
#每次操作前都重写建立数据库连接
try:
mdb = MySQLdb.connect(db_host, db_user, db_user_passwd, db_name)
except MySQLDb.OperationalError,error:
print "Connect Mysql[%s %s/%s %s] DB Error:"%(db_host,db_user,db_user_passwd,db_name),error,"\n"
sys.exit(1)
else:
c = mdb.cursor()
table,autocommit,trans = test
starttime = time.time()
print table," ",time.strftime("%y-%m-%d %H:%M:%S",time.localtime())
if autocommit != None:
AutoCommit(autocommit)
if trans == 1:
BeginTrans()
for i in xrange(testcount):
tablestring = "%020d"%i
if (AddTable(table,tableid,tablestring)<1):
print "AddTable Error",tablestring
if trans == 1:
Commit()
print time.strftime("%y-%m-%d %H:%M:%S",time.localtime())
endtime = time.time()
usedtime = endtime-starttime
print table,"count:",getcount(table)," used time:",usedtime
c.close()
mdb.close()
if __name__ == '__main__':
main()
测试结果如下:
Config:[localhost root/ demo] DB
MyISAM_NT 04-10-22 16:33:24
04-10-22 16:33:26
MyISAM_NT count: 10000 used time: 2.1132440567
MyISAM_TS 04-10-22 16:33:26
ExecSQL:BEGIN;
ExecSQL:COMMIT;
04-10-22 16:33:29
MyISAM_TS count: 10000 used time: 2.65475201607
INNODB_NA_NB 04-10-22 16:33:29
ExecSQL:Set AUTOCOMMIT = 0
04-10-22 16:33:31
INNODB_NA_NB count: 10000 used time: 2.51947999001
INNODB_NA_BE 04-10-22 16:33:31
ExecSQL:Set AUTOCOMMIT = 0
ExecSQL:BEGIN;
ExecSQL:COMMIT;
04-10-22 16:33:35
INNODB_NA_BE count: 10000 used time: 3.85625100136
INNODB_AU_NB 04-10-22 16:33:35
ExecSQL:Set AUTOCOMMIT = 1
04-10-22 16:34:19
INNODB_AU_NB count: 10000 used time: 43.7153041363
INNODB_AU_BE 04-10-22 16:34:19
ExecSQL:Set AUTOCOMMIT = 1
ExecSQL:BEGIN;
ExecSQL:COMMIT;
04-10-22 16:34:22
INNODB_AU_BE count: 10000 used time: 3.14328193665
结论:
由此得知影响速度的主要原因是AUTOCOMMIT默认设置是打开的,
我当时的程序没有显式调用BEGIN;开始事务,导致每插入一条都自动Commit,严重影响了速度。
算来也是个低级错误! -
Oracle的db_name和instance_name
2007-11-27 10:37:13
对于Oracle数据库来说,db_name和instance_name可以不同。
我们来看一下Oracle文 档中对于db_name的定义:DB_NAME必须是一个不超过8个字符的文本串.在数据库创建过程中,db_name被记录在数据文件,日志文件和控制文件中。如果 数据库实例启动过程中参数文件中的db_name和控制文件中的数据库名称不一致,则数据库不能启动。
< /blockquote>一个实例可以mount并打开任何数据库,但是同一时间一个实例只能打开一个数据库。
一个数据库可以被一个或多个 实例所mount并打开(在OPS/RAC环境下,一个数据库可以被多个实例所打开).我们看一下我的数据库:
[oracle@jumper dbs]$ grep name initeygle.ora
*.db_name='eygle'
*.instance_name='eygle'当前参数设置下的数据库:
SQL> select name from v$datafile;
NAME
-----------------------------------------------------
/opt/oracle/oradata/eygle/system01.dbf
/opt/oracle/oradata/eygle/undotbs01.dbf
/opt/oracle/oradata/eygle/users01.dbf
/opt/oracle/oradata/eygle/eygle01.dbfSQL> show parameter db_name
NAME TYPE VALUE
------------------------------------ ----------- -----------
db_name string eygle
SQL> show parameter instance_nameNAME TYPE VALUE
------------------------------------ ----------- -----------
instance_name string eygle
SQL> create pfile from spfile;File created.
SQL> exit
Disconnected from Oracle9i Enterprise Edition Release 9.2.0.4.0 - Production
With the Partitioning option
JServer Release 9.2.0.4.0 - Production我们创建一个新的pfile为julia这个新的实例使用:
[oracle@jumper oracle]$ cd $ORACLE_HOME/dbs
[oracle@jumper dbs]$ cp initeygle.ora initjulia.ora
[oracle@jumper dbs]$ ll init*
-rw-r--r-- 1 oracle dba 982 Jul 25 14:03 initeygle.ora
-rw-r--r-- 1 oracle dba 982 Jul 25 14:04 initjulia.ora
-rw-r--r-- 1 oracle dba 8385 Mar 9 2002 init.ora修改这个文件更改:
instance_name = julia修改后的参数设置:
[oracle@jumper dbs]$ grep name initjulia.ora
*.db_name='eygle'
*.instance_name='julia'然后我们启动实例名称为julia的instance:
[oracle@jumper dbs]$ export ORACLE_SID=julia
[oracle@jumper dbs]$ sqlplus "/ as sysdba"SQL*Plus: Release 9.2.0.4.0 - Production on Tue Jul 25 14:04:15 2006
Copyright (c) 1982, 2002, Oracle Corporation. All rights reserved.
Connected to an idle instance.
SQL> startup mount;
ORACLE instance started.
Total System Global Area 139531744 bytes
Fixed Size 452064 bytes
Variable Size 121634816 bytes
Database Buffers 16777216 bytes
Redo Buffers 667648 bytes
ORA-01102: cannot mount database in EXCLUSIVE modeSQL> exit
Disconnected from Oracle9i Enterprise Edition Release 9.2.0.4.0 - Production
With the Partitioning option
JServer Release 9.2.0.4.0 - Production注意,此时试图加载数据库时出现错误,因为当前数据库被另外一个实例(instance)加载。在非并行模式(Ops/RAC)下,一个数据库同时只能被 一个实例加载。
此时已经启动了两个数据库实例,从后台进程可以看出: 70-270 ec0-350 ex0-001 HO0-698 HO0-918 HP0-429 HP0-438
[oracle@jumper dbs]$ ps -ef|grep ora
oracle 27321 1 0 Jul14 ? 00:00:00 ora_pmon_eygle
oracle 27323 1 0 Jul14 ? 00:00:00 ora_dbw0_eygle
oracle 27325 1 0 Jul14 ? 00:00:00 ora_lgwr_eygle
oracle 27327 1 0 Jul14 ? 00:00:00 ora_ckpt_eygle
oracle 27329 1 0 Jul14 ? 00:00:32 ora_smon_eygle
oracle 27331 1 0 Jul14 ? 00:00:00 ora_reco_eygle
oracle 27333 1 0 Jul14 ? 00:00:00 ora_cjq0_eygle
root 15388 656 0 14:02 ? 00:00:00 sshd: oracle [priv]
oracle 15390 15388 0 14:02 ? 00:00:00 sshd: oracle@pts/2
oracle 15391 15390 0 14:02 pts/2 00:00:00 -bash
oracle 15445 1 0 14:04 ? 00:00:00 ora_pmon_julia
oracle 15447 1 0 14:04 ? 00:00:00 ora_dbw0_julia
oracle 15449 1 0 14:04 ? 00:00:00 ora_lgwr_julia
oracle 15451 1 0 14:04 ? 00:00:00 ora_ckpt_julia
oracle 15453 1 0 14:04 ? 00:00:00 ora_smon_julia
oracle 15455 1 0 14:04 ? 00:00:00 ora_reco_julia
oracle 15457 1 0 14:04 ? 00:00:00 ora_cjq0_julia
oracle 15459 15391 0 14:04 pts/2 00:00:00 ps -ef
oracle 15460 15391 0 14:04 pts/2 00:00:00 grep ora我们关闭eygle这个数据库实例:
[oracle@jumper dbs]$ export ORACLE_SID=eygle
[oracle@jumper dbs]$ sqlplus "/ as sysdba"SQL*Plus: Release 9.2.0.4.0 - Production on Tue Jul 25 14:04:39 2006
Copyright (c) 1982, 2002, Oracle Corporation. All rights reserved.
Connected to:
Oracle9i Enterprise Edition Release 9.2.0.4.0 - Production
With the Partitioning option
JServer Release 9.2.0.4.0 - ProductionSQL> shutdown immediate;
Database closed.
Database dismounted.
ORACLE instance shut down.
SQL> exit
Disconnected from Oracle9i Enterprise Edition Release 9.2.0.4.0 - Production
With the Partitioning option
JServer Release 9.2.0.4.0 - Production此时就可以通过实例julia加载并打开db_name=eygle的数据库了:
[oracle@jumper dbs]$ export ORACLE_SID=julia
[oracle@jumper dbs]$ sqlplus "/ as sysdba"SQL*Plus: Release 9.2.0.4.0 - Production on Tue Jul 25 14:05:06 2006
Copyright (c) 1982, 2002, Oracle Corporation. All rights reserved.
Connected to:
Oracle9i Enterprise Edition Release 9.2.0.4.0 - Production
With the Partitioning option
JServer Release 9.2.0.4.0 - ProductionSQL> alter database mount;
alter database mount
*
ERROR at line 1:
ORA-01990: error opening password file '/opt/oracle/product/9.2.0/dbs/orapw'
ORA-27037: unable to obtain file status
Linux Error: 2: No such file or directory
Additional information: 3
SQL> alter database open;Database altered.
SQL> select name from v$datafile;
NAME
----------------------------------------------------------------------------
/opt/oracle/oradata/eygle/system01.dbf
/opt/oracle/oradata/eygle/undotbs01.dbf
/opt/oracle/oradata/eygle/users01.dbf
/opt/oracle/oradata/eygle/eygle01.dbfSQL> ! ps -ef|grep ora
root 15388 656 0 14:02 ? 00:00:00 sshd: oracle [priv]
oracle 15390 15388 0 14:02 ? 00:00:00 sshd: oracle@pts/2
oracle 15391 15390 0 14:02 pts/2 00:00:00 -bash
oracle 15445 1 0 14:04 ? 00:00:00 ora_pmon_julia
oracle 15447 1 0 14:04 ? 00:00:00 ora_dbw0_julia
oracle 15449 1 0 14:04 ? 00:00:00 ora_lgwr_julia
oracle 15451 1 0 14:04 ? 00:00:00 ora_ckpt_julia
oracle 15453 1 0 14:04 ? 00:00:00 ora_smon_julia
oracle 15455 1 0 14:04 ? 00:00:00 ora_reco_julia
oracle 15457 1 0 14:04 ? 00:00:00 ora_cjq0_julia
oracle 15513 15391 0 14:05 pts/2 00:00:00 sqlplus
oracle 15514 15513 3 14:05 ? 00:00:01 oraclejulia (DEscrīptION=(LOCAL=YES)(ADDRESS=(PROTOCOL=beq)))
oracle 15515 15513 0 14:05 pts/2 00:00:00 /bin/bash -c ps -ef|grep ora
oracle 15516 15515 0 14:05 pts/2 00:00:00 ps -efSQL> show parameter instance_name
NAME TYPE VALUE
------------------------------------ ----------- ------------------------------
instance_name string julia
SQL> show parameter db_nameNAME TYPE VALUE
------------------------------------ ----------- ------------------------------
db_name string eygle我们再看看如果参数文件中的db_name和控制文件中的db_name不一致会出现什么错误.
修改参数db_name:[oracle@jumper dbs]$ grep name initjulia.ora
*.db_name='julia'
*.instance_name='julia'在启动过程中,我们看到,在mount阶段,数据库会对参数文件和控制文件进行比较,如果两者记录的db_name不一致,则数据库无 法启动:
SQL> startup nomount;
ORACLE instance started.Total System Global Area 139531744 bytes
Fixed Size 452064 bytes
Variable Size 121634816 bytes
Database Buffers 16777216 bytes
Redo Buffers 667648 bytes
SQL> alter database mount;
alter database mount
*
ERROR at line 1:
ORA-01103: database name 'EYGLE' in controlfile is not 'JULIA'另外的一个区别是,db_name通常限制在8个字符之内;instance_name最多应该支持21个字符。通常我们都是设置 db_name和 instance_name一致。需要注意的是如果db_name设置过长,则会被Oracle截断为8个字符,而instance_name仍然会保留 在21个字符之内,如果你的环境变量设置的instance_name=db_name,则启动时就会出现问题,你需要重建pfile/spfile并且 修改环境变量才能启动实例,加载数据库。
70-270
ec0-350
ex0-001
HO0-698
HO0-918
HP0-429
HP0-438
HP0-661
HP0-678
HP0-752
HP0-823
HP0-E01
jn0-201
JN0-310
000-748
190-720
HP0-055
HP0-662
HP0-W01
MB2-421
000-142
190-832
920-247
MB7-517
HP
Citrix
HDI
SAIR
-
余情未了?华为、3Com复婚收购游戏
2007-11-12 15:20:37
根据收购协议,根据协议,3Com原有的股票持有者所持有的股权将会被以每股5.30美元的价格现金收购,相当于贝恩资本和华为因此支付了比3Com9月27日每股3.68美元的股价高出44%的价格。
消息称该协议将在明年第一季度完成交易,届时华为将会获得少数股份。据悉,交易完成之后,贝恩资本将持有3Com 80%以上的股份,而华为持有的股份不足20%。贝恩、华为、3Com和H3C四赢?
在这次收购中,涉及到了4家组织:贝恩、华为、3Com和H3C,其中,H3C最为特殊,众所周知,H3C原本是华为与3com在中国的混血儿,后来,华为撤资,H3C脱离了华为控制,而现在,H3C又与华为联系在了一起。
此次收购是否能够形成贝恩、华为、3Com和H3C的“四赢”局面呢?对于贝恩而言,他是一家国际性的私募投资公司,能够有机会联手华为收购 3Com, 将是一个高价值的投资项目,贝恩投资香港董事总经理竺稼就表示:“3Com有很强的竞争实力,我们相信通过发展客户和介绍新产品,3Com会获得更重要的 发展机会。我们期待与3Com的管理层和战略伙伴一起合作,抓住3Com通信网络解决方案的全球增长机会。”
3Com总裁兼CEO埃德加·马斯里(Edgar Masri)表示:“我们认为,这一交易有助于3Com在全球网络设备市场占据领先位置,同时对我们的员工、客户和合作伙伴都有好处。”华为动机:欲突击企业网络市场?
在本次收购中,贝恩投资看到了3Com在企业网络通信市场的实力,所以采取了收购行动。而华为又在想什么呢?
据搜狐IT采访得到了华为高层态度是:“此次参与并购,是华为的一次商业投资,通过与3Com的战略合作关系,将会提升华为端到端解决方案竞争力,从长远而言,我们相信可以获得投资的增值。”
华为3Com是3Com的主要收入来源。2006年,3Com的销售收入约12亿美元,其中华为3Com销售收入达7.12亿美元。而对于不断 亏损的3Com来说,不断贡献利润的华为3Com更是代表了3Com的主要盈利能力。因此,收购3Com或华为3Com本就是两位一体的事情。
本次收购,对华为意义何在呢?
目前,华为正在不断将IP技术引入到电信领域,并将此确定为自己的战略重点。而企业市场正是各种IP技术应用最早也是应用最成熟的市场,在此情况下,保留自身在企业设备市场的存在和位置才能保障自身对各种IP新技术的熟悉,企业市场成为华为的触角。
此外,企业市场同样是电信运营商转型的重要市场,而现在的设备商已经越来越多地参与到运营商的商业设计中来,熟悉企业市场也就是熟悉自己的客户的商业,对于华为这样的客户导向企业明显是一笔划算的买卖。
因此,不会放弃数通领域的企业市场将成为华为的发展基调。对于华为来说,20%的股份既能使其不深陷其中,又能够对先进市场与技术保持灵敏,何乐而不为?
华为、3COM离婚、复婚案
谈到此次收购,对于国内用户来说,最关注可能就是H3C了。通过H3C,华为、3com已经进行过了结婚、离婚的过程。而此次收购,表明华为、3com余情未了。
2003年11月17日,华为3Com有限公司宣布正式成立并开始业务运作。这家由华为公司与3Com公司合资组建的企业注册在香港,主要运营机构设在杭 州,华为公司总裁任正非担任首席执行官,3Com总裁布鲁斯·克拉芬担任董事会主席。新公司拥有近1500名员工。
华为公司与3Com公司将双方现有的中国和日本市场的企业网络销售和服务业务并入华为3Com公司,赋予合资公司在这两个重要市场上销售华为公司和3Com公司数据网络产品的权利。
华为3Com有限公司中,华为控股51%;过了2年,华为卖掉2%的股权,变成3Com控股,但仍然保留“华为3Com”公司的名字,3年后, 3Com购得所有股份,全权控股,直到今年4月,又正式更名为H3C。就在这样的“风雨飘摇”下,不管“东家和资本方”是谁,H3C深知自胜者强的道理, 埋头务实,不但一直保持着快速的销售业绩增长,并且通过近两年的变革在安全、IP存储、IP监控领域三驾齐趋,在主网络之外,又构筑起一座通向持续发展蓝海的大桥。
网络的未来:全球只剩下华为、思科?
据CCID顾问专家杨凯分析:此次收购对于3COM来说,其实是一个无奈之举,虽然22亿美元的价格极低,但在其全球亏损仅靠中国市场的H3C维持的背景下,3COM已经陷入不得不卖的困境。
而对于华为来说,这个收购最关键将是可突破海外市场。此前,华为在海外市场特别是北美,难有建树,而此次收购3COM后,可充分利用其资源和渠道,对其海外市场的扩展极为有利。并且,通过收购进军海外,比在当地建工厂的成本也要低很多。
杨凯还表示,此次收购完成后,华为也可以借机理顺国内市场,避免华为和H3C同室操戈的局面。虽然此前华为一度放弃了H3C,但今年的竞争环境发生了变化,华为肯定采取行动将其收回。
此次收购完成,可以分成两个层面看:
一方面:在电信通信市场,华为、思科两者相互竞争,平分秋色。
另一方面:在企业网络市场,自从华为从H3C撤资后,华为的实力显得比较单薄,而3com的整体实力又无法与思科相比。而此前的华为3com公司只是华为、3com在中国、日本等地区的合资公司,还不是全球合资公司。现在,经过本次收购,华为开始与3com展开了全球性的合作,共同开拓企业网络市场。
如此,在企业网络市场,带有3com的华为似乎就能与思科一较高下了。
未来的网络市场,可能主要就只有思科、华为两大系统了。
000-268
000-634
000-713
000-714
000-797
000-816
000-858
000-869
000-904
1z0-311
310-625
350-001
640-863
642-112
642-162
642-371
642-372
642-444
642-521
642-532
642-611
642-812
646-096
646-151
646-203
646-362
646-562
646-590
70-086
70-089
70-271
70-292
70-442
70-445
70-510
70-529
70-624
74-137
920-131
920-192
920-502
HP0-195
HP0-436
HP0-449
HP0-513
HP0-771
MB2-184
MB2-228
MB3-208
MB3-409
MB4-213
MB4-219
MB4-349
MB5-181
MB6-205
MB6-284
MB6-295
MB6-509
MB7-225
MB7-226
190-721
000-273
000-348
000-416
000-731
000-852
000-883
000-891
050-681
087-370
0B0-104
156-215.1
190-701
190-722
190-828
1D0-441
1Y0-721
4h0-200
4h0-435
510-401
5A0-100
920-191
9A0-034
9L0-401
9L0-508
e20-510
e20-580
e22-128
ee0-502
FN0-103
HP0-066
HP0-390
HP0-427
HP0-678
HP0-763
HP0-866
ICDL-Word
jn0-341
n10-003
nr0-013
NS0-151
s10-100
000-M17
000-296
000-779
000-898
000-912
000-920
000-M02
000-M12
050-884
156-110
190-829
190-832
190-835
1z0-010
3M0-701
70-540
70-545
920-113
920-254
920-430
920-449
9A0-502
9L0-616
9L0-964
HP0-065
HP0-710
HP0-A20
HP0-W02
MB4-536 SCDJWS EXIN