Swift实现OC中的单例模式

今天想通过手动的方式上传下信息到GRID CONTROL MANAGEMENT REPOSITORY里,出现如下的错误(红色部分):

[[email protected] bin]$ ./emctl status agent

Oracle Enterprise Manager 10g Release 10.2.0.1.0.

Copyright (c) 1996, 2005 Oracle Corporation.  All rights reserved.

---------------------------------------------------------------

Agent Version     : 10.2.0.1.0

OMS Version       : 10.2.0.1.0

Protocol Version  : 10.2.0.0.0

Agent Home        : /u01/app/oracle/product/10.2.0/agent10g

Agent binaries    : /u01/app/oracle/product/10.2.0/agent10g

Agent Process ID  : 4254

Parent Process ID : 4239

Agent URL         : http://vmoel5u4.oracle.com:3872/emd/main/

Repository URL    : http://even.oracle.com:4889/em/upload/

Started at        : 2012-12-03 20:12:41

Started by user   : oracle

Last Reload       : 2012-12-03 21:42:59

Last successful upload                       : (none)

Last attempted upload                        : (none)

Total Megabytes of XML files uploaded so far :     0.00

Number of XML files pending upload           :      508

Size of XML files pending upload(MB)         :    24.03

Available disk space on upload filesystem    :    54.38%

Last attempted heartbeat to OMS              : 2012-12-04 00:10:18

Last successful heartbeat to OMS             : unknown

---------------------------------------------------------------

Agent is Running and Ready

[[email protected] bin]$ ./emctl upload

Oracle Enterprise Manager 10g Release 10.2.0.1.0.

Copyright (c) 1996, 2005 Oracle Corporation.  All rights reserved.

---------------------------------------------------------------

EMD upload error: uploadXMLFiles skipped :: OMS version not checked yet.. 

具体的解决方法如下 :

步骤一,查看客户端的AGENT服务是否启动:

[[email protected] bin]$ $AGENT_HOME/bin/emctl status agent

Oracle Enterprise Manager 10g Release 10.2.0.1.0.

Copyright (c) 1996, 2005 Oracle Corporation.  All rights reserved.

---------------------------------------------------------------

Agent Version     : 10.2.0.1.0

OMS Version       : 10.2.0.1.0

Protocol Version  : 10.2.0.0.0

Agent Home        : /u01/app/oracle/product/10.2.0/agent10g

Agent binaries    : /u01/app/oracle/product/10.2.0/agent10g

Agent Process ID  : 4254

Parent Process ID : 4239

Agent URL         : http://vmoel5u4.oracle.com:3872/emd/main/

Repository URL    : http://even.oracle.com:4889/em/upload/

Started at        : 2012-12-03 20:12:41

Started by user   : oracle

Last Reload       : 2012-12-03 21:42:59

Last successful upload                       : (none)

Last attempted upload                        : (none)

Total Megabytes of XML files uploaded so far :     0.00

Number of XML files pending upload           :      508

Size of XML files pending upload(MB)         :    24.03

Available disk space on upload filesystem    :    54.38%

Last attempted heartbeat to OMS              : 2012-12-04 00:10:18

Last successful heartbeat to OMS             : unknown

---------------------------------------------------------------

Agent is Running and Ready

从上面的Agent is Running and Ready就知道,客户端的agent是正常的。

步骤二:查看服务器端的OMS 服务是否都正常。

[[email protected] bin]$ cd $OMS_HOME/opmn/bin

[[email protected] bin]$ ./opmnctl status

Processes in Instance: EnterpriseManager0.even.oracle.com

-------------------+--------------------+---------+---------

ias-component      | process-type       |     pid | status

-------------------+--------------------+---------+---------

DSA                | DSA                |     N/A | Down

HTTP_Server        | HTTP_Server        |       0 | NONE

LogLoader          | logloaderd         |     N/A | Down

dcm-daemon         | dcm-daemon         |    3634 | Alive

OC4J               | home               |    3635 | Alive

OC4J               | OC4J_EM            |    3638 | Alive

OC4J               | OC4J_EMPROV        |    3636 | Alive

