oracle遇到的问题及答案.docx

上传人:b****2 文档编号:3086992 上传时间:2023-05-05 格式:DOCX 页数:50 大小:42.71KB
下载 相关 举报
oracle遇到的问题及答案.docx_第1页
第1页 / 共50页
oracle遇到的问题及答案.docx_第2页
第2页 / 共50页
oracle遇到的问题及答案.docx_第3页
第3页 / 共50页
oracle遇到的问题及答案.docx_第4页
第4页 / 共50页
oracle遇到的问题及答案.docx_第5页
第5页 / 共50页
oracle遇到的问题及答案.docx_第6页
第6页 / 共50页
oracle遇到的问题及答案.docx_第7页
第7页 / 共50页
oracle遇到的问题及答案.docx_第8页
第8页 / 共50页
oracle遇到的问题及答案.docx_第9页
第9页 / 共50页
oracle遇到的问题及答案.docx_第10页
第10页 / 共50页
oracle遇到的问题及答案.docx_第11页
第11页 / 共50页
oracle遇到的问题及答案.docx_第12页
第12页 / 共50页
oracle遇到的问题及答案.docx_第13页
第13页 / 共50页
oracle遇到的问题及答案.docx_第14页
第14页 / 共50页
oracle遇到的问题及答案.docx_第15页
第15页 / 共50页
oracle遇到的问题及答案.docx_第16页
第16页 / 共50页
oracle遇到的问题及答案.docx_第17页
第17页 / 共50页
oracle遇到的问题及答案.docx_第18页
第18页 / 共50页
oracle遇到的问题及答案.docx_第19页
第19页 / 共50页
oracle遇到的问题及答案.docx_第20页
第20页 / 共50页
亲,该文档总共50页,到这儿已超出免费预览范围,如果喜欢就下载吧!
下载资源
资源描述

oracle遇到的问题及答案.docx

《oracle遇到的问题及答案.docx》由会员分享,可在线阅读,更多相关《oracle遇到的问题及答案.docx(50页珍藏版)》请在冰点文库上搜索。

oracle遇到的问题及答案.docx

oracle遇到的问题及答案

问题一:

Oracle11G用EXP时,空表不能导出解决方法

第一查询空表到底有多少张,也就是查询为分配分配segment的表有多少张

SQL>selecttable_namefromuser_tableswhereNUM_ROWS=0;

TABLE_NAME

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

DATA_BACKUP

EQUIPMENT

FEEDBACK_ACCESSORIES

SPECIALPIC

TASK_THIRD

TASK_THIRDBATCH

TASK_THIRD_DATA

TASK_THIRD_FEEDBACK

TESTDATA_THIRD

THIRD_ACCESSORIES

已选择10行。

第二查询在当前用户下有总的有多少张表

SQL>selectcount(*)FROMUSER_TABLES;

COUNT(*)

----------

32

第三导出当前用户下的数据

C:

\Users\Administrator>explcpt/lcptfile=E:

\0702bj\lcpt.dmpwner=lcptlog=E

702bj\lcpt.log

Export:

Release11.2.0.1.0-Productionon星期一7月210:

42:

072012

Copyright(c)1982,2009,Oracleand/oritsaffiliates.Allrightsreserved.

连接到:

OracleDatabase11gEnterpriseEditionRelease11.2.0.1.0-Productio

WiththePartitioning,OLAP,DataMiningandRealApplicationTestingoptions

已导出ZHS16GBK字符集和AL16UTF16NCHAR字符集

即将导出指定的用户...

.正在导出pre-schema过程对象和操作

.正在导出用户LCPT的外部函数库名

.导出PUBLIC类型同义词

.正在导出专用类型同义词

.正在导出用户LCPT的对象类型定义

即将导出LCPT的对象...

.正在导出数据库链接

.正在导出序号

.正在导出簇定义

.即将导出LCPT的表通过常规路径...

..正在导出表ACCESSORIES导出了18行

..正在导出表AUTH导出了240行

..正在导出表DATA_TEMP导出了1行

..正在导出表FEEDBACK导出了1行

..正在导出表FUNCTION导出了112行

..正在导出表LIMIT导出了1行

..正在导出表MODULE导出了37行

..正在导出表READ_ACCESSORIES导出了2行

..正在导出表REGIONINFO导出了19行

..正在导出表REPORT_EVENT导出了8行

..正在导出表ROLE导出了5行

..正在导出表ROLEAUTH导出了606行

