搜档网
当前位置:搜档网 › Oracle 连接错误故障排除

Oracle 连接错误故障排除

Oracle 连接错误故障排除
Oracle 连接错误故障排除

Oracle 连接错误故障排除

产品:Tableau Desktop, Tableau Server

版本:All

上次修改日期:24 Aug 2015

Oracle 驱动程序需要具有唯一格式的特定连接语句。然而,可能并不总是需要TNSNames.ora 文件。例如,如果仅安装了 Tableau 提供的 Oracle 文件,且不具有独立的 Oracle 客户端。Oracle 错误消息涉及 TNSNames.ora 文件。

通常,纠正“高级 Oracle 连接”对话框中的路由或命名语法,或者使用 .WORLD 数据库全名,即可解决大部分 Oracle 连接问题。如果连接错误需要进一步进行故障排除,请参阅下面列出的 4 种常见连接错误。

?ORA-03113:通信信道上的文件结尾

?ORA-12154:TNS:无法解决指定的连接标识符 HOST 值不正确或者全局名称不正确或未知的问题

?ORA-12514:TNS 侦听器当前无法识别连接描述符中请求的服务SERVICE 值不正确

?ORA-12541:TNS:无侦听器

PORT 值不正确

?ORA-00932:数据类型不一致

ORA-03113:通信信道上的文件结尾

ORA-03113 是任何干扰 Oracle 会话的问题的全捕获类型错误。造成该错误的原因可能有很多。请参阅下表,了解故障排除指南。

?请参阅特定于此错误的 Oracle 文档:我的 Oracle 支持。

o请参阅 Oracle 的 B 常见错误故障排除页面。

?Oracle 建议您检查网络问题并审查 SQL*Net 设置。

?如果连接到 Oracle 9.2.0.5,则在很多情况下,造成此错误的主要原因是 Oracle 错误 3010227。请要求 Oracle 数据库管理员应用 Oracle 修

补程序 9.2.0.6 或适合您服务器的另一个修补程序。

?将 Oracle 初始化参数“STAR_TRANSFORMATION_ENABLED”设置为 FALSE。

?或者,如果您想进一步测试此问题,请遵循下面列出的可选过程。

Step 1

从 Tableau Desktop 开始页面,选择“连接到数据”。

Step 2

对于 Tableau Desktop 8.2 及更高版本,请在“连接”页面,单击“Oracle”。

对于 Tableau Desktop 8.1 及更早版本,请在“连接到数据”页面,单击“Oracle”。

Step 3

对于 Tableau Desktop 8.2 及更高版本,请连接到 Oracle 服务器,然后单击“确定”。

对于 Tableau Desktop 8.1 及更早版本,请遵循“Oracle 连接”对话框中的步骤完成连接。有关完成连接步骤的更多信息,请参阅 Desktop 帮助中的Oracle 数据库主题。

Step 4

对于 Tableau Desktop 8.2 及更高版本,请执行以下操作:

1.在联接区域,悬停在自定义 SQL 表上,直到显示编辑图标,然后单击该

图标。

2.复制“编辑自定义SQL”对话框中的查询。

对于 Tableau Desktop 8.1 及更早版本,请执行以下操作:

1.在步骤 5 下,从构架中选择一个表或视图,然后选择“自定义SQL”。

2.复制步骤 5 文本框中显示的查询。

Step 5

在连接到此数据库的 SQL 会话中,粘贴并运行查询。预期响应为错误ORA-7445:遭遇异常:核心转储,确认问题为预期的 ORA-3113。

ORA-12154:TNS:无法解析指定的连接标识符

透明网络底层 (TNS) 无法解析服务名称时,出现 ORA-12154。服务名称在TNSNames.ora 文件中指定,该文件位于 %ORACLE_HOME%\network\admin\ 文件夹下。通常,TNSNames.ora 文件中的信息不正确时会出现此错误。例如:

?数据库名称不包含 .world 扩展名。

?SERVICE_NAME 或 HOST 变量不正确。

要解决此问题,请按照下面列出的顺序,尝试以下 3 种故障排除选项中的其中一种。

?选项 1:编辑 TNSNames.ora

?选项 2:确保 Tableau Server 运行身份用户帐户具有访问

TNSNames.ora 的权限(仅限 Tableau Server)

?选项 3:验证 TNSNames.ora 中的所有信息是否正确无误

选项 1:编辑 TNSNames.ora

提供数据库全名,包括位于以下两个位置的 .world 扩展名:

?TNSNnames.ora 文件。

以及

?(Tableau Desktop 8.2 及更高版本)“连接”页面的“服务器”文本框。

?(Tableau Desktop 8.1 及更早版本)当您连接到 Tableau 中的数据源时,位于“Oracle 连接”对话框的“步骤1”文本框中。

选项 2:确保 Tableau Server 运行身份用户帐户具有访问 TNSNames.ora 的权限(仅限 Tableau Server)

如果安装了 Tableau Server,请完成以下过程以确保 Tableau Server 运行身份用户帐户具有访问 TNSNames.ora 文件位置的权限。如果运行身份用户帐户不具有权限,则 Tableau Server 无法访问 Oracle 数据源详细信息。

Step 1

验证计算机上 TNSNames.ora 文件或者等效的 SQLNET.ora 或 LDAP.ora 文件的位置。

注意:默认情况下,TNSNames.ora 文件位于 \network\admin 目录下。例如,C:\Oracle_Client\network\admin。

Step 2

确认 TNS_ADMIN 变量指向步骤 1 中描述的一个或多个文件的位置。

注意:要检查 TNS_ADMIN 变量,请单击“开始”按钮,然后选择“控制面板”>“系统”。单击“高级系统设置”,单击“高级”标签,然后单击“环境变量”按钮。

Step 3

在Windows“开始”按钮上,选择“Tableau Server <版本>”>“配置 Tableau Server”。

Step 4

在服务器运行身份用户下,复制“用户”文本框中的信息。

