Oracle 遇到的问题

1、ORA-01502:索引‘DBEPMS.SYS_C009390‘或这类索引的分区处于不可用状态

解决方法:[注 索引命名规则 IX_表名简称_列名简称/IX_表名简称_序号(索引长度在30字符以内)]

(1) 重建索引:     alter index index_name rebuild;

(2) 如果是分区索引,只需要重建那个失效的分区     alter index index_name rebuild partition partition_name ;

(3) 或者改变当前索引的名字          alter index index_name rename to new_index_name

2、查询当前用户哪个索引无效(VAILD说明这个索引可用,UNUSABLE说明这个索引不可用,USABLE 说明这个索引的分区是可用的)

select index_name from  user_indexes where status <> ‘VALID‘;--查出所有不可用索引进行全部重建

3、修改索引表空间(正式库索引表空间是I_JSEPMS)

alter index 索引名称 rebuild tablespace tablespace_name;

4、创建索引语法[注:索引命名规则 IX_表名简称_列名简称/IX_表名简称_序号(索引长度在30字符以内)]

--普通索引(tablespace  tablespace_name;指定索引空间,正式库索引空间为I_JSEPMS) create index 索引名 on 表名 (列名)  tablespace  tablespace_name; --单列

create index I索引名 on 表名 (列名[, 列名, ....]) tablespace  tablespace_name; --可以有多个列

--唯一索引 create unique 索引名 on 表名 (列名) tablespace  tablespace_name; --单列

create unique 索引名 on 表名 (列名[, 列名, ....]) tablespace  tablespace_name; --可以有多个列

5、删除索引

drop index index_name;

6、若想进行删除表操作,请先释放表空间再删除表

alter table EAF_UploadFile deallocate   UNUSED KEEP 0;--释放表空间

drop table tablename;

7、无意中创建序列,需删除

drop sequence sequence_name;

8、查询表空间大小及路径

select  b.file_name 物理文件名,  b.tablespace_name 表空间,  b.bytes / 1024 / 1024 大小M,  (b.bytes - sum(nvl(a.bytes, 0))) / 1024 / 1024 已使用M,  substr((b.bytes - sum(nvl(a.bytes, 0))) / (b.bytes) * 100, 1, 5) 利用率    from dba_free_space a,dba_data_files b    where a.file_id = b.file_id group by b.tablespace_name,b.file_name, b.bytes    order by b.tablespace_name;

9、查询Oracle正式数据库中表中数据条数

select table_name,        count_rows(table_name) nrows from user_tables order by table_name asc;

10、查询SQL数据库表中数据条数

SELECT  a.name,   b.rows FROM sysobjects  a INNER JOIN sysindexes  b ON a.id = b.id WHERE (a.type = ‘u‘) AND (b.indid IN (0, 1)) ORDER BY a.name,b.rows DESC

11、若执行SQL语句时 报错ORA-00054:资源正忙,要求指定NOWAIT(首先具备DBA授予的v$lock和v$session对象权限)

解决方案:  --查看那个用户那个进程照成死锁  select  b.username,   b.sid,   b.serial#,   logon_time  from v$locked_object a,v$session b  where a.session_id = b.sid  order by b.logon_time; d;

这个语句将查找到数据库中所有的DML语句产生的锁,还可以发现,任何DML语句其实产生了两个锁,一个是表锁,一个是行锁。

--下面我们杀掉死锁进程 sid,serial#

alter system kill session‘sid,serial#‘;

12、查出来表名,索引名,索引列

SELECT  table_name,             index_name,             column_name,             column_position     FROM user_ind_columns     WHERE (index_name like ‘SYS_%‘ or index_name like ‘IX_%‘) and Table_name not like ‘%$%‘

--查询新增索引个数不包含系统默认创建索引

select distinct       index_name     from user_ind_columns     WHERE index_name like ‘IX_%‘ and Table_name not like ‘%$%‘

时间: 2024-10-28 12:26:33

Oracle 遇到的问题的相关文章

oracle安装故障:完美解决xhost +报错: unable to open display “”

oracle安装 先切换到root用户,执行xhost + 然后再切换到oracle用户,执行export DISPLAY=:0.0 出现乱码执行export LANG=US_en 在这里给大家介绍下两种情况的常见问题: 一种是本地运行的命令,另一种则是远程ssh命令安装. DISPLAY科普 DISPLAY变量是用来设置将图形显示到何处.比如CENTOS,你用图形界面登录进去,DISPLAY自动设置为DISPLAY=:0.0表示显式到本地监视器,那么通过终端工具(例如:xshell)进去,运行

