oracle 10g常见问题精选

合集下载

oracle常见故障处理手册

oracle常见故障处理手册

oracle常见故障处理手册一、数据库启动与关闭故障1.数据库启动失败原因:可能是由于Oracle数据库配置不正确、系统环境变量设置不正确、初始化参数设置不正确等原因导致。

解决方法:检查数据库日志文件,查看错误信息,根据错误信息进行相应的修复。

2.数据库关闭失败原因:可能是由于数据库事务未完成、数据库锁未释放等原因导致。

解决方法:检查数据库日志文件,查看错误信息,根据错误信息进行相应的修复。

二、连接故障1.连接不成功原因:可能是由于网络连接问题、数据库用户名或密码错误、数据库实例名错误等原因导致。

解决方法:检查网络连接是否正常,检查数据库用户名和密码是否正确,检查数据库实例名是否正确。

2.连接断开原因:可能是由于网络不稳定、数据库服务器异常等原因导致。

解决方法:检查网络连接是否正常,检查数据库服务器是否正常。

三、数据恢复故障1.数据丢失原因:可能是由于数据库损坏、磁盘故障等原因导致。

解决方法:根据数据丢失的原因,选择相应的恢复方法,如使用备份恢复数据或使用日志文件恢复数据。

2.数据不一致原因:可能是由于数据修改不一致、数据复制不一致等原因导致。

解决方法:检查数据修改和复制的日志文件,找到不一致的数据并修复。

四、性能优化故障1.性能下降原因:可能是由于CPU占用过高、内存占用过高、磁盘IO过大等原因导致。

解决方法:优化数据库配置参数,如增加内存、优化磁盘IO等。

2.查询速度慢原因:可能是由于查询语句不优化、表没有建立索引等原因导致。

解决方法:优化查询语句,为表建立索引等。

五、存储管理故障1.存储空间不足原因:可能是由于磁盘空间不足、表空间不足等原因导致。

解决方法:清理磁盘空间,增加磁盘空间,调整表空间大小等。

2.数据文件丢失或损坏原因:可能是由于磁盘故障、人为误删除或修改等原因导致。

解决方法:使用备份恢复数据文件或修复损坏的数据文件。

六、网络连接故障1.网络连接中断原因:可能是由于网络设备故障、网络连接线故障等原因导致。

2003 64位安装oracle 10G数据库问题

2003 64位安装oracle 10G数据库问题

江湖救急:oracle数据库安装之后,创建数据库实例的过程中,进度条始终停在2%,为什么?硬件配置:IBm3850 X5 4cpu 6核操作系统:windows 2008oracle版本:10g 10.2.0.1.0系统内看见是48线程网络搜索答案:硬件环境:dellr910 4*6cpu超线程后48核32G内存操作系统:windows2003 64位oracle10g64位遇到和您一样的问题,解决方案如下:oracle10G安装在生成数据库实例时,安装在2%停止了两个小时不动,经查是oracle10g最多支持单个服务器4个cpu,最多36核。

解决方法一:用windows的开关将原dellR910的48核cpu屏蔽掉12核,再安装,经验证,安装成功。

解决方法二:在机器启动时,进入bios,把主板参数中的超线程开关tyber_threading功能disable掉,这样就只有24核了,没有验证过,应该可以成功。