Step 5

转到 TNSNames.ora 文件所在的文件夹。

Step 6

右键单击文件夹并选择“属性”。单击“安全”标签,然后单击“编辑”按钮。

Step 7

在组或用户名称下,单击“添加”按钮。

Step 8

在“输入要选择的对象名称”文本框中,粘贴在步骤 6 中复制的运行身份用户帐户的详细信息。

Step 9

完成后,单击“确定”。

Step 10

在“权限”区域,确保选中“完全控制”和“修改”复选框。

Step 11

单击“确定”以关闭对话框。

有关此错误的更多信息,可参阅以下外部资源:

?ORA-12154

?Sqlnet.ora

选项 3:验证 TNSNames.ora 中的所有信息是否正确无误

如果以上故障排除步骤未解决问题,请继续阅读并完成过程,以验证TNSNames.ora 文件中的其他信息是否正确提供。

TNSNames.ora 文件如下所示:

QAORCL10.world =

(DESCRIPTION =

(ADDRESS_LIST =

(ADDRESS = (PROTOCOL = TCP)(HOST = MY_HOST_NAME)(PORT = 1521))

)

(CONNECT_DATA =

(SERVICE_NAME = MY_SERVICE_NAME)

)

)

文件中的三个变量分别是HOST、PORT和SERVICE_NAME。从 TNSNames.ora 文件中复制这些变量,并保持它们处于可用状态。这些变量区分大小写。以下步骤描述如何为您的连接提供这些变量。

Step 1

从 Tableau Desktop 开始页面,选择“连接到数据”。

Step 2

对于 Tableau Desktop 8.2 及更高版本,请在“连接”页面,单击“Oracle”。

对于 Tableau Desktop 8.1 及更早版本,请在“连接到数据”页面,单击“Oracle”。

Step 3(Tableau Desktop 8.1 及更早版本)

在“Oracle 连接”对话框中,单击“高级”。

Step 4

对于 Tableau Desktop 8.2 及更高版本,请提供 TNSNames.ora 文件中的以下信息:

?在服务器名称文本框中,键入 HOST 名称。

?在服务文本框中,键入 SERVICE_NAME。

?在端口文本框中,键入 PORT 编号。

?指定是使用 Windows 身份验证还是特定的用户名和密码,然后单击“连接”。

对于 Tableau Desktop 8.1 及更早版本,请在“高级 Oracle 连接”对话框中,提供 TNSNames.ora 文件中的以下信息:

?在服务器名称文本框中,提供 HOST 名称。

?在服务名称文本框中,提供 SERVICE_NAME。

?在端口文本框中,提供 PORT 编号。

?完成后,单击“确定”。

注意:变量区分大小写。

Step 5

对于 Tableau Desktop 8.2 及更高版本,请从“构架”下拉列表中选择一个构架,将表拖到联接区域,然后单击“转到工作表”。

对于 Tableau Desktop 8.1 及更早版本,请遵循“Oracle 连接”对话框中的其他步骤,以完成连接。

?在步骤 5 下,保持选择“单个表”,然后从构架中选择一个表或视图。

?在步骤 6 下,您可以编辑默认的连接名称。

?完成后,单击“确定”。

Step 6

完成设置 Oracle 连接以使用 TNSNames.ora一文中的步骤。

重要信息:

?确保以 ASCII 编码保存您使用的 TNSNames.ora 文件。使用除 ASCII 之外的任何其他编码(例如 UTF-8 或 Unicode)会导致 ORA-12154 错误消息。

?即使已在计算机上安装 Oracle 软件,通常也需要进行这些步骤。

Step 7

从 Tableau 驱动程序页面下载适当的 Oracle 驱动程序并安装。即使您的计算机安装了其他 Oracle 驱动程序,也可能与 Tableau 不兼容并且需要“驱动程序”页面上指定的版本。

ORA-12514:TNS 侦听器当前无法识别连接描述符中请求的服务

通常,SERVICE 值不正确时出现此错误。

要解决此问题,需找出正确的 SERVICE 值,打开位

于 %ORACLE_HOME%\network\admin\ 文件夹下的 TNSNames.ora 文件。必要时,参阅 ORA_12154 下的步骤。

ORA-12541:TNS:无侦听器

通常,PORT 值不正确时出现此错误。

要解决此问题,请将 PORT 值替换为 1521 或 1526。尝试当前未使用的值。

ORA-00932:数据类型不一致

连接到 Oracle 时或从 Oracle 数据源创建数据提取时,出现此错误。通常,此错误由安装了不正确的 Oracle 驱动程序而引起。

要解决此问题,请从驱动程序页面安装适用于您当前使用的 Tableau 版本的正确 Oracle 驱动程序。

其他故障排除建议

如果您的计算机上未安装 Oracle 客户端,请确保从您的数据库管理员处获取必要文件。如果 Oracle 数据连接错误仍然存在,请执行以下操作:

?检查用于创建 TNS_ADMIN 变量的 TNSNames.ora 文件夹路径。

?重启计算机,确保 TNS_ADMIN 变量已识别。

?检查 Tableau 中使用的 Oracle 连接名称是否与 TNSNames.ora 网络服务名称条目完全一致。此名称区分大小写。

?在有些情况下,将需要重启 Windows,然后 Oracle 驱动程序才能获取TNS_ADMIN 系统变量。

?与当地 IT 团队联系,验证 TNSNames.ora 文件是最新的。

如果 Oracle 连接使用 LDAP,请确保同时包括 SQLNet.ora 文件和TNSNames.ora 文件。

ORACLE数据库安全规范

数据库安全规范

1概述 1.1适用范围 本规范明确了Oracle数据库安全配置方面的基本要求。 1.2符号和缩略语 2 ORACLE安全配置要求 本规范所指的设备为ORACLE数据库。本规范提出的安全配置要求,在未特别说明的情况下,均适用于ORACLE数据库。 本规范从ORACLE数据库的认证授权功能和其它自身安全配置功能提出安全要求。 2.1账号 ORACLE应提供账号管理及认证授权功能,并应满足以下各项要求。 2.1.1按用户分配帐号