..正在导出表STAFFLOG导出了512行

..正在导出表STAFFROLE导出了56行

..正在导出表STAFFS导出了7行

..正在导出表TASKINFO导出了51行

..正在导出表TASK_FILIALE导出了2行

..正在导出表TASK_FILIALE_FEEDBACK导出了2行

..正在导出表TASK_SWARAJ_READ导出了49行

..正在导出表TESTDATA导出了407行

..正在导出表THIRDFACTURER导出了3行

..正在导出表USESSION导出了1行

.正在导出同义词

.正在导出视图

.正在导出存储过程

.正在导出运算符

.正在导出引用完整性约束条件

.正在导出触发器

.正在导出索引类型

.正在导出位图,功能性索引和可扩展索引

.正在导出后期表活动

.正在导出实体化视图

.正在导出快照日志

.正在导出作业队列

.正在导出刷新组和子组

.正在导出维

.正在导出post-schema过程对象和操作

.正在导出统计信息

成功终止导出,没有出现警告。

结论:

发现只导出了22张表,说明还有10张表没有导出出来。

第四再次查询没有导出的空表

SQL>selecttable_namefromuser_tableswhereNUM_ROWS=0;

TABLE_NAME

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

DATA_BACKUP

EQUIPMENT

FEEDBACK_ACCESSORIES

SPECIALPIC

TASK_THIRD

TASK_THIRDBATCH

TASK_THIRD_DATA

TASK_THIRD_FEEDBACK

TESTDATA_THIRD

THIRD_ACCESSORIES

已选择10行。

第五查询并构建对空表分配空间segment的SQL命令

SQL>select'altertable'||table_name||'allocateextent;'fromuser_tableswh

erenum_rows=0;

'ALTERTABLE'||TABLE_NAME||'ALLOCATEEXTENT;'

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

altertableDATA_BACKUPallocateextent;

altertableEQUIPMENTallocateextent;

altertableFEEDBACK_ACCESSORIESallocateextent;

altertableSPECIALPICallocateextent;

altertableTASK_THIRDallocateextent;

altertableTASK_THIRDBATCHallocateextent;

altertableTASK_THIRD_DATAallocateextent;

altertableTASK_THIRD_FEEDBACKallocateextent;

altertableTESTDATA_THIRDallocateextent;

altertableTHIRD_ACCESSORIESallocateextent;

已选择10行。

SQL>

第六执行构建好的SQL语句(保存成脚本执行)

setheadingoff;

setechooff;

setfeedbackoff;

settermouton;

spoolE:

\0702bj\allocate.sql;

Select'altertable'||table_name||'allocateextent;'fromuser_tableswherenum_rows=0;

spooloff;

SQL>altertableWGSM_SCallocateextent;

altertableWGSM_SCallocateextent

*

第1行出现错误:

ORA-14254:

不能为(组合)范围分区表或列表分区表指定ALLOCATE

SQL>altertableWGSM_SCmodifypartitionT1allocateextent;

第七再次执行导出操作,就可以把所有的表导出来了

第八设置deferred_segment_creation参数为FALSE后,无论是空表还是非空表,都分配segment。

第九在sqlplus中,执行如下命令:

SQL>altersystemsetdeferred_segment_creation=false;

该值设置后对以前导入的空表不产生作用,仍不能导出,只能对后面新增的表产生作用。

如需导出上面的空表,只能用上面的方法。

第十11G中有个新特性,当表无数据时,不分配segment,以节省空间

问题二:

ORA-01157,ORA-01110

ORA-01157:

cannotidentify/lockdatafile5-seeDBWRtracefile

ORA-01110:

datafile5:

'/oracle/app/oradata/orcl/hblg_db.dbf'

问题描述:

startup启动数据库提示

ORA-01157:

无法标识/锁定数据文件-请参阅DBWR跟踪文件

ORA-01110:

数据文件:

'D:

\ORACLEDATA\TEST.ORA'

解决方案:

1、shutdownimmediate

ora-01109:

数据库未打开

已经卸载数据库

ORACLE例程已关闭

2、startupmount;

ORACLE例程已经启动

3、alterdatabasedatafile'D:

\ORACLEDATA\TEST.ORA'offlinedrop;

数据库已更改

4、alterdatabaseopen;

数据库已更改

ORA-01081:

cannotstartalready-runningORACLE-shutitdownfirst

机器启动后就是这个样子了,有时重启机器可以启动DB,有时也不行,需重起多次

MicrosoftWindowsXP[版本5.1.2600]