实际操作:点击“开始”-----“运行”----输入msconfig打开就是下图选择BOOT.INI 选项选择高级选项勾上NUMPROC 改成36问题解决![main] [13:50:48:250] [DBCAWizard.removePageFromList:1254] DBCAWizard->removePageFromList: The page to be removed = NetworkConfPage[main] [13:50:48:250] [DBCAWizard.removePageFromList:1254] DBCAWizard->removePageFromList: The page to be removed = NetworkConfPage[main] [13:50:48:250] [DBCAWizard.removePageFromList:1254] DBCAWizard->removePageFromList: The page to be removed = NetworkConfPage[main] [13:50:48:250] [DBCAWizard.removePageFromList:1254] DBCAWizard->removePageFromList: The page to be removed = NetworkConfPage[main] [13:50:48:250] [DBCAWizard.removePageFromList:1254] DBCAWizard->removePageFromList: The page to be removed = NetworkConfPage[main] [13:50:48:250] [DBCAWizard.removePageFromList:1254] DBCAWizard->removePageFromList: The page to be removed = NetworkConfPage[main] [13:50:48:250] [DBCAWizard.removePageFromList:1254] DBCAWizard->removePageFromList: The page to be removed = NetworkConfPage[main] [13:50:48:250] [CommandLineArguments.process:563] CommandLineArguments->process: number of arguments = 0[main] [13:50:48:859] [Host.checkOPS:2053] Inside checkOPS[main] [13:50:48:859] [Host.checkOPS:2065] Trying to check cluster existence[main] [13:50:48:906] [Library.getInstance:95] Created instance of Library.[main] [13:50:48:906] [Library.load:195] Loading orauts.dll...[main] [13:50:48:906] [Library.load:201] oracleHome E:\oracle\product\10.2.0\db_1 [main] [13:50:48:906] [sPlatform.isHybrid:63] osName=Windows 2003 osArch=amd64 rc=false [main] [13:50:48:906] [Library.load:220] Loading library E:\oracle\product\10.2.0\db_1\bin\orauts.dll[main] [13:50:48:906] [Library.load:244] Loaded library E:\oracle\product\10.2.0\db_1\bin\orauts.dll from path=E:\oracle\product\10.2.0\db_1\bin[main] [13:50:48:906] [Library.load:195] Loading MSVCRT.dll...[main] [13:50:48:906] [Library.load:201] oracleHome E:\oracle\product\10.2.0\db_1 [main] [13:50:48:906] [sPlatform.isHybrid:63] osName=Windows 2003 osArch=amd64 rc=false [main] [13:50:48:906] [Library.load:220] Loading library E:\oracle\product\10.2.0\db_1\bin\MSVCRT.dll[main] [13:50:48:906] [Library.load:244] Loaded library E:\oracle\product\10.2.0\db_1\bin\MSVCRT.dll from path=E:\oracle\product\10.2.0\db_1\bin[main] [13:50:48:906] [Library.load:195] Loading orawsec10.dll...[main] [13:50:48:906] [Library.load:201] oracleHome E:\oracle\product\10.2.0\db_1 [main] [13:50:48:906] [sPlatform.isHybrid:63] osName=Windows 2003 osArch=amd64 rc=false [main] [13:50:48:906] [Library.load:220] Loading library E:\oracle\product\10.2.0\db_1\bin\orawsec10.dll[main] [13:50:48:921] [Library.load:244] Loaded library E:\oracle\product\10.2.0\db_1\bin\orawsec10.dll from path=E:\oracle\product\10.2.0\db_1\bin[main] [13:50:48:921] [Library.load:195] Loading orasrvm10.dll...[main] [13:50:48:921] [Library.load:201] oracleHome E:\oracle\product\10.2.0\db_1 [main] [13:50:48:921] [sPlatform.isHybrid:63] osName=Windows 2003 osArch=amd64 rc=false [main] [13:50:48:921] [Library.load:220] Loading library E:\oracle\product\10.2.0\db_1\bin\orasrvm10.dll[main] [13:50:48:921] [Library.load:244] Loaded library E:\oracle\product\10.2.0\db_1\bin\orasrvm10.dll from path=E:\oracle\product\10.2.0\db_1\bin[main] [13:50:48:921] [Version.isPre10i:189] isPre10i.java: Returning FALSE[main] [13:50:48:921] [WindowsSystem.regKeyExists:997] WindowsSystem.regKeyExists: mainkey= HKEY_LOCAL_MACHINE subkey = Software\Oracle\Ocr[main] [13:50:48:937] [WindowsSystem.getCSSConfigType:1154] configType=null[main] [13:50:48:937] [Host.checkOPS:2071] cluster existence:false[main] [13:50:48:937] [Host.checkOPS:2109] Cluster installed=false[AWT-EventQueue-0] [13:50:56:765] [InitParamHandler.endElement:506] CustomSGA flag: false [AWT-EventQueue-0] [13:50:56:765] [InitParamHandler.endElement:507] Database Type: MULTIPURPOSE[AWT-EventQueue-0] [13:50:56:765] [InitParamHandler.endElement:508] Mem Percentage: 40 [AWT-EventQueue-0] [13:50:56:765] [InitParamHandler.endElement:526] distributing Memory: 10298662912[AWT-EventQueue-0] [13:50:56:765] [StorageAttributes.setAttribute:232] IN threadID:1group#=1[AWT-EventQueue-0] [13:50:56:765] [StorageAttributes.setAttribute:232] IN threadID:1 group#=2[AWT-EventQueue-0] [13:50:56:765] [StorageAttributes.setAttribute:241] Current threadID=1 [AWT-EventQueue-0] [13:50:56:765] [StorageAttributes.setAttribute:248] Current threadID=1 ==> redoGroups[0]=1[AWT-EventQueue-0] [13:50:56:765] [StorageAttributes.setAttribute:258] vRedoGroups:[1] [AWT-EventQueue-0] [13:50:56:765] [StorageAttributes.setAttribute:288] setAttribute: bExists=false[AWT-EventQueue-0] [13:50:56:765] [StorageAttributes.setAttribute:232] IN threadID:1 group#=3[AWT-EventQueue-0] [13:50:56:765] [StorageAttributes.setAttribute:241] Current threadID=1 [AWT-EventQueue-0] [13:50:56:765] [StorageAttributes.setAttribute:248] Current threadID=1 ==> redoGroups[0]=1[AWT-EventQueue-0] [13:50:56:765] [StorageAttributes.setAttribute:248] Current threadID=1 ==> redoGroups[1]=2[AWT-EventQueue-0] [13:50:56:765] [StorageAttributes.setAttribute:258] vRedoGroups:[1, 2] [AWT-EventQueue-0] [13:50:56:765] [StorageAttributes.setAttribute:288] setAttribute: bExists=false[AWT-EventQueue-0] [13:50:56:781] [TemplateManager.parseCloneTemplate:1474] See for any transportable datafiles in TemplateManager.....[AWT-EventQueue-0] [13:51:6:421] [DatabaseNamePage.onNameChanged:752] m_oldGDBName =[AWT-EventQueue-0] [13:51:6:421] [OracleHome.isRacEnabled:147] bRacOn = false[AWT-EventQueue-0] [13:51:6:593] [ManagementOptionsPage.initializePage:401] Enumerating Agents[AWT-EventQueue-0] [13:51:20:15] [DBCAWizard.onFinish:1139] m_bFinishClicked: false [TaskScheduler timer] [13:51:20:15] [OracleHome.isRacEnabled:147] bRacOn = false [TaskScheduler timer] [13:51:20:140] [Verifier.validateTemplate:1629] StorageType == 0 [TaskScheduler timer] [13:51:20:140] [Verifier.calculateCloneDatafilePathsAndSizes:2951] canonicalPath=E:\oracle\product\10.2.0\[TaskScheduler timer] [13:51:20:140] [Verifier.calculateCloneDatafilePathsAndSizes:2951] canonicalPath=E:\oracle\product\10.2.0\[TaskScheduler timer] [13:51:20:140] [Verifier.calculateCloneDatafilePathsAndSizes:2951] canonicalPath=E:\oracle\product\10.2.0\[TaskScheduler timer] [13:51:20:140] [Verifier.calculateCloneDatafilePathsAndSizes:2951] canonicalPath=E:\oracle\product\10.2.0\[TaskScheduler timer] [13:51:20:140] [Verifier.calculateCloneDatafilePathsAndSizes:2951] canonicalPath=E:\oracle\product\10.2.0\[TaskScheduler timer] [13:51:20:156] [Verifier.calculateRedoLogGroupFileSizes:3083] canonicalPath=E:\oracle\product\10.2.0\[TaskScheduler timer] [13:51:20:156] [Verifier.calculateRedoLogGroupFileSizes:3083] canonicalPath=E:\oracle\product\10.2.0\[TaskScheduler timer] [13:51:20:156] [Verifier.calculateRedoLogGroupFileSizes:3083]canonicalPath=E:\oracle\product\10.2.0\[TaskScheduler timer] [13:51:20:156] [Verifier.getControlfFileSizes:3001] No. of Control files:=3 [Thread-4] [13:51:20:187] [UIHost.getHtmlSummary:1030] UIHost:getHtmlSummary: running createTemplateDocument NOT for SHOW_TEMPLATE condition[Thread-4] [13:51:20:187] [UIHost.getHtmlSummary:1036] UIHost:getHtmlSummary: after running createTemplateDocument NOT for SHOW_TEMPLATE condition[Thread-4] [13:51:20:203] [XSLConst.generateHeaderXSL:188] NLS:Template Name:= null [Thread-4] [13:51:20:203] [XSLConst.generateHeaderXSL:193] Template Description:= 使用此数据库模板, 以便创建针对一般用途进行优化的预配置的数据库。