2.1.2删除或锁定无关帐号 2.1.3用户权限最小化 要求内容 在数据库权限配置能力内,根据用户的业务需要,配置其所需的最小权

限。

grant 权限 to user name; revoke 权限 from user name; 2、补充操作说明 用第一条命令给用户赋相应的最小权限 用第二条命令收回用户多余的权限 业务测试正常 4、检测操作 业务测试正常 5、补充说明 2.1.4使用ROLE 管理对象的权限 1. 使用Create Role 命令创建角色。 2.使用用Grant 命令将相应的系统、对象或 Role 的权限赋予应用用户。 2、补充操作说明 对应用用户不要赋予 DBA Role 或不必要的权限。 4、检测操作 1.以DBA 用户登陆到 sqlplus 中。 2.通过查询 dba_role_privs 、dba_sys_privs 和 dba_tab_privs 等视图来检查 是否使用ROLE 来管理对象权限。 5、补充说明 操作指南 1、参考配置操作 检测方法 3、判定条件 要求内容 使用数据库角色(ROLE )来管理对象的权限。 操作指南 1、参考配置操作 检测方法 3、判定条件

Oracle错误代码案例总结及解决方案

常见错误: ORA-00001:违反唯一约束条件(主键错误) ORA-00028:无法连接数据库进程 ORA-00900:无效sql语句 ORA-00904:字段名写错或是建表时最后一个字段有逗号 ORA-00907:缺少右括号 ORA-00911:无效字符 ORA-00917:缺少逗号 ORA-00918:未明确定义列 ORA-00922:丢失或无效的选项(表名等可能有空格) ORA-00923:未找到FROM关键字 ORA-00926:缺少value ORA-00933: SQL命令未正确结束 ORA-00936:缺少表达式 ORA-00937:不是单组分组函数 ORA-00942:表或视图不存在 ORA-00947:没有足够的值(一般是插入语句出现的错,插入值的数量与字段不符) ORA-00979:不是group by的表达式 ORA-01009:缺少法定参数(eg:sql做参数时,且sql语句为空时,报错) ORA-01098:数据库无法关闭及启动 ORA-01400:无法将null值插入 ORA-01401:插入的值对于列过大 ORA-01476:sql中存在除数为零 ORA-01579: 恢复过程中出现写错误 ORA-01580: 创建控制备份文件时出错 ORA-01581: 尝试使用已分配的回退段() 新区()

ORA-01582: 无法打开要备份的控制文件 ORA-01583: 无法获得要备份的控制文件的块大小 ORA-01584: 无法获得要备份的控制文件的文件大小 ORA-01585: 标识备份文件时出错 ORA-01586: 无法打开要备份的目标文件 ORA-01587: 复制控制文件的备份文件时出错 ORA-01588: 要打开数据库则必须使用RESETLOGS 选项 ORA-01589: 要打开数据库则必须使用RESETLOGS 或NORESETLOGS 选项ORA-01590: 段可用列表数() 超出最大数 ORA-01591: 锁定已被有问题的分配事务处理挂起 ORA-01592: 将第7 版回退段() 转换为Oracle 8 版格式时出错 ORA-01593: 回退段最佳大小( blks) 小于计算的初始大小( blks) ORA-01594: 尝试放回已释放的回退段() 区() ORA-01595: 释放区() 回退段() 时出错 ORA-01596: 无法在参数中指定系统 ORA-01597: 无法改变联机或脱机系统回退段 ORA-01598: 回退段''未联机 ORA-01599: 无法获得回退段(), 高速缓存空间已满 ORA-01600: 至多只有一个""在子句""()中 ORA-01601: 子句""()中的存储桶大小非法 ORA-01603: 子句""()中的分组大小非法 ORA-01604: 子句""()中的编号范围非法 ORA-01605: 子句""()中缺少编号 ORA-01606: gc_files_to_locks 不同于另一已安装例程的参数 ORA-01608: 无法将回退段''联机,其状态为() ORA-01609: 日志是线程的当前日志- 无法删除成员 ORA-01610: 使用BACKUP CONTROLFILE 选项的恢复必须已完成 ORA-01611: 线程编号无效- 必须介于1 和之间 ORA-01612: 线程已经启用 ORA-01613: 线程只有日志- 要求至少启用2 个日志 ORA-01614: 线程正忙- 无法启用 ORA-01615: 线程已安装- 无法禁用 ORA-01616: 线程已打开- 无法禁用 ORA-01617: 无法安装: 不是有效的线程编号 ORA-01618: 线程未启用- 无法安装

oracle数据库安全管理制度

竭诚为您提供优质文档/双击可除oracle数据库安全管理制度 篇一:规章制度之数据备份及应急恢复制度 医院信息系统运行与应用管理规章制度汇编 数据备份工作制度及应急恢复工作规定 数据备份工作制度 1、数据备份是备份his系统所有的数据,包括病人费用信息和医疗信息,关系到整个系统的正常运转,影响到全院的医疗工作的正常秩序,责任重大,数据管理员要有高度的事业心、责任感和一丝不苟万无一失的严谨工作作风。 2、严格按照《数据备份方案》要求,逐条认真操作,每天做逻辑备份,每周六作全部备份,每月做一次冷备份. 3、每两周对数据要进行一次恢复试验,以确保备份数据的安全可靠。 4、为了整理数据库,每月对oRacle数据库进行一次expoRt和inpoRt。 5、根据数据增长量,应定期对过期数据进行处理。 6、每天对服务器进行仔细检查,主要查看文件是否有损坏,cpu和内存占用资源情况,客户端登录和访问数据库