(C)版权所有1985-2001MicrosoftCorp.

C:

\DocumentsandSettings\Administrator>sqlplus/nolog

SQL*Plus:

Release10.1.0.2.0-Productionon星期一10月2512:

47:

432010

Copyright(c)1982,2004,Oracle.Allrightsreserved.

SQL>connect/assysdba

已连接到空闲例程。

SQL>startup

ORA-01081:

cannotstartalready-runningORACLE-shutitdownfirst

SQL>shutdownimmediate

ORA-24324:

未初始化服务句柄

ORA-24323:

不允许此值

ORA-00020:

超出最大进程数(%s)

SQL>shutdownabort

ORA-01031:

insufficientprivileges

SQL>shutdownabort

ORA-01031:

insufficientprivileges

SQL>已断开连接

C:

\DocumentsandSettings\Administrator>sqlplus/nolog

SQL*Plus:

Release10.1.0.2.0-Productionon星期一10月2512:

48:

182010

Copyright(c)1982,2004,Oracle.Allrightsreserved.

SQL>connect/assysdba

已连接到空闲例程。

SQL>shutdownabort

ORACLE例程已经关闭。

SQL>startup

ORA-27102:

outofmemory

OSD-00025:

附加错误信息

O/S-Error:

(OS1453)配额不足,无法完成请求的服务。

SQL>

 

IMP-00058:

ORACLEerror1033encountered

ORA-01033:

ORACLEinitializationorshutdowninprogressUsername:

 

感谢这篇文章:

初始情况是用dbvis连接数据库时,提示数据库正在初始化或者停止过程中.后面再没去管,几天后再去连接,还是一样的提示信息.这回很明显是数据库出问题了.

用sysdba进入sqlplus,强制启动数据库,结果显示日志无法归档和超出了回复文件数的限制.

 

SQL>startupforce

ORACLE例程已经启动。

TotalSystemGlobalArea612368384bytes

FixedSize1250428bytes

VariableSize117443460bytes

DatabaseBuffers486539264bytes

RedoBuffers7135232bytes

数据库装载完毕。

ORA-16038:

日志3序列号1807无法归档

ORA-19809:

超出了恢复文件数的限制

ORA-00312:

联机日志3线程1:

'E:

\ORADATA\MDC\REDO03.LOG'

查看v$log

SQL>selectgroup#,sequence#,archived,statusfromv$log;

GROUP#SEQUENCE#ARCHIVSTATUS

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

11808NOINACTIVE

31807NOINACTIVE

21809NOCURRENT

看到组3是非当前状态,并且没有归档,使用参考文章中的处理非归档文件的方法.

SQL>alterdatabaseclearunarchivedlogfilegroup3;

数据库已更改。

启动数据库,这个启动成功.

SQL>alterdatabaseopen;

数据库已更改。

用dbvis连接数据库,连接成功.

 

问题三:

oracle11g数据库导出报“EXP-00003

oracle11g数据库导出报“EXP-00003:

未找到段(0,0)的存储定义...[复制链接]

运维网监控oracle11g数据库导出报“EXP-00003:

未找到段(0,0)的存储定义”错误的解决方案

导出oracle11.2.0.2的服务器的数据时,报“EXP-00003:

未找到段(0,0)的存储定义”错误。

初步分析是由于数据表是空表导致该问题。

Oracle11G在用EXPORT导出时,空表不能导出

  11GR2中有个新特性,当表无数据时,不分配segment,以节省空间

  解决方法:

一、insert一行,再rollback就产生segment了。

  该方法是在在空表中插入数据,再删除,则产生segment。

导出时则可导出空表。

二、设置deferred_segment_creation参数

该参数值默认是TRUE,当改为FALSE时,无论是空表还是非空表,都分配segment。

修改SQL语句:

altersystemsetdeferred_segment_creation=falsescope=both;

  需注意的是:

该值设置后对以前导入的空表不产生作用,仍不能导出,只能对后面新增的表产生作用。

如需导出之前的空表,只能用第一种方法。

三、用以下这句查找空表

  select'altertable'||table_name||'allocateextent;'fromuser_tableswherenum_rows=0;

  把查询结果导出,执行导出的语句,强行修改segment值,然后再导出即可导出空表

可以通过以下方式生成数据库更新的sql语句:

在pl/sql的命令窗口中执行

setheadingoff;

setechooff;

setfeedbackoff;

settermouton;

spoolC:

\alterTableSql.sql;