oracle 10g中unique与index的问题

oracle 10g中unique与index的问题

oracle 10g中unique与index的问题create table test(x integer,y integer,z integer);alter table test add constraint primary key (x); --产生一个约束,并产生一个同名索引create unique index index01 on test(x,y);--create unique index index02 on test(x,y); --不允许完全相同的索引,即使索引名称不同create unique index index03 on test(y,z);create unique index index04 on test(z,y); --index04 是与index03互不相同的索引alter table test add constraint cons01 unique(x,y,z) ; --产生一个约束,并自动产生一个名为cons01 的UNIQUE索引alter table test add constraint cons01 unique(x,y) ;--产生一个约束,但因与index01 重复(自动产生的索引不区分顺序),因此不能自动产生索引alter table test add constraint cons01 unique(y,x) ;--产生一个约束,但因与index01 重复,因此不能自动产生索引--create unique index cons01 on test(x,y); --不能执行,因为索引cons01 已经被约束cons01 自动创建的索引占用alter table test add constraint cons012 check (x>100);alter table test add constraint cons013 check (x>100); --check可以内容完全相同处理办法:提取所有约束(UCPR)提取名称不在约束表中的所有索引。

oracle数据库面试题目(3篇)

oracle数据库面试题目(3篇)

第1篇1. 请简述Oracle数据库的体系结构,并说明各层的作用。