是否正常等。 7、如系统发现异常情况,要马上处理,处理不了要立即汇报,并提出建议。 8、严格遵守保密制度和网络管理规范,绝对保密数据管理员口令,当有其他人对服务器进行操作时,要亲自在场并作好详细记录,有第二者知道口令时要及时更改口令。 9、每次对服务器进行操作时,认真作好登录统计,不得马虎。 10、要熟练掌握nt、oRacle数据库知识,不断提高业务水平。 11、数据备份磁带要异地存放,安全保管。 12、如不按规定执行出现重大事故,追究责任者的一切责任并严肃处理。 应急恢复工作规定 1、当计算机网络中心服务器确认出现故障时,由系统管理员,按《数据备份恢复方案》进行系统恢复。 2、系统管理员由信息科主任指定专人负责恢复。当人员变动时应有交接手续。 3、当网络线路不通时,网络系统维护人员应立即到场进行维护,当光纤损坏时应立即使用备用光纤进行恢复,交换机出现故障时,应使用备用交换机,即刻通知前台工作站工作人员使用。

Oracle数据库安全配置规范华为

目录 1概述 (2) 1.1适用范围 (2) 1.2内部适用性说明 .......................................................................................................... 错误!未定义书签。 1.3外部引用说明 .............................................................................................................. 错误!未定义书签。 1.4术语和定义 .................................................................................................................. 错误!未定义书签。 1.5符号和缩略语 (2) 2ORACLE安全配置要求 (2) 2.1账号 (2) 2.2口令 (7) 2.3日志 (11) 2.4其他 (13)

1概述 1.1适用范围 本规范明确了Oracle数据库安全配置方面的基本要求。 1.2符号和缩略语 2ORACLE安全配置要求 本规范所指的设备为ORACLE数据库。本规范提出的安全配置要求,在未特别说明的情况下,均适用于ORACLE数据库。 本规范从ORACLE数据库的认证授权功能、安全日志功能,和其他自身安全配置功能提出安全要求。 2.1账号 ORACLE应提供账号管理及认证授权功能,并应满足以下各项要求。 2.1.1按用户分配帐号

Oracle常见错误汇总

1.Oracle ORA-01555快照过旧的错误 首先了解Oracle在什么情况下会产生ORA-01555错误: 假设有一张6000万行数据的testdb表,预计testdb全表扫描1次需要2个小时,参考过程如下: 1、在1点钟,用户A发出了select * from testdb;此时不管将来testdb怎么变化,正确的 结果应该是用户A会看到在1点钟这个时刻的内容。 2、在1点30分,用户B执行了update命令,更新了testdb表中的第4100万行的这条记录, 这时,用户A的全表扫描还没有到达第4100万条。毫无疑问,这个时候,第4100万行的这条记录是被写入了回滚段,假设是回滚段UNDOTS1,如果用户A的全表扫描到达了第4100万行,是应该会正确的从回滚段UNDOTS1中读取出1点钟时刻的内容的。 3、这时,用户B将他刚才做的操作提交了,但是这时,系统仍然可以给用户A提供正确的数据, 因为那第4100万行记录的内容仍然还在回滚段UNDOTS1里,系统可以根据SCN到回滚段里找到正确的数据,但要注意到,这时记录在UNDOTS1里的第4100万行记录已经发生了重大的改变:就是第4100万行在回滚段UNDOTS1里的数据有可能随时被覆盖掉,因为这条记录已经被提交了! 4、由于用户A的查询时间漫长,而业务在一直不断的进行,UNDOTS1回滚段在被多个不同的 transaction使用着,这个回滚段里的extent循环到了第4100万行数据所在的extent,由于这条记录已经被标记提交了,所以这个extent是可以被其他transaction覆盖掉的!5、到了1点45分,用户A的查询终于到了第4100万行,而这时已经出现了第4条说的情况, 需要到回滚段UNDOTS1去找数据,但是已经被覆盖掉了,这时就出现了ORA-01555错误。

Oracle数据库安全管理

公司内部 Oracle数据库安全管理 主题:Oracle数据库安全管理 项目名称:公司内部 撰写单位:海鼎 作者:吴昭松 版本号:0.1 日期:2006-3-8 审核 文档历史 参考文档

概述 本文概要性讲述Oracle数据库安全管理,使读者对Oracle的数据库安全管理有所了解。 包含内容: 1、概要文件; 2、管理用户; 3、权限和角色; 概要文件 概要文件是Oracle安全策略的重要组成部分,利用概要文件可以对数据库用户进行基本的资源限制,并且可以对用户的口令进行管理。 概要文件是命名的数据库和系统资源限制集合。通过为数据库用户指定概要文件,可以控制用户在数据库和实例中所能使用的资源。通常DBA会将数据库中用户分为几种类型,为每类用户创建概要文件。一个数据库用户只能指定一个概要文件。 在安装数据库时,Oracle会自动建立名为DEFAULT的默认概要文件,如果在创建新的数据库用户时没有为他指定概要文件,Oracle将自动为他指定这个默认概要文件。另外,如果在用户自定义的概要文件中没有指定某项参数,Oracle将使用DEFAULT概要文件中相应的参数作为默认值。 在概要文件中还可以对用户的口令管理策略进行设置。 资源限制参数 利用概要文件,可以对以下几类数据库和系统资源进行限制: ●CPU时间 ●逻辑读 ●用户的并发会话数 ●空闲时间 ●连接时间 ●私有SGA区 对这些资源的限制是通过在概要文件中设置资源参数来实现的。资源参数的值可以是一个整数,也可以是UNLIMITED(即不受限制),还可以是DEFAULT(使用默认概要文件中的参数设置)。 大部分的资源限制都可以在两个级别进行:会话级或调用级。会话级资源限制是对用户在一个会话过程中所能使用的资源进行的限制,而调用级资源限制是对一条SQL语句在执行过程中所能使用的资源进行的限制。 当会话或一条SQL语句占用的资源超过概要文件中的限制时,Oracle将中止并回退当前的操作,然后向用户返回错误信息。这时用户仍然有机会提交或回退当前的事务。如果受到的是会话级限制,在提交或回退事务后用户会话被中止(断开连接),但是如果受到的是调用级限制,用户会话还能继续进行,只是当前执行的SQL语句被终止。 下面分别介绍在概要文件中使用的各种资源参数: ●SESSIONS_PER_USER 该参数限制每个用户所允许建立的最大并发会话数目。达到这个限制时, 用户不能再建立任何数据库连接。

