从9i R2里导出了几张表,然后导入到11g R2中,在导入成功后要收集下这些表的信息,结果发现好几张表都没法收集,用DBMS_STATS包显示ORA-20005:object statistics are locked (stattype = ALL),用Analyze命令显示ORA-38029: 对象统计信息已锁定。
解决办法很明确,就是解锁。
可以从两个层面去处理:
A、解锁Schema
DBMS_STATS.UNLOCK_schema_STATS(user);
B、解锁单个对象
1)先查出被锁定的表select table_name from user_tab_statistics where stattype_locked is not null;
然后再解锁对象
exec dbms_stats.unlock_table_stats(user,'表名');
2)也可直接生成sql脚本
select 'exec dbms_stats.unlock_table_stats('''||user||''','''||table_name||''');' from user_tab_statistics where stattype_locked is not null;
这里不在生成的sql中用动态的user是为了让执行者明确知道到底是解锁哪个schema下的表,防止误操作。
不过,你要特别注意,Oracle为什么会要锁定住统计信息?
一般而言,这是为了稳定执行计划,因为在Oracle 10g以上,Oracle默认会自动收集统计信息,要想锁住统计信息,请使用LOCK_SCHEMA_STATS、LOCK_TABLE_STATS包。
相关推荐
ORA-01403之解决方法** - ORA-01403错误通常发生在尝试从不存在的记录中检索数据时。 **21. PL/SQL细粒度事务控制** - 细粒度事务控制可以更精确地控制事务边界。 **22. 物化视图** - 物化视图是一种预先计算好的...
说明: 确定查询是否获取表级的读取锁, 以防止在包含该查询的事务处理被提交之前更新任何对象读取。这种操作模式提供可重复的读取, 并确保在同一事务处理种对相同数据的两次查询看到的是相同的值。 值范围: TRUE | ...
9. **性能优化**:通过执行计划分析、统计信息收集、索引策略调整等方法,可以优化SQL查询性能。文档提供了许多性能调优的技巧和工具。 10. **安全性**:Oracle 9i提供了严谨的安全机制,包括用户管理、角色权限...
《Ora9iSQL参考手册》是一份针对Oracle 9i数据库系统中SQL语言的权威指南,它详尽地阐述了在Oracle环境下如何使用SQL进行数据管理、查询、更新和事务处理等一系列操作。这份手册是数据库管理员、开发人员以及对...
12. **性能调优**:包括查询优化、索引策略、统计信息收集和SQL Trace工具的使用。 13. **备份与恢复**:涉及数据备份、增量备份、逻辑备份和恢复策略。 14. **XML支持**:Oracle 10g提供了对XML数据的内置支持,...
- **ORA-01403未找到数据之解决方法**:解决查询结果为空的错误。 - **PL/SQL细粒度事务控制**:精细化管理事务。 - **物化视图**:预计算查询结果以提高性能。 - **通过游标更新数据**:批量处理数据。 - **...
- **4.5 保留区与ORA-04031** 保留区是共享池中预留的一部分空间,用于存放尚未完全释放的对象。 - **4.6 共享池顾问** 共享池顾问提供了一种自动化的方式来进行共享池的配置和调优。 - **4.7 库缓存调优总结** ...
ORA-01555的应对方法 - 增加`UNDO_TABLESPACE`的数量。 - 扩大`UNDO_RETENTION`时间。 - 减少长时间运行的查询。 #### 20. $ORACLE_HOME与$ORACLE_BASE的区别 - `$ORACLE_HOME`:指向Oracle产品安装目录。 - `$...
**应用场景**:数据库管理员和高级用户可以使用ORA_LOCK来识别并解决潜在的锁定问题,确保数据库操作顺畅。 #### RMPS_RECTYPEC - TNA:记录类型定制 **功能概述**:RMPS_RECTYPEC用于定制TNA(Telephony Network ...
- **Shell命令**:`ps -ef | grep ora_ | grep -v grep && ps -ef | grep ora_ | grep -v grep | wc -l` - 此命令用于列出所有Oracle相关的进程,并通过`wc -l`计算进程总数。 - **进程数**:在生产环境中,此数值...
- **LbTransaction**:这是一个实体类,用于记录事务的状态信息,包括事务组ID、当前状态以及一个用于同步的线程锁对象。 - **事务管理器**:作为整个系统的协调中心,事务管理器负责统计和管理事务组的状态,通过...
19. **ORA-01403未找到数据之解决方法** - **方法**: 检查查询条件或使用NULL值处理。 - **应用场景**: 异常处理。 20. **PL/SQL细粒度事务控制** - **解释**: 控制事务的粒度,提高并发性能。 - **应用场景**:...
也可以通过查看`init.ora`文件来获得数据库的SID信息。 #### 十六、其他常见问题 - **如何查看系统被锁的事务时间**: ```sql SELECT * FROM v$locked_object; ``` - **如何以归档日志方式运行Oracle**: 1. 修改...
- **`ORA-01507: database not mounted`**: 表示数据库尚未挂载,即处于关闭状态。 - **`MOUNTED`**: 表示数据库已挂载但未打开,可以进行备份等操作。 - **`READ WRITE`**: 表示数据库完全打开并可供所有用户...
- 通过监听Assistant可以配置监听器的服务名、端口号等信息。 **1.1.4 Password 修改密码命令** - 使用 `alter user username identified by new_password;` 来更改用户的密码。 **1.1.5 Show 显示登录用户** - ...
- 为了使基于成本的优化器能够正常工作,需要定期运行`ANALYZE`命令来更新对象的统计信息,确保这些信息的准确性和时效性。 3. **选择性优化器**: - 在默认情况下,Oracle采用的是选择性优化器。 - 当使用选择...
出现JAVA.EXE的解决办法? 如果在Oracle环境中遇到JAVA.EXE问题,可能是由于Oracle JVM组件出现问题。可以尝试重新安装JVM组件或者检查Java配置。 以上仅为部分常见问题及其解答,针对更具体的问题,可以参考...