WebCache           | WebCache           |    3648 | Alive

WebCache           | WebCacheAdmin      |    3633 | Alive

从上面的红色部分可以看出HTTP_SERVER服务是不正常的,他的状态既然是NONE。

步骤三:关闭OMS的所有服务。

[[email protected] bin]$ ./opmnctl stopall

opmnctl: stopping opmn and all managed processes...

步骤四:重新启动所有服务如下:

[[email protected] bin]$ ./opmnctl startall

opmnctl: starting opmn and all managed processes...

[[email protected] bin]$ ./opmnctl status

Processes in Instance: EnterpriseManager0.even.oracle.com

-------------------+--------------------+---------+---------

ias-component      | process-type       |     pid | status

-------------------+--------------------+---------+---------

DSA                | DSA                |     N/A | Down

HTTP_Server        | HTTP_Server        |   32125 | Alive

LogLoader          | logloaderd         |     N/A | Down

dcm-daemon         | dcm-daemon         |     N/A | Down

OC4J               | home               |   32126 | Alive

OC4J               | OC4J_EM            |   32129 | Alive

OC4J               | OC4J_EMPROV        |   32131 | Alive

WebCache           | WebCache           |   32164 | Alive

WebCache           | WebCacheAdmin      |   32132 | Alive

从上面可以看出HTTP_SERVER现在是Alive的状态了。此状态时正常的。

步骤5,重新从客户端上传信息

[[email protected] bin]$ ./emctl upload

Oracle Enterprise Manager 10g Release 10.2.0.1.0.

Copyright (c) 1996, 2005 Oracle Corporation.  All rights reserved.

---------------------------------------------------------------

EMD upload error: uploadXMLFiles skipped :: OMS version not checked yet..

[[email protected] bin]$ ./emctl upload

Oracle Enterprise Manager 10g Release 10.2.0.1.0.

Copyright (c) 1996, 2005 Oracle Corporation.  All rights reserved.

---------------------------------------------------------------

EMD upload completed successfully

步骤6,查看下信息是否上传成功:

[[email protected] bin]$ ./emctl status agent

Oracle Enterprise Manager 10g Release 10.2.0.1.0.

Copyright (c) 1996, 2005 Oracle Corporation.  All rights reserved.

---------------------------------------------------------------

Agent Version     : 10.2.0.1.0

OMS Version       : 10.2.0.1.0

Protocol Version  : 10.2.0.0.0

Agent Home        : /u01/app/oracle/product/10.2.0/agent10g

Agent binaries    : /u01/app/oracle/product/10.2.0/agent10g

Agent Process ID  : 4254

Parent Process ID : 4239

Agent URL         : http://vmoel5u4.oracle.com:3872/emd/main/

Repository URL    : http://even.oracle.com:4889/em/upload/

Started at        : 2012-12-03 20:12:41

Started by user   : oracle

Last Reload       : 2012-12-03 21:42:59

Last successful upload                       : 2012-12-04 00:43:27

Total Megabytes of XML files uploaded so far :    24.50

Number of XML files pending upload           :        0

Size of XML files pending upload(MB)         :     0.00

Available disk space on upload filesystem    :    54.47%

Last successful heartbeat to OMS             : 2012-12-04 00:45:07

---------------------------------------------------------------

Agent is Running and Ready

从上面的红色的部分可以看出信息上传成功(pending upload = 0)。

从这个案例可以看出如果OMS的某些重要的服务不正常的话,可能会有一些奇怪的错误。

Swift实现OC中的单例模式

时间: 2024-11-07 05:11:40

Swift实现OC中的单例模式的相关文章

swift和OC中frame的小差异

//1.0 OC中 CGRect .CGPoint.CGSize 的结构如下: struct CGRect { CGPoint origin; CGSize size; }; struct CGPoint { CGFloat x; CGFloat y; }; struct CGSize { CGFloat width; CGFloat height; }; 在OC环境下,我们要改变一个控件的frame(如:x 或者 y .width .height)时,我们得定义一个临时的frame(假设为 C

swift 与 OC中的需要注意知识点