Oracle常见问题及其解决方法(doc 10页)

Oracle常见问题及其解决方法(doc 10页)

iSQL*Plus URL:http://10.10.43.137:5560/isqlplus Enteprise Manager 10g Database Control URL: http://information:5500/em OracleDBConsoleorcl不能启动,报错误码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 https://www.sodocs.net/doc/6f7549271.html, # source server # 38.25.63.10 https://www.sodocs.net/doc/6f7549271.html, # x client host 127.0.0.1 localhost 10.10.43.137 information 解决策略二: 启动电脑,到登陆界面,电脑报有个服务启动失败,电脑没有新装软件,周六还没有问题,怎么突然报这个错误?于是到事件查看器中看看什么问题,显示是OracleDBConsoleorcl启动失败,到服务里一看,确实没有启动。手动启动一下,报错误码2 我装的是10g,于是到ORACLEproduct10.2.0db_1test_orclsysmanlog目录看一下log里写了什么,打开OracleDBConsoleorclsrvc.log. log最后记录的是: 日志让看emdbconsole.nohup文件,目录里没有这个文件呀。 手动执行一下emctl.bat,于是启动控制台,执行emctl.bat istart dbconsole,报错,ORACLE_SID 没有定义,打开emctl.bat看看,这里是定义环境变量的地方,其中已经设置了这些:if not defined REMOTE_EMDROOT (set ORACLE_HOME=Ec:oracleproduct10.2.0db_1)

ORACLE数据库日常维护与管理手册

全球眼(MEGAEYES网络图像管理系统2.0 ORACLE S常维护与管理手册 北京互信互通信息技术有限公司 2004-08-08 目录

1 引言 1.1 目的 对于重要的商业系统来说, 数据库系统的正常运行是保证商业应用平稳运行 的关键。但是 数据库在运行过程中可能会因为种种原因发生问题。 这时,数据库 的管理与日常维护工作将变得尤为重要。 为了指导数据库管理员做好日常维护工作, 保证数据库系统的正常运行, 特 制定本文档。 当然, 数据库的日常维护是复杂和繁琐的, 本文仅涉及一些常见的 数据库日常维护的内容,在实际工作中,数据库管理员还需要做更多的工作。 1.2 范围 本文档使用的人员:数据库维护管理人员和相关人员。 本文档涉及内容: oracle 数据库的 日常维护与管理解决方案。 1.3 参考资料 中国电信网络视频监控技术(暂行)规范 2 日常维护与管理说明 2.1 运行环境 程序的运行环境包括硬件运行环境和软件运行环境。 2.1.1 硬件环境 Intel 及其兼容系列 CPU 剩余内存要达2G 以上 剩余硬盘容量要达 1G 以上 100 M 网卡 2.1.2 软件环境 CPU 类型: 内存容量: 硬盘容量: 网卡类型:

: RedHatLinuxAS3.0 Oracle9iDatabaseRelease2forLinuxx86 2.2数据库日常维护 数据库的日常维护工作主要包括管理员每日的工作内容, 每周的工作内容以 及每月的工作内容。 2.2.1数据库初始设置 基于数据安全性的考虑,需要对数据库进行如下的初始设置。 1数据库设为归档模式 1) 以管理员身份连接数据库 SQL>>connectsys/sys@数据库例程 SIDassysdba 2) 察看数据库是否处于存档模式 SQL>>archiveloglist 说明:该命令会提示以下信息,注意灰色部分显示的状态。 DatabaselogmodeNoArchiveMode AutomaticarchivalDisabled Archivedest in ati on Oldest on li nelogseque nce31 Curren tlogseque nce33 3) 如果处于非归档模式则设为归档模式 SQL>>shutdow nimmediate; SQL>>start upmount; SQL>>alterdatabaseachivelog; 4) 如果处于非自动归档状态则设为自动归档 SQL>>altersystemsetlog_archive_start=TRUESC OP E=s pfile; 5重新启动数据库 SQL>>shutdow nimmediate; SQL>>startu p; 2控制文件设置 每一个数据库都必须有一个控制档。它是一个小型二进制档案,用来描述 Oracle9i 实体结构。主要是储存数据库名称,数据库建立时间,资料文件名称 与所在位置,重置日志文件名称与所在位置,目前的日志序列码 (logsequeneenumber ),检查点信息。因此开启Oracle9i 数据库时一定要读取控 制文件才能取得所有数据库实体档案相关信息。 一旦控制文件不幸毁损,数据库 便无法顺利开启。也因为如此,控制档的管理与维护工作显得格外重要。 通常的设置建议为:每个数据库最好拥有两个以上控制档,并各自存放在不 同磁盘上。系统默认有三个控制文件 controlOl.ctI , control02.ctl , con trol03.ctl 。 如果需要增加更多的控制文件,最简单的方式就是先将既有控制文件复制到 目的位置,然后将控制文件名称加入起始参数档的 CONTROLFILE 之中()。同 理,如果想更改控制档名称,也可以先将控制文件复制到目的位置后予以更名, 再更新操作系统: 数据库:

oracle操作常见错误