2. 请解释什么是Oracle实例?实例与数据库之间的关系是什么?3. 请简述Oracle数据库的存储结构,包括数据文件、控制文件、日志文件等。

4. 请说明Oracle数据库的内存结构,包括SGA、PGA等。

5. 请解释Oracle数据库的备份策略,包括全备份、增量备份、差异备份等。

6. 请说明Oracle数据库的恢复策略,包括不完全恢复、完全恢复等。

7. 请解释Oracle数据库的事务管理,包括事务的ACID特性。

8. 请说明Oracle数据库的锁机制,包括共享锁、排他锁等。

9. 请解释Oracle数据库的并发控制,包括多版本并发控制(MVCC)。

10. 请说明Oracle数据库的安全机制,包括角色、权限、用户等。

二、SQL语言1. 请简述SQL语言的组成,包括数据定义语言(DDL)、数据操纵语言(DML)、数据控制语言(DCL)等。

2. 请说明如何创建一个简单的表,包括表结构、字段类型、约束等。

3. 请编写一个查询语句,查询某个表中所有年龄大于30岁的记录。

4. 请编写一个更新语句,将某个表中年龄大于40岁的记录的年龄加1。

5. 请编写一个删除语句,删除某个表中年龄小于20岁的记录。

6. 请编写一个插入语句,插入一条记录到某个表中。

7. 请说明如何使用SQL语句实现分页查询。

8. 请说明如何使用SQL语句实现多表查询。

9. 请说明如何使用SQL语句实现子查询。

10. 请说明如何使用SQL语句实现联合查询。

三、Oracle高级特性1. 请解释什么是视图?如何创建视图?2. 请解释什么是索引?有哪些常见的索引类型?3. 请解释什么是触发器?如何创建触发器?4. 请解释什么是存储过程?如何创建存储过程?5. 请解释什么是函数?如何创建函数?6. 请解释什么是包?如何创建包?7. 请解释什么是序列?如何创建序列?8. 请解释什么是同义词?如何创建同义词?9. 请解释什么是物化视图?如何创建物化视图?10. 请解释什么是分区表?如何创建分区表?四、Oracle性能优化1. 请说明如何查看Oracle数据库的性能统计信息。

Oracle常见错误及解决方案

Oracle常见错误及解决方案

O r a c l e常见错误及解决方案问题1:Oracle服务器进入PL/SQL Developer时报ora-01033:oracle initialization or shutdown in progress 错误提示,应用系统无法连接Oracle服务。

解决方法如下:⑴进入CMD,执行set ORACLE_SID=fbms,确保连接到正确的SID;⑵运行sqlplus "/as sysdba"SQL>shutdown immediate停止服务SQL>startup启动服务,观察启动时有无数据文件加载报错,并记住出错数据文件标号SQL>shutdown immediate再次停止服务SQL>startup mountSQL> recover datafile 2恢复出错的数据文件SQL>shutdown immediate再次停止服务SQL>startup启动服务,此次正常。

⑶进入PL/SQL Developer检查,没有再提示错误。

问题2:Oracle密码忘记了怎么办?解决方法有很多种,这里讲述以下三种:⑴打开cmd,输入sqlplus /nolog,回车;输入“conn / as sysdba”;输入“alter user sys identified by 新密码”。

注意:新密码最好以字母开头,否则可能出现错误Ora-00988。

有了这个方法后,只要自己对oracle 服务器有管理员权限,Oracle密码忘记了也不用着急,可以随意修改密码。

⑵在命令行执行如下命令:sqlplus "/@服务名as sysdba"然后在sqlplus中运行以上命令即可修改密码:alter user sys identified by 新密码;alter user system identified by 新密码;⑶运行到C盘根目录输入:SET ORACLE_SID = 你的SID名称输入:sqlplus/nolog输入:connect/as sysdba输入:alert user sys identified by sys输入:alert user system identified by system完成以上5步,则密码更改完成,密码是Oracle数据库的初始密码。