Select'altertable'||table_name||'allocateextent;'fromuser_tableswherenum_rows=0;

spooloff;

自动将空表更新sql生成到C盘根目录的alterTableSql.sql文件中。

然后执行该sql文件更新数据库。

Select'altertable'||table_name||'allocateextent;'fromuser_tableswherenum_rows=0;

也可以换成:

Select'altertable'||table_name||'allocateextent;'fromuser_tableswheresegment_created='NO';

问题四:

ORA-00845:

MEMORY_TARGETnotsupportedonthissystem

今天晚上新装一台Oracle11g的数据库,打算将SGA设大一点,知道11g中有一个新特新MEMORY_TARGET,于是尝一下鲜,谁知报了个ORA-00845,报错比较容易迷惑人,不借助Google真得想半天:

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

SQL>altersystemsetmemory_max_target=3Gscope=spfile;

 

Systemaltered.

 

SQL>altersystemsetmemory_target=2Gscope=spfile;     

 

Systemaltered.

 

SQL>

SQL>shutdownimmediate

Databaseclosed.

Databasedismounted.

ORACLEinstanceshutdown.

SQL>startup;

ORA-00845:

MEMORY_TARGETnotsupportedonthissystem

来自Oracle的官方解析是:

StartingwithOracleDatabase11g,theAutomaticMemoryManagementfeaturerequiresmoresharedmemory(/dev/shm)andfiledescriptors.ThesizeofthesharedmemoryshouldbeatleastthegreaterofMEMORY_MAX_TARGETandMEMORY_TARGETforeachOracleinstanceonthecomputer.IfMEMORY_MAX_TARGETorMEMORY_TARGETissettoanonzerovalue,andanincorrectsizeisassignedtothesharedmemory,itwillresultinanORA-00845erroratstartup.

简单来说就是MEMORY_MAX_TARGET的设置不能超过/dev/shm的大小:

1

2

[oracle@FWDBFWDB]$df -h|grep shm

tmpfs                2.0G    0 2.0G  0%/dev/shm

还真是撞到这个枪口上了:

马上把它加大:

1

2

[root@FWDB~]#cat/etc/fstab|greptmpfs

tmpfs                  /dev/shm                tmpfs  defaults,size=4G00

现在可以通过重启使这个配置生效,也可以通过重新挂载来修改其大小:

1

2

3

[root@FWDB~]#mount-oremount,size=4G/dev/shm

[root@FWDB~]#df-h|grepshm

tmpfs                4.0G    0 4.0G  0%/dev/shm

再次启动数据库,没有报错了。

问题五:

ORA-27046:

filesizeisnotamultipleoflogicalblocksize

修改了Oracle10g里面的SPFILE***.ORA文件,数据库就起不来了,抱错ORA-27046:

filesizeisnotamultipleoflogicalblocksize。

原因是动态服务器参数文件(SPFILE)是一个二进制文件,是不可以手工修改的,如果手工改了,该文件就成为了无效文件。

此时可以通过以下方法解决:

1。

将SPFILE中的参数拷贝到init***.ora文件中

2。

删除DATABASE目录下的SPFILE***.ORA文件。

3。

启动数据库(现在应该可以成功启动)

4。

SQL>createspfilefrompfile 生成SPFIEL

使用startup命令启动数据库,,Oralce将会按照以下顺序在缺省目录中(9i,10i在oracle_home/database目录下)搜索参数文件:

(1)spfile***.ora文件(2)如果没有spfile***.ora文件就用spfile.ora文件(3)如果没有spfile.ora文件就用init***.ora(4)如果没有init***.ora文件就用pfile.ora

所以上面我们采取的解决方法是将破坏的SPFILE中的参数复制到init***.ora中,然后删除SPFILE文件,这样启动时就会用init***.ora文件启动,然后用createspfilefrompfile 命令生成SPFIEL

以后如果要修改SPFILE中的参数绝对不能在手工修改SPFILE文件了,用下面命令:

altersystemsetparameter=Valuescope=spfile|both|memory 例如:

altersystemsetdb_cache_size=24Mscope=both;来修改

 

问题六:

初始化参数之memory_target

一、引言:

   Oracle9i引入pga_aggregate_target,可以自动对PGA进

展开阅读全文
相关资源
猜你喜欢
相关搜索
资源标签

当前位置:首页 > 工程科技 > 能源化工

copyright@ 2008-2023 冰点文库 网站版权所有

经营许可证编号:鄂ICP备19020893号-2