1.[Err] ORA-02438: Column check constraint cannot reference other columns ORA-02438: 列检查约束条件无法引用其它列 --通常可能是constraint 拼写错误 2. [Err] ORA-02250: missing or invalid constraint name 约束条件名缺失或者无效。 比如: alter table tbl_school add s_level number(7) constraint unique; //错误的 ====add s_level number(7) unique; 正确的 4. [Err] ORA-01861: literal does not match format string ORA-01861: 文字与格式字符串不匹配 比如: insert into tbl_school(id,s_name,address,establish_time,style) values(1,'清华','北京','1976-05-05','理'); 日期的输入,要有固定的格式 =====values(1,'清华','北京',to_date('1976-05-01','rrrr-mm-dd'),'理'); 5:select index_name,table_name from user_indexes Where table_name=’s_emp’; 提示错误:为选定行。 ‘’里面的就变成了字符串,是区分大小写的, select index_name,table_name from user_indexes Where table_name=’S_EMP’; 6:Ora-02290【】违反检查约束条件 可能原因:check里面出错,在传值的时候,出现乱码了,只能重建表

Oracle数据库安全配置手册

Oracle数据库安全配置手册 Version 1.0

版本控制

目录 第一章目的与范围 (1) 1.1目的 (1) 1.2适用范围 (1) 1.3数据库类型 (1) 第二章数据库安全规范 (1) 2.1操作系统安全 (1) 2.2帐户安全 (2) 2.3密码安全 (2) 2.4访问权限安全 (2) 2.5日志记录 (3) 2.6加密 (3) 2.7管理员客户端安全 (3) 2.8安全补丁 (3) 2.9审计 (3) 第三章数据库安全配置手册 (4) 3.1O RACLE数据库安全配置方法 (4) 3.1.1 基本漏洞加固方法 (4) 3.1.2 特定漏洞加固方法 (12)

第一章目的与范围 1.1 目的 为了加强宝付的数据安全管理,全面提高宝付各业务系统的数据安全水平,保证业务系统的正常运营,提高业务服务质量,特制定本方法。 本文档旨在于规范宝付对各业务系统的Oracle数据库进行安全加固处理。 1.2适用范围 本手册适用于对宝付公司的各业务系统的数据库系统加固进行指导。 1.3数据库类型 数据库类型为Oracle 11g。 第二章数据库安全规范 2.1 操作系统安全 要使数据库安全,首先要使其所在的平台和网络安全。然后就要考虑操作系统的安全性。Oracle使用大量用户不需要直接访问的文件。例如,数据文件和联机重做日志文件只能通过Oracle的后台进程进行读写。因此,只有要创建和删除这些文件的数据库管理员才需要在操作系统级直接访问它们。导出转储文件和其他备份文件也必须受到保护。可以把数据复制到其他数据库上,或者是作为复制模式的一部分,或者是提供一个开发数据库。若要保护数据的安全,就要对数

oracle常见等待事件及处理方法

我们可以通过视图v$session_wait来查看系统当前的等待事件,以及与等待事件相对应的资源的相关信息 看书笔记db file scattered read DB ,db file sequential read DB,free buffer waits,log buffer space,log file switch,log file sync 我们可以通过视图v$session_wait来查看系统当前的等待事件,以及与等待事件相对应的资源的相关信息,从而可确定出产生瓶颈的类型及其对象。v$session_wait的p1、p2、p3告诉我们等待事件的具体含义,根据事件不同其内容也不相同,下面就一些常见的等待事件如何处理以及如何定位热点对象和阻塞会话作一些介绍。 <1> db file scattered read DB 文件分散读取(太多索引读,全表扫描-----调整代码,将小表放入内存) 这种情况通常显示与全表扫描相关的等待。当全表扫描被限制在内存时,它们很少会进入连续的缓冲区内,而是分散于整个缓冲存储器中。如果这个数目很大,就表明该表找不到索引,或者只能找到有限的索引。尽管在特定条件下执行全表扫描可能比索引扫描更有效,但如果出现这种等待时,最好检查一下这些全表扫描是否必要。因为全表扫描被置于LRU(Least Recently Used,最近最少适用)列表的冷端(cold end),所以应尽量存储较小的表,以避免一次又一次地重复读取它们。 ================================================== 该类事件的p1text=file#,p1是file_id,p2是block_id,通过dba_extents即可确定出热点对象(表或索引) select owner,segment_name,segment_type from dba_extents

Oracle实验一--数据库安全管理

实验一数据库安全管理 实验内容 1、创建用户、角色 根据下表的要求 1)建立角色; 2)为角色分配权限; 3)建立密码管理和资源限制Profile文件; 4)建立用户; 5)为用户分配角色; 6)用户登录,执行相应的SQL操作。 由系统管理员(admin)创建以下数据表:课程信息表CourseInfo,排课信息表ClassInfo,部门代码表DepartmentInfo,教师信息表TeacherInfo,学生信息表StudentInfo,选课信息表SelectiveInfo,保存在系统管理员的schema中。请按照文档lab1_DataModel.doc的表结构创建表。 三次登录 失败,锁 定账户; 使用30天 后需要 更改密 码; 旧密码过 期后100 天内不 SESSION S_PER_USER=UNLIMI TED CPU_PER _SESSION=UNLIMITE D

角色:CONNECT 对象权限: 查看学生信 息 查看教师信 息 更新教师信 息 查看排课记 录 更新和查看 选课信息 中成绩 列,学号 列以及班 级列记录 查看院系代 码信息 登 录时修 改密码; SESSION S_PER_USER=2 IDLE_TI ME=30 CONNECT _TIME=60 角色:CONNECT 对象权限: 查看学生信 登 录时修 改密码; SESSION S_PER_USER=1 IDLE_TI ME=20 CONNECT _TIME=30