Oracle 10g删除主键约束后无法删除唯一约束索引问题的模拟与分析

Oracle 10g删除主键约束后无法删除唯一约束索引问题的模拟与分析
insert into t values (1,1)
*
ERROR at line 1:
ORA-00001: unique constraint (SEC.PK_T) violated
【问题原因】
这个问题的原因可以参考MOS的[ID 309821.1]文章,文章中给出了具体原因。
Oracle 10G Does not Drop User Index Associated With Unique/Primary Key Constraints [ID 309821.1]
Table altered.
经确认,约束和索引均被删除后,尝试插入两条重复数据,成功。
sec@ora10g> select OWNER,CONSTRAINT_NAME,CONSTRAINT_TYPE,TABLE_NAME,INDEX_OWNER,INDEX_NAME from user_constraints where table_name = 'T';
6.删除主键约束
sec@ora10g> alter table t drop constraint pk_t cascade;
Table altered.
7.确认约束和索引删除情况
sec@ora10g> select OWNER,CONSTRAINT_NAME,CONSTRAINT_TYPE,TABLE_NAME,INDEX_OWNER,INDEX_NAME from user_constraints where table_name = 'T';
原来是Oracle在的10g版本中对内部函数"atbdui"进行了调整,导致在删除约束的时候无法删除用户创建的索引。

ORACLE 数据库故障解决方案

ORACLE 数据库故障解决方案一、引言ORACLE 数据库是一种常用的关系型数据库管理系统,用于存储和管理大量的结构化数据。

然而,在数据库运行过程中,可能会遇到各种故障,如数据库崩溃、数据丢失、性能下降等。

本文将介绍一些常见的ORACLE数据库故障解决方案,以匡助管理员快速恢复数据库的正常运行。

二、数据库崩溃的解决方案1. 数据库崩溃可能由于硬件故障、软件错误、人为操作等原因引起。

当数据库崩溃时,管理员应采取以下步骤进行故障排查和修复:a. 检查数据库日志文件,查找崩溃前的异常信息;b. 尝试重启数据库实例,使用备份恢复数据;c. 如果无法恢复数据,可以考虑使用数据库恢复工具进行修复。

2. 数据丢失的解决方案数据丢失可能由于误删除、磁盘损坏等原因导致。

为了防止数据丢失,管理员应采取以下预防措施:a. 定期备份数据库,并将备份文件存储在安全的位置;b. 使用数据库的日志文件功能,可以实现数据的增量备份;c. 配置RAID技术,提高数据库的容错能力。

3. 性能下降的解决方案当数据库性能下降时,可能会导致用户访问延迟、查询速度变慢等问题。

管理员可以采取以下措施来提高数据库性能:a. 优化数据库的查询语句,使用索引、视图等技术来加速查询;b. 增加硬件资源,如CPU、内存等,提升数据库的处理能力;c. 定期清理数据库,删除不必要的数据和索引,减少数据库的负载。

4. 数据库安全的解决方案数据库安全是保护数据库免受未经授权的访问和数据泄露的重要任务。

管理员应采取以下安全措施来保护数据库:a. 设置强密码策略,要求用户使用复杂的密码,并定期更换密码;b. 限制数据库用户的权限,只赋予其必要的访问权限;c. 定期更新数据库软件和补丁,以修复已知的安全漏洞;d. 使用防火墙和入侵检测系统,监控数据库的网络访问。

三、总结本文介绍了ORACLE数据库常见故障的解决方案,包括数据库崩溃、数据丢失、性能下降和数据库安全等方面。

安装oracle10g出现不能识别操作系统NT6.1的解决办法

点击setup.exe安装,经过前置判断,如果出现如下错误信息:《提示有1个错误,1个警告,2个要求待验证错误问题详细信息如下:正在检查操作系统要求… 要求的结果: 5.0,5.1,5.2,6.0 之一实际结果: 6.1 检查完成。

此次检查的总体结果为: 失败 <<<< 问题: Oracle Database 10g 未在当前操作系统中经过认证。

建议案: 确保在正确的平台上安装软件。

警告问题详细信息如下:正在检查网络配置要求… 检查完成。

此次检查的总体结果为: 失败 <<<< 问题: 安装检测到系统的主 IP 地址是 DHCP 分配的地址。

建议案: Oracle 支持在具有 DHCP 分配的 IP 地址的系统上进行安装。

但在安装之前, 必须将 Microsoft LoopBack Adapter 配置为系统的主网络适配器。

有关在配置有 DHCP 的系统上安装软件的详细信息, 请参阅 Installation Guide。

待验证问题详细信息如下:正在检查 Service Pack 要求… 检查完成。