Sqlserver通过链接服务器访问Oracle的解决办法

转自http://blog.sina.com.cn/s/blog_614b6f210100t80r.html 一.创建sqlserver链接服务(sqlserver链接oracle)  首先sqlserver 链接oracle可以通过两个访问接口: “MSDAORA” 和“OraOLEDB.Oracle” 1.“MSDAORA”访问接口是由Microsoft OLE DB Provider for Oracle提供的,这里建议不使用此接口进行链接.通过该访问接口建立的链接服务器在进行查询orac

win7 64位系统 PB连接oracle数据库出现“oracle library oci.dll could not be loaded”问题的解决方法

今天与大家分享一个自己的学习笔记,希望能给遇到同样问题的人带来帮助. 不知道大家在win7 64位系统下用 PB连接oracle数据库时,是否遇到过“oracle library oci.dll could not be loaded”问题. 今天,在win7 64位系统下用 PB连接oracle数据库时,一直出现上述错误,在百度上找了很久,都没有找到一个完整的解决方案,咨询了很多人,(他们都说是我的PB和oracle没装好,但我装的时候没出现任何问题,一切都很顺利,而且PB和oracle都能正

Oracle 10g通过创建物化视图实现不同数据库间表级别的数据同步

摘自:http://blog.csdn.net/javaee_sunny/article/details/53439980 目录(?)[-] Oracle 10g 物化视图语法如下 实例演示 主要步骤 在A节点创建原表和物化视图日志 在B节点创建连接A节点的远程链接 在B节点处创建目标表和与目标表名称相同的物化视图 在B节点处刷新物化视图 升级采用存储过程定时任务JOB方式定时刷新物化视图 进一步优化 文章更新记录 参考文章 Oracle 10g 物化视图语法如下: create materia

Oracle静默安装

测试CentOS 6.5_x64下静默安装Oracle 11g R2数据库 [一.下载地址] http://www.oracle.com/technetwork/database/enterprise-edition/downloads/index.html Oracle 11g 联机文档: http://www.oracle.com/pls/db112/homepage [二.系统要求] 内存:1G(官方最低要求1G) 硬盘:40G(企业版安装所需4.29G和1.7G数据文件) 检查的命令 内

ORACLE实际执行计划与预估执行计划不一致性能优化案例

  在一台ORACLE服务器上做巡检时,使用下面SQL找出DISK_READ最高的TOP SQL分析时,分析过程中,有一条SQL语句的一些反常现象,让人觉得很奇怪: SELECT SQL_ID,        SQL_TEXT,        DISK_READS,        BUFFER_GETS,        PARSING_SCHEMA_NAME,        EXECUTIONS FROM   V$SQLAREA ORDER  BY DISK_READS DESC; 在SQL D

PL/SQL developer 连接oracle数据库报错“initialization error could not load oci.dll”

声明:PL/SQL 版本:PL/SQL Developer 9.0.6 (http://files.allroundautomations.com/plsqldev906.exe) 报错提示如图: 原因:PL/SQL只对32位OS进行支持,解决方法是额外加载一个oci.dll文件 解决办法:1.下载OCI.DLL相关库文件.地址: (需注册Oracle账号) http://www.oracle.com/technetwork/topics/winsoft-085727.html ----->  

20、oracle用户管理恢复

下面会一一讲解控制文件.redo文件及非归档模式.归档模式数据文件丢失的情况下,如何恢复数据? (1)控制文件(controlfile)丢失 在做恢复实验之前,先备份好数据. 案例1.模拟一个控制文件丢失 select name from v$controlfile; SQL> select name from v$controlfile; NAME -------------------------------------------------------------------------

oracle数据库(新建数据库)超小白篇

用过Mysql.sqlserver.Oracle 不知道有没有比oracle建库还复杂的 显示:win10系统 1.找到文件夹Oracle-OraDb10g_home1 2.选择Database Configuration Assistant,运行程序 3.选择下一步 ...................................................................................结束..............................

oracle 自动启动

#!/bin/shsu - oracle -lc "/home/oracle/app/oracle/product/11.2.0/dbhome_1/bin/lsnrctl start"su - oracle -c "/home/oracle/app/oracle/product/11.2.0/dbhome_1/bin/dbstart" 修改 boot.local