息 看课程信 息 看选课信 息 实验步骤如下: 运行SQL*Plus工具,sys用户以SYSDBA特权登录,输入口令abc123。 1、ADMIN 操作步骤一:创建表空间ADMIN 指定该表空间内的表在加载数据时是否产生日志,默认为产生日志(LOGGING),指明数据文件的路径与名字,表空间的大小,最后指定表空间的扩展方式是本地化管理EXTENTMANAGEMENTLOCAL,段空间的管理方式为自动SEGMENTSPACEMANAGEMENTAUTO。 操作步骤二:创建概要文件ADMINPROFILE来对数据库用户进行资源限制和密码管理 限制用户在一次数据库会话期间可以使用的CPU时间为UNLIMITED,用户可打开的并发会话的最大数目为UNLIMITED,指定用户三次登录失败后锁定账户,设置使用一个特定密码的时间限制为30天,指定可重新使用密码前要经过100天。 操作步骤三:创建ADMIN用户 设置ADMIN用户密码为admin,指定其概要文件为ADMINPROFILE,标志用户所创建对象的默认表空间为admin,用户的临时段表空间为temp,限制表空间存储对象为1M。并授予ADMIN用户DBA权限。 操作步骤四:以AMDIN身份登录,执行lab1.sql脚本文件创建数据表。 2、TEACHER 操作步骤一:创建表空间TEACHER 操作步骤二:创建角色TEACHER 该角色使用非验证方式。将CONNECT角色授予TEACHER,给TEACHER角色授予查看学生信息,查看更新教师信息,查看排课记录,查看选课信息,更新选课信息中的成绩列、学号列和班级列记录,查看院系代码信息的权限。 操作步骤三:创建概要文件TEACHERPROFILE

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 mount SQL> 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数据库的初始密码。 问题3:表空间不足而引发错误怎么办? 解决方法如下: oracle表空间不足,一般有两个原因:

ORACLE数据库常见问题诊断方法(内部错误篇)-20021224-A2

ORACLE数据库常见问题诊断方法 (内部错误篇) ORACLE的错误各种各样,包括应用错误、一般错误、内部错误等,前面两类错误在ORALCE的文档中有说明,但内部错误没有相应的文档说明,只是请求报告ORACLE技术支持,本文档主要讨论ORACLE的内部错误,且这些内部错误在ICD中经常出现,仅供参考。 内部错误一般为格式为ORA-00600或ORA-006XX,其中前者最普遍,后者较少见,ORA-600中的第一个变量用于标记代码中错误的位置,第二个到第五个变量显示附加信息,例如文件号、函数号等具体信息。 1ORA-00600【12330】错误 特征:数据库告警日志中经常有这个错误及相应的trace文件 原因:用户异常中断操作或客户端字符集与SERVER端字符集不一致 措施:如果偶尔出现,则为用户异常中止,例如代理或应用服务器的断连,有时会产生这个错误;如果经常出现,则为客户端与服务端字符集不一致。 客户端的字符集在注册表里定义: HKEY__LOCAL__MACHINE/SOFTWARE/ORACLE/NLS__LANG 2ORA-00604【xxx】错误 特征:在分析SQL语句时,查询数据字典表发生错误 原因:这类错误一般与内存管理有关,有可能是由于内存泄漏导致该错误 措施:如果偶尔出现,适当加大SHARE_POOL_SIZE;如果经常出现,则需要打相应的补丁。 3ORA-00600【3339】错误 特征:数据冲突,包括:块格式冲突、非法索引入口 原因:oracle系统本身bug;操作系统或介质故障 措施:ORACLE升级或打补丁;检查硬件故障 4ORA-00600【13004】错误 特征:逻辑冲突,例如查询返回错误的数据等 原因:oracle系统本身bug; 措施:ORACLE升级或打补丁;

Oracle数据库全部错误一览表

Oracle数据库全部错误一览表 ORA-00001: 违反唯一约束条件 (.) ORA-00017: 请求会话以设置跟踪事件 ORA-00018: 超出最大会话数 ORA-00019: 超出最大会话许可数 ORA-00020: 超出最大进程数 () ORA-00021: 会话附属于其它某些进程;无法转换会话ORA-00022: 无效的会话 ID;访问被拒绝 ORA-00023: 会话引用进程私用内存;无法分离会话ORA-00024: 单一进程模式下不允许从多个进程注册ORA-00025: 无法分配 ORA-00026: 丢失或无效的会话 ID ORA-00027: 无法删去当前会话 ORA-00028: 您的会话己被删去 ORA-00029: 会话不是用户会话 ORA-00030: 用户会话 ID 不存在。 ORA-00031: 标记要删去的会话 ORA-00032: 无效的会话移植口令

ORA-00033: 当前的会话具有空的移植口令 ORA-00034: 无法在当前 PL/SQL 会话中 ORA-00035: LICENSE_MAX_USERS 不能小于当前用户数 ORA-00036: 超过递归 SQL () 级的最大值 ORA-00037: 无法转换到属于不同服务器组的会话 ORA-00038: 无法创建会话: 服务器组属于其它用户 ORA-00050: 获取入队时操作系统出错 ORA-00051: 等待资源超时 ORA-00052: 超出最大入队资源数 () ORA-00053: 超出最大入队数 ORA-00054: 资源正忙,要求指定 NOWAIT ORA-00055: 超出 DML 锁的最大数 ORA-00056: 对象 '.' 上的 DDL 锁以不兼容模式挂起 ORA-00057: 超出临时表锁的最大数 ORA-00058: DB_BLOCK_SIZE 必须为才可安装此数据库 (非 ) ORA-00059: 超出 DB_FILES 的最大值 ORA-00060: 等待资源时检测到死锁 ORA-00061: 另一个例程设置了不同的 DML_LOCKS ORA-00062: 无法获得 DML 全表锁定;DML_LOCKS 为 0

Oracle数据库安全配置规范

O r a c l e数据库 安全配置规范 S p e c i f i c a t i o n f o r O r a c l e D a t a b a s e C o n f i g u r a t i o n U s e d i n C h i n a M o b i l e

目录 1概述 (3) 1.1适用范围 (3) 1.2内部适用性说明 (3) 1.3外部引用说明 (4) 1.4术语和定义 (4) 1.5符号和缩略语 (4) 2ORACLE安全配置要求 (4) 2.1账号 (5) 2.2口令 (9) 2.3日志 (13) 2.4其他 (16)

