手动回滚Symantec AntiVirus服务器病毒定义文件

本文提供了解决Symantec服务器端服务无法启动且出现CC001000错误的方法。包括停止相关服务、调整病毒定义文件夹设置等步骤。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

Symantec 服务器端服务无法启动,事件日志提示CC001000错误:

http://service1.symantec.com/SUPPORT/ent-security.nsf/ppfdocs/2001121416223748?Open&dtype=corp&src=&seg=&om=1&om_out=prod

原文地址:

http://www.symantec.com/business/support/index?page=content&id=TECH100019&locale=en_US

To stop all Symantec services that use virus definitions

  1. 停止以下Symantec服务:DefwatchSymantec AntiVirus核心服务。
  2. /Program Files/Common Files/Symantec Shared/VirusDefs找到”Usage.dat”文件。
  3. 打开Usage.dat文件,如果存在类似于”Qsadmin”字样,请停止Symantec Central Quarantine, Symantec Quarantine Agent, and Symantec Quarantine Scanner服务。

To remove the most recent virus definition folder

  1. 打开/Program Files/Common Files/Symantec Shared/VirusDefs目录。
  2. 确认包含以下目录结构,如果以下目录结构不存在,请联系Symantec:
    • Incoming (folder)
    • BinHub (folder)
    • TextHub (folder)
    • Definfo.dat (file)
    • Usage.dat (file)
    • 至少两个以上的,以发布日期命名的病毒定义文件夹。
  3. 打开”Definfo.dat”文件,此文件应该包含以下内容:
    [DefDates]
    CurDefs=20021016.002
    LastDefs=20021010.002
  4. 更改CurDefs值与LastDefs保持一致,如下样例,然后保存:
    [DefDates]
    CurDefs=20021010.002
    LastDefs=20021010.002
  5. 移除Definfo.datUsage.dat中未引用到的病毒定义文件夹。
  6. 打开”Usage.dat”文件,确认里面[ ]中的内容与刚才Definfo.dat里的"CurDefs"相匹配,样例如下,修改后保存Usage.dat文件:
    [20021016.002]
    DEFWATCH_10=1
    NAVCORP_70=1
  7. (非标准步骤,可跳过)删除/Program Files/SAV/I2_LDVP.VDB目录里面所有内容。
  8. (非标准步骤)删除/Program Files/SAV/目录里所有*.tmp*.VDB*.XDB文件。
  9. (非标准步骤)删除/All Users/Application Data/Symantec/LiveUpdate/Downloads里所有文件
  10. 重新启动所有之前停止的Symantec服务。
<think>好的,用户想查找关于MyBatis手动回滚的实现方法或解决方案。首先,我需要回忆MyBatis的事务管理机制。MyBatis本身并不直接管理事务,而是依赖于底层的数据库连接和事务管理器,比如使用JDBC或者集成Spring的事务管理。 如果用户没有使用Spring,而是直接使用MyBatis,那么手动回滚可能需要通过SqlSession来实现。SqlSession提供了commit和rollback方法,用于手动控制事务。比如,在try-catch块中,如果出现异常,就调用sqlSession.rollback()来回滚事务。 另外,用户可能在使用Spring框架,这时候MyBatis的事务通常会由Spring管理。在Spring中,可以通过@Transactional注解来声明事务,并在需要回滚的地方抛出异常,Spring会自动回滚。如果想要在方法内部手动触发回滚,可以使用TransactionAspectSupport.currentTransactionStatus().setRollbackOnly(),这样即使不抛出异常也能回滚。 需要考虑到不同的使用场景,比如是否使用了Spring,以及MyBatis的配置方式。同时,要确保数据库连接的事务自动提交设置为false,否则每个操作会立即提交,无法回滚。还要注意异常捕获的位置,避免在捕获异常后没有正确处理回滚,导致数据不一致。 用户提供的引用内容中提到了MyBatis分页插件,这可能与事务处理无关,但需要确保在回答中不涉及无关信息。需要检查是否有其他相关的引用内容,但根据提供的引用,主要涉及分页插件和API变更,可能与事务处理关系不大,因此可以专注于MyBatis本身的事务控制机制。 总结可能的解决方案:1. 使用SqlSession手动回滚;2. 结合Spring框架的事务管理;3. 确保正确配置事务管理器;4. 异常处理中执行回滚操作。需要分步骤说明,并给出代码示例,比如原生MyBatis和Spring集成两种情况下的实现方式。同时,提醒用户注意数据库连接的自动提交设置,以及异常处理的正确方式。</think>关于MyBatis手动回滚的实现,以下是两种常见场景下的解决方案: ### 一、原生MyBatis实现手动回滚 1. **通过SqlSession控制事务** ```java SqlSession sqlSession = sqlSessionFactory.openSession(false); //关闭自动提交 try { UserMapper mapper = sqlSession.getMapper(UserMapper.class); mapper.insert(user1); mapper.update(user2); sqlSession.commit(); //显式提交 } catch (Exception e) { sqlSession.rollback(); //显式回滚[^1] } finally { sqlSession.close(); } ``` - 关键点:设置`openSession(false)`关闭自动提交 - 异常处理中必须显式调用`rollback()` 2. **事务边界控制** ```java // 获取数据库连接后立即关闭自动提交 Connection conn = sqlSession.getConnection(); conn.setAutoCommit(false); ``` ### 二、Spring集成环境下的实现 1. **编程式事务管理** ```java @Autowired private DataSourceTransactionManager transactionManager; public void transactionalMethod() { TransactionStatus status = transactionManager.getTransaction(new DefaultTransactionDefinition()); try { // 业务操作... transactionManager.commit(status); } catch (Exception e) { transactionManager.rollback(status); //手动回滚[^2] } } ``` 2. **声明式事务扩展** ```java @Transactional public void updateData() { try { // 业务操作... } catch (BusinessException ex) { TransactionAspectSupport.currentTransactionStatus().setRollbackOnly(); } } ``` ### 三、注意事项 1. 检查数据库驱动是否支持事务(如MySQL需使用InnoDB引擎) 2. 事务传播行为需与业务场景匹配 3. 避免长事务导致数据库连接池耗尽 相关问题
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值