此次检查的总体结果为: 未执行 <<<< OUI-18001: 不支持操作系统‘Windows Vista 版本6.1′。

建议案: 请安装建议的 Service Pack。

》如果出现如上的信息那么就进行如下操作;1、对电脑的IP地址进行静态邦定,不要自己动获取。

2、 oracle不能够识别Windows 7 ,只需要修改refhost.xml文件,让Oracle 能够识别到操作系统的类型。

点击oracle安装文件,直接查找,因为oracle可能存在多个 refhost.xml文件,每一个文件都需要修改。

然后添加如下代码:<!–Microsoft Windows 7–> 添加位置参考refhost.xml文件中xp或者vista 的问题。

oracle10gOEM常规错误(Unknownhostspecified)解决

oracle10gOEM常规错误(Unknownhostspecified)解决重装了笔记本上的oracle,安装完成后,可以正常使⽤OEM控制台,但是注销后重新登录或者重启系统后登录,或者笔记本使⽤⽹络环境发⽣了变化,都有可能遇到问题。

这些遇到问题的解决办法使⽤过,但是很久没折腾就忘记了,今天把这些问题和解决⽅法记录在此。

这个问题的现象是⽆法启动OEM。

使⽤命令⾏如下:复制代码代码如下:C:/Users/Administrator>set ORACLE_SID=TESTC:/Users/Administrator>emctl stop dbconsolOracle Enterprise Manager 10g Database Control Release 10.2.0.1.0Copyright (c) 1996, 2005 Oracle Corporation. All rights reserved.http://IP:1158/em/console/aboutApplication.....这种现象遇到过多次,经常是在你电脑的⽹络环境(IP地址)发⽣变化之后,导致在启动的时候oracle会根据你现在的IP地址构造OEM地址,⽽不是你当初安装的那个IP。

注意上⾯这个地⽅,http://IP:1158/em。

针对这个问题,当初我也根据google搜索到的办法重建OEM,但是这种⽅法还是⽐较繁琐和漫长,⽽且往往会遇到莫名其妙的错误。

我使⽤最简单的解决办法是修改$ORACLE_HOME/BIN/emctl.bat⽂件,打开这个⽂件,在⽂件开头或者合适位置(⽐如我的是在42⾏的setlocal之后)添加如下2⾏代码:复制代码代码如下:set ORACLE_SID=TESTset ORACLE_HOSTNAME=Laidye注意,ORACLE_HOSTNAME要设置成你初始安装时候oracle读取和设置的名称,在没有⽹络环境下安装oem的时候往往就是你的计算机名称,具体可以查看$ORACLE_HOME/HOSTNAME_SID这个⽂件夹。

Oracle常见问题及解决方法(个人遇到问题解决经验)

iSQL*Plus URL:http://10.10.43.137:5560/isqlplusEnteprise Manager 10g Database Control URL:http://information:5500/emOracleDBConsoleorcl不能启动,报错误码2解决策略解决策略一:修改你的主机参数文件修改一下:C:\WINDOWS\system32\drivers\etc下的host文件.如果没有的话就自己加一个IP和你的计算机名对应,如果已有了就把你的IP地址和你的计算机名对应起来.如:# copyright (c) 1993-1999 microsoft corp.## this is a sample hosts file used by microsoft tcp/ip for windows.## this file contains the mappings of ip addresses to host names. each# entry should be kept on an individual line. the ip address should# be placed in the first column followed by the corresponding host name.# the ip address and the host name should be separated by at least one# space.## additionally, comments (such as these) may be inserted on individual# lines or following the machine name denoted by a '#' symbol.## for example:## 102.54.94.97 # source server# 38.25.63.10 # x client host127.0.0.1 localhost10.10.43.137 information解决策略二:启动电脑,到登陆界面,电脑报有个服务启动失败,电脑没有新装软件,周六还没有问题,怎么突然报这个错误?于是到事件查看器中看看什么问题,显示是OracleDBConsoleorcl启动失败,到服务里一看,确实没有启动。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