1概述 1.1适用范围 本规范适用于通信网、业务系统和支撑系统的Oracle数据库。本规范明确了Oracle 数据库安全配置方面的基本要求。 1.2内部适用性说明 本规范是在《设备通用设备安全功能和配置规范》(以下简称《通用规范》)各项设备配置要求的基础上,提出的Oracle数据库安全配置规范。以下分项列出本规范对《通用规范》设备配置要求的修订情况。 本规范新增的安全配置要求,如下: 安全要求-设备-ORACLE-配置-3 安全要求-设备-ORACLE-配置-9 安全要求-设备-ORACLE-配置-10-可选 安全要求-设备-ORACLE-配置-11

安全要求-设备-ORACLE-配置-12 安全要求-设备-ORACLE-配置-13 安全要求-设备-ORACLE-配置-14-可选 安全要求-设备-ORACLE-配置-15-可选 安全要求-设备-ORACLE-配置-19-可选 安全要求-设备-ORACLE-配置-20 安全要求-设备-ORACLE-配置-21 安全要求-设备-ORACLE-配置-22-可选 安全要求-设备-ORACLE-配置-23-可选 安全要求-设备-ORACLE-配置-24 1.3外部引用说明 《通用安全功能和配置规范》 1.4术语和定义 1.5符号和缩略语 2ORACLE安全配置要求 本规范所指的设备为ORACLE数据库。本规范提出的安全配置要求,在未特别说明的情况下,均适用于ORACLE数据库。 本规范从ORACLE数据库的认证授权功能、安全日志功能,和其他自身安全配置功能提出安全要求。

Oracle常见错误代码的分析与解决

Oracle常见错误代码的分析与解决 作者:chensheng 发文时间:2005.06.15 在使用ORACLE的过程中,我们会经常遇到一些ORACLE产生的错误,对于初学者而言,这些错误可能有点模糊,而且可能一时不知怎么去处理产生的这些错误,本人就使用中出现比较频繁的错误代码一一做出分析,希望能够帮助你找到一个合理解决这些错误的方法,同时也希望你能够提出你的不同看法。毕竟作为一种交流的手段,个人意见难免过于偏颇,而且也必定存在着不足,出错之处在所难免。写这篇文章的目的就是想通过相互之间的交流共同促进,共同进步。 ORA-01650: unable to extend rollback segment NAME by NUM intablespace NAME 产生原因:上述ORACLE错误为回滚段表空间不足引起的,这也是ORACLE数据管理员最常见的ORACLE错误信息。当用户在做一个非常庞大的数据操作导致现有回滚段的不足,使可分配用的回滚段表空间已满,无法再进行分配,就会出现上述的错误。 解决方法:使用“ALTER TABLESPACE tablespace_name ADD DATAFILE filename SIZE size_of_file”命令向指定的数据增加表空间,根据具体情况可以增加一个或多个表空间。当然这与还与你主机上的裸盘设备有关,如果你主机的裸盘设备已经没有多余的使用空间,建议你不要轻意增加回滚段表空间的大小,可使用下列语句先查询一下剩余的tablespace空间有多少: select user_name,sql_text from V$open_cursor where user_name=''; 如果多余的空间比较多,就可以适当追加一个大的回滚段给表空间使用,从而避免上述的错误。你也可以用以下语句来检测一下rollback segment的竞争状况: 和

编写SQL语句时常见的10种错误-推荐下载

Java开发者编写SQL语句时常见的10种错误 Java开发者对于面向对象编程思维与命令行编程思维的协调程度, 取决于他们如下几种能力的水平: 1.技巧(任何人都可以编写命令行形式的代码) 2.教条(有的人使用“模式 - 模式”的方式,即模式无处不在, 并以名字作为标识) 3.情绪状况(在初期,真正面向对象形式的代码比起命令式代码 会更加难懂。) 但是,当Java开发人员编写SQL语句时,一切都变得不同了。SQL 是一种说明式语言,与面向对象思想和命令式思想无关。在SQL语 言中,查询非常容易表达。但它也不是那么容易以最佳或最正确地

方式编写出来。开发人员不仅需要重新思考自己的编程模式,还需要从集合论的角度进行深入思考。 以下是Java开发人员使JDBC或jOOQ编写SQL语句时,几种常见的错误(排名不分先后) 1.忘记了NULL 误解NULL的含义可能是Java开发人员编写SQL最常犯的错误。这有可能是因为NULL也被称为UNKNOWN,但也有其他的原因。当然如果它只被叫做UNKNOWN,会更容易理解一些。另一个原因是,JDBC 在获取数据,或绑定变量时,SQL中的NULL被映射到Java中的null。这可能会导致人们认为类似Java中null==null的情况,SQL 中也存在NULL= NULL。 一个更离奇的误解NULL的例子是,当NULL谓词用于行值表达式时。另一个微妙的问题产生与对NOTIn 反连接中NULL含义的误解。 解决办法 不断的训练自己。要时刻明确NULL的含义,每次你写SQL时,都要考虑: 对于NULL来说谓词是否正确?

NULL是否影响该函数的结果? 2.在Java内存中处理数据 一些Java开发者十分了解SQL特性。偶尔JOIN,零散的UNION,没什么问题。但如果遇到视窗功能,结果集分组等情况又怎么样呢?很多Java开发人员会把SQL数据加载到内存,把数据转换成一些适合的集合类型,以十分冗长的循环结构在集合上执行恼人数学运算(至少在Java 8改进容器之前是这样的)。 但一些SQL数据库除了支持SQL标准外,还支持先进的OLAP特性,执行效率更好,且更容易编写。一个非标准的例子就是甲骨文的MODEL子句。只是让数据库进行数据处理过程,将最终获取的结果加载到Java内存中。因为一些非常聪明的人已经优化了这些昂贵的产品。所以,事实上,通过向OLAP数据库上进行迁移,您将得到两个好处: 1.简洁。它可能使得在SQL中编写正确代码会比在Java中相对 容易 2.性能。该数据库将可能比你的算法要快。更重要的是,你不必 再通过网络传输数百万条记录。 解决办法

相关主题