swift oc    *swift有命名空间概念,所谓命名空间即同一个命名空间中相互可以调用不用导入.不同命名空间中可以起相同的名字 swift项目就是一个命名空间 *判断是否是某个类 .协议.方法 *运行时获取类属性列表.属性名称.将C语言字符串转成oc string *基本数据类型,在OC中没有可选,swift中如果定义成可选,运行时同样获取不到,使用KVC会崩溃,所以基本数据类型需要赋初值 *private 的属性,使用运行时,同样获取不到属性,同样会让KVC崩溃 *运行时即运行时执行的

OC中使用单例模式

1 static Config * instance = nil; 2 +(Config *) Instance 3 { 4 @synchronized(self) 5 { 6 if(nil == instance) 7 { 8 [self new]; 9 } 10 } 11 return instance; 12 } 13 14 +(id)allocWithZone:(NSZone *)zone 15 { 16 @synchronized(self) 17 { 18 if(instance =

Objective-C中的单例模式

?单例模式算是设计模式中比较简单的一种吧,设计模式不是只针对某种编程语言,在C++, Java, PHP等其他OOP语言也有设计模式,笔者初接触设计模式是通过<漫谈设计模式>了解的.这本书中是用java写的,个人感觉拜读完这本书以后虽然有不理解的地方但还是收获蛮大的.上面提到依赖注入,控制翻转的时候,没大看懂,当学习到Strut,Spring, Hibernate的东西的时候才略懂略懂.不过在23种设计模式里面单例模式还是算比较好理解的, 那么在OC中又是怎么来表示单例模式的呢?下面会结合着代

OC中的SingleTon

OC中的单例模式 比较Java中单例模式 需要重写 allocWithZone  确保使用的是同一块地址 重写copyWithZone 确定复制之后是同一个地址 1 // 2 // SingleTon.m 3 // OCLearn8 4 // 5 // Created by lyp on 16/7/10. 6 // Copyright © 2016年 awebing. All rights reserved. 7 // 8 9 #import "SingleTon.h" 10 stat

swift中闭包 OC中Block 解决循环引用

OC 中 全局宏定义 #define WS(weakSelf)  __weak __typeof(&*self)weakSelf = self; 用法如下: WS(weakself) [self.tableView addHeaderWithCallback:^{ [weakself requestMemberList]; }]; swift 在比闭包 中使用 weakSelf weak var weakSelf = self demo4 {     // 使用?的好处 就是一旦 self 被释

Swift的数组与OC中数组的区别

相同的值可以多次出现在一个数组的不同位置: Swift中的数组,数据值在被存储进入到某个数组之前类型必须明确,可以显示的类型标注或者类型推断.而且,Swift中的数组不必是对象类型. OC中的NSArray和NSMutableArray,他们可以存储任何类型的实例,而且不提供他们返回对象的任何本质信息. Swift的数组与OC中数组的区别,布布扣,bubuko.com

iOS开发--Swift 如何完成工程中Swift和OC的混编桥接(Cocoapods同样适用)

由于SDK现在大部分都是OC版本, 所以假如你是一名主要以Swift语言进行开发的开发者, 就要面临如何让OC和Swift兼容在一个工程中, 如果你没有进行过这样的操作, 会感觉异常的茫然, 不用担心, 整个过程非常简单. 在已有的Swift工程中, 当你需要使用OC的类文件, 或者需要集成SDK时, 创建你需要的OC的类文件, 创建结束后, 会提示生成一个桥接头文件, 点击蓝色Create按钮. *OC工程也一样, 只是要进行相反的操作, 在需要创建OC文件的时候创建一个Swift的文件 *创

使用OC swift 截取路径中的最后的文件名

使用 OC swift 截取路径中的最后的文件名 如何截取下面路径中最后的文件名 AppDelegate.swift /Users/XXX/Desktop/Swift/swift02/code/02-自定义LOG/Weibo/Weibo/AppDelegate.swift  使用 OC 如何截取 - (NSString *)substringFromWith:(NSString *)str { NSInteger local = 0; while([str rangeOfString:@"/&q