oracle 10g常见问题精选一、怎样配置EM使其支持SSL 协议10G EM 中的OMS, DBConsole,Agent 都支持SSL 协议.具体操作:1. 如果没有环境变量ORACLE_SID,请先配置,或者直接敲入set ORACLE_SID=xxx (UNIX环境下请根据不同的shell类型使用不同的语法:setenv, export...)2. 键入emctl secure ,可以看到全部的选项:secure oms <sysman password> <registration password>[<hostname>] [-reset]secure agent <registration password>secure emsecure dbconsole <sysman password> <registration password>[<hostname>]secure setpwd <sysman password> <registration password>secure status [oms url]secure lock | unlock3. 以配置oms为例3.1 先停掉所有与oms相关的服务(opmnctl stopall)3.2 敲入: emctl secure oms,会让你输入registration password,然后系统会产生相关的证书文件, 如果一切顺利的话,系统会有提示配置成功的信息3.3 重新启动服务(opmnctl startall)缺省情况下,7777和4889这两个端口是可用的, 配置成secure 模式后,4888端口是支持SSL协议的. 从$EM_HOME\sysman\config目录下的emoms.properties文件中可以看到配置信息.3.4 检测oms是否已经运行在https协议下emctl secure status oms url注意: URL 要输入完整,例如: https://myserver:4888/em/upload/4. Agent, DBconsole的配置基本类似.5. 启动浏览器运行时,IE会弹出一个安装安全证书的窗口,按"确认".二、出现了问题,怎样解决以DB Control为例, 大致的步骤是这样的:1. emctl status dbconsole 查看db control 的状态2.去$ORACLE_HOME\hostname_sid\sysman\log目录下查看相关日志(emoms.log,emagent.log等)3. 检查配置文件emd.properties,emoms.properties目录: $ORACLE_HOME\hostname_sid\sysman\config4. 确保监听器工作正常: lsnrctl status5. 10G EM 使用的是配置文件中定义的连接串,而不是直接访问tnsnames.ora .目录: $ORACLE_HOME\hostname_sid\sysman\config文件: emoms.properties.参数: oracle.sysman.eml.mntr.emdRepConnectDescriptor三、修改了监听端口, 怎样保证DB Control 正常运行1. 修改listener.ora 和tnsnames.ora 这两个文件:tnsnames.ora 中需要加入:listener_1 =(ADDRESS = (PROTOCOL = TCP)(HOST = xxxx)(PORT = 新的端口))然后启动数据库:SQL> show parameter local_listener ;SQL> alter system set local_listener='listener_1' scope=spfile;重启数据库使得修改生效2. 修改$ORACLE_HOME\hostname_sid\sysman\config下的emoms.properties文件:oracle.sysman.eml.mntr.emdRepPort=新的端口oracle.sysman.eml.mntr.emdRepConnectDescriptor=(DESCRIPTION\=(ADDRESS_LIST\=(ADDRESS\=(PRO TOCOL\=TCP)(HOST\=xxx)(PORT\=新的端口)))(CONNECT_DATA\=(SERVICE_NAME\=xxx)))3. 最后,还要修改$ORACLE_HOME\hostname_sid\sysman\emd下的targets.xml:<Property NAME="Port" VALUE="新的端口"/>4. 重新启动监听器和dbconsole 服务.5. 如果嫌上面的操作麻烦,可以用emca这个命令行工具:emca -h 查看所有可用的命令emca -r 跳过资料档案库的创建.四、怎样修改DB Control 的服务端口缺省情况下,DB Control 的端口是5500, 可以参考下面的说明更改端口。

如果用户想改变oms端口,必须改变以下三个文件,然后重启db control以使得改变生效:1.编辑$ORACLE_HOME/_/sysman/config/emoms.properties并改变以下参数:oracle.sysman.emSDK.svlt.ConsoleServerPortoracle.sysman.emSDK.svlt.ConsoleServerHTTPSPort2.编辑$ORACLE_HOME/_/sysman/config/emd.properties并改变以下参数:REPOSITORY_URLemdWalletSrcUrl3.编辑$ORACLE_HOME/oc4j/j2ee/OC4J_DBConsole__/config/http-web-site.xml并改变以下参数:web-site port注:请在修改前备份。

一、乱码问题Redhat RHEL AS3 下安装Oracle DB 10g 中文乱码问题不少兄弟反映在rhel3下安装oracle10g时出现乱码, 其实在安装和使用时出现乱码的地方有多个, 可以分为三类:1. 安装时的乱码2. 一些应用程序的乱码, 比如dbca, netca3. 一些基于oc4j的web应用的乱码, 比如isqlplus, em造成这些问题的原因都是一个, 就是这些程序都使用jdk, 相应的jdk(或jre) 使用的字体配置文件font.properties 中的字体和操作系统的字体或者字体配置文件不匹配. 解决的办法是把两者改成一致.1. 下载, 解包ship.db.cpio.gz, 生成目录Disk12. cd Disk1/stage/Components/oracle.swd.jre/1.4.2.0.0/1/DataFiles/unzip all_except_bin.jar(这时生成一个jre 的目录)cd jre/1.4.2/lib/mv font.properties font.properties.bakcp font.properties.zh_CN.Redhat8.0 font.propertiescd ../../../zip -r all_except_bin.jar.new jre/mv all_except_bin.jar.new all_except_bin.jar(其实就是把font.properties 文件换掉. 这样安装时汉字显示就没有问题了)3. 如法炮制, 把Disk1/stage/Components/oracle.jdk/1.4.2.0.0/1/DataFiles/sol_bin.1.1.jar文件里面的font.properties 文件换掉, 创建数据库和执行网络配置时的乱码就没有了. isqlplus 和em 的乱码也解决了。

用IE登录Linux服务器上的em出现的乱码不知道大家有没有注意到,EM显示的中文翻译很是糟糕,up/down 动不动就翻译成“向上”“向下”,让人哭笑不得.很多朋友都说,干脆给显示英文算了,可是怎么显示呢?好了,现在我们有一种办法很容易的解决这个问题:打开你的IE浏览器,选择'工具"-->Internet选项-->常规选择“语言”,默认只有“中文”,选择“添加”,加入英语(美国),调整顺序,把”英语(美国)“放到最上面OK ,确定。

打开你的http://yoururl:5500/em问题解决了。

二、10g如何更改归档模式1. 对于初始化文件,只需要修改log_archive_dest_n 这个参数.n=1,2,3,....10, Oracle 缺省会使用log_archive_dest_10这个参数来使用flash recovery area里面存放的归档日志文件,大小由参数db_recovery_file_dest_size来决定.修改:log_archive_dest_1="location=c:\oracle\10g\...\archivelog quota_size=2G"...如果归档使用flash recovery area, 上面的参数不需要指定任何值,Oracle 会自动使用db_recovery_file_dest这个参数所指定的路径。

2. 启动sqlplus:startup mount pfile='....'alter database archivelog;(如果启用flashback, alter database flashback on)alter database open;archive log list(查看是否运行在归档模式)(如果前面的log_archive_dest_n没有设置,则会显示USE_DB_RECOVERY_FILE_DEST)3. 怎样变成noarchivelog 模式步骤基本同上。

三、用dblink在10G中做create table ..as select * from ..varchar2()的column宽度变成3倍问题描述:例如:varchar2(255)==>varchar(765)测试:1. 环境: 两台机器都装的10G的数据库2. 测试步骤和结果:SQL> conn test1/test1@db10G_server1SQL> create database link link_server2connect to test1 identified by test1using 'db10G_server2'SQL> conn test1/test1@db10G_server2SQL> create table test1_t1 as select * from all_objectswhere rownum<=3000;SQL> desc test1_t1;Name Null? Type---------------------------------------------------------------OWNER VARCHAR2(30)OBJECT_NAME VARCHAR2(30)SUBOBJECT_NAME VARCHAR2(30)OBJECT_ID NUMBERDATA_OBJECT_ID NUMBEROBJECT_TYPE VARCHAR2(19)CREATED DATELAST_DDL_TIME DATETIMESTAMP VARCHAR2(19)STATUS VARCHAR2(7)TEMPORARY VARCHAR2(1)GENERATED VARCHAR2(1)SECONDARY VARCHAR2(1)SQL> conn test1/test1@db10G_server1SQL> create table test1_linkt1 asselect * from test1_t1@link_server2;SQL> desc test1_linkt1Name Null? Type----------------------------------------- -------- ---------------- OWNER VARCHAR2(60)OBJECT_NAME VARCHAR2(60)SUBOBJECT_NAME VARCHAR2(60)OBJECT_ID NUMBERDATA_OBJECT_ID NUMBEROBJECT_TYPE VARCHAR2(38)CREATED DATELAST_DDL_TIME DATETIMESTAMP VARCHAR2(38)STATUS VARCHAR2(14)TEMPORARY VARCHAR2(2)GENERATED VARCHAR2(2)SECONDARY VARCHAR2(2)表结构一样,但是列的长度确实变了, 通过dblink创建的表的varchar2列的长度是原表的两倍再来看看字符集1.Server1上的数据库字符集SQL> column value format A20SQL> select value from nls_database_parameters where parameter='NLS_CHARACTERSET';value--------------ZHS16GBK2. Server2上的数据库字符集SQL> conn test1/test1@db10G_server2SQL> column value format A20SQL> select value from nls_database_parameters where parameter='NLS_CHARACTERSET';value--------------AL32UTF8结论: 与数据库字符集不同有关系.四、在10g不支持的Linux发行版上安装10g的解决方法正常安装的10g只支持Red Hat Enterprise Linux 2.1 and 3, and on UnitedLinux 1.0。

相关文档
最新文档