随笔分类 - 数据库(Oracle)
摘要:我们一直在告诉开发人员一定要使用绑定变量,而你是否真正了解绑定变量的有缺点呢?绑定变量可以减少SQL分析,节约共享池的空间。但是在某些情况下,使用绑定变量也是有缺点的。比如说,如果使用绑定变量,那么优化器就会忽略直方图的信息,在生成执行计划的时候可能不够优化。另外一个有趣的问题是,如果一张表有几十万
阅读全文
摘要:一段SQL代码写好以后,可以通过查看SQL的执行计划,初步预测该SQL在运行时的性能好坏,尤其是在发现某个SQL语句的效率较差时,我们可以通过查看执行计划,分析出该SQL代码的问题所在。 那么,作为开发人员,怎么样比较简单的利用执行计划评估SQL语句的性能呢?总结如下步骤供大家参考: 1、 打开熟悉的查看工具:PL/SQL Developer。 在PL/SQL Developer中写好一段SQL...
阅读全文
摘要:listener.ora 是oracle服务器端的网络配置文件,oracle 根据它来配置监听服务。tnsnames.ora 类似于unix 的hosts文件,提供的tnsname到主机名或者ip的对应,只有当sqlnet.ora中类似NAMES.DIRECTORY_PATH= (TNSNAMES) 这样,也就是客户端解析连接字符串的顺序中有TNSNAMES是,才会尝试使用这个文件。
阅读全文
摘要:和导入其他数据库基本是相同的。不过oracle客户端很难用。 1.创建model时间要选择Database 2.在名为Data Model的Class视图里点右键,选择Import DB schema from ODBC source 3.然后在弹出框中的Database选择导入数据库 4.然后在新弹出框中选择[机器数据源]->[新建]->[用户数据源]->[Oracle in OraClient11g_home1] 5.[Data Source Name] 这个名称随便填、[Description] 随便填、TNS Service Name 在下拉框中选(倘若你的Oracl
阅读全文
摘要:ORA-00205: error in identifying control file, check alert log for more info翻译为:控制文件的错误,请检查警报日志中获得更多信息通过:/opt/oracle/diag/rdbms/ora11g/ora11g/alert/log.xml文件中找出实例启动日志里面会有如下信息:<msg time='2011-11-10T09:55:51.643+08:00' org_id='oracle' comp_id='rdbms'client_id='' type=
阅读全文
摘要:1.The v$locked_object View The columns of this view are: •XIDUSN: Rollback segment number •OBJECT_ID: ID of the object being modified •SESSION_ID: ID of the session locking the object •ORACLE_USERNAME •LOCKED_MODE Example To find the table name that corresponds to a particular object ID in the v$loc
阅读全文
摘要:sqlplus中执行SQL脚本 SQL>@脚本名称.sql // 脚本路径一般就是运行sqlplus的路径啦
阅读全文
摘要:一般情况下我们用的Oracle编码是UTF-8的首先我们使用的客户端securityCRT设置了字符编码 是utf8,即使Sqlplus查询正确并返回相应UTF-8格式的值也是不能正确显示滴.exportLANG=zh_CN.UTF-8(登陆时前台的编码问题)LANG变量是language的简称,这个变量是决定系统的默认语言的,即系统的菜单、程序的工具栏语言、输入法默认语言等。LANG变量清空,由于英语是无论什么情况都支持的,LANG变量被清空后,系统就默认用英语。这样设置后,在字符模式下输出的出错信息等就是全英文的了。但这种设置是临时的,只是临时改变了LANG这个bash变量而已。当退出重新
阅读全文
摘要:1、修改Oracle最大连接数的方法 a、以sysdba身份登陆PL/SQL 或者 Worksheet b、查询目前连接数 show parameter processes; c、更改系统连接数 alter system set processes=1000 scope=spfile; d、创建pf...
阅读全文
摘要:一般ORA-12516有两个原因,一个是session数不够再有一个就是客户端和服务端建立连接的时候不稳定所引起的,我现在的服务端是oracle10g r2,而客户端是oracle11i,结果当连接数大的时候,就会报ora-12516的错误解决方法:1.针对第一个原因就是修改连接数的限制 a、以sysdba身份登陆PL/SQL 或者 Worksheet b、查询目前连接数 show parameter processes; c、更改系统连接数 alter system set processes=1000 scope=spfile; d、创建pfile create pfile from sp
阅读全文
摘要:打开NETCA,配置两个监听器。LISENTER,默认监听器,一路next,就配置完毕, 监听端口1521。配置LISENTER2,注意监听端口改为1522,其它和LISENTER一致。这个时候,LISENTER已经可以使用了。 但是LISENTER2还是不行,因为Oracle只会为第一个默认的监听注册服务。在$ORACLE_HOME/NETWORK/ADMIN,编辑lisenter.ora文件...
阅读全文
摘要:注:本文讲述了oracle数据库实例连接的配置过程,三个重要的配置文件位于C:\oracle\product\10.1.0\Db_1\NETWORK\ADMIN目录下 1. sqlplus sqlnet.ora 文件格式NAMES.DIRECTORY_PATH= (TNSNAMES,HOSTNAME)。客户端就会首先在tnsnames.ora文件中找orcl的记录。如果没有相应的记录则尝试把or...
阅读全文
摘要:SQL语句是对数据库进行操作的惟一途径,对数据库系统的性能起着决定性的作用。对于同一条件下的SQL语句写法有很多,其中一些写法往往对性能又有很大影响。但是每个人掌握SQL语言的水平不同,如何才能保证写出高性能的SQL呢?针对这种情况,人工智能自动SQL优化工具应运而生。现在我就向大家介绍这样一款工具:SQL Tuning for SQL Server。1. SQL Tuning 简介SQL Tu...
阅读全文
摘要:Oracle优化器介绍 本文讲述了Oracle优化器的概念、工作原理和使用方法,兼顾了Oracle8i、9i以及最新的10g三个版本。理解本文将有助于您更好的更有效的进行SQL优化工作。 RBO优化器 RBO是一种基于规则的优化器,随着CBO优化器的逐步发展和完善,在最新的10g版本中Oracle已经彻底废除了RBO。正在使用Oracle8i或9i的人们或多或少的都会碰到RBO,因此在详细介绍CB...
阅读全文
摘要:概述索引在各种关系型数据库系统中都是举足轻重的组成部分,其对于提高检索数据的速度起至关重要的作用。在Oracle中,索引基本分为以下几种:B*Tree索引,反向索引,降序索引,位图索引,函数索引,interMedia全文索引等。 Oracle提供了大量索引选项。知道在给定条件下使用哪个选项对于一个应用程序的性能来说非常重要。一个错误的选择可能会引发死锁,并导致数据库性能急剧下降或进程终止。而如果做...
阅读全文
摘要:1、利用ORACLE NET MANAGER工具1)打开 ORACLE NET MANAGER2)增加"服务命名" 第一步 NET服务名:任意填写 第二步 通讯协议:如果连接远程机器上的ORACLE,选择TCP/IP(internet协议) 第三步 主机名:输入IP地址 端口号:一般缺省为1521 第四步 SID: 一般和数据库名字相同 第五步 测试3)启动PL/SQL连接2、直接修改配置文件:1)打开目录D:oracle安装目录ora92networkadmin中的文件tnsnames.ora。2)增加如下代码: TRAFFIC_DB = #NET服务名,可任意起 (DE
阅读全文
摘要:用pl/sql 登陆又报ORA-12154: TNS:无法解析指定的连接标志符,可是sqlplus可以正常连接 修改tnsnames.ora文件,添加了要连接的服务名配置,然后就可以正常连接。 总结:每安装一个oracle产品,pl/sql都回去安照最新的产品安装目录的tnsnames.ora,去作为它的读取文件 可以使用下面的命令,在dos下检验你的配置 1.客户端 ...
阅读全文
摘要:有时我们需要一次性执行多条sql语句,而用来更新的sql是根据实际情况用代码拼出来的解决方案是把sql拼成下面这种形式: begin update TB_VG set seq = 1, vessel_id = 'Jin14', vessel_type = 'TRACK' where batch_number = '20837' and train_id = '0233086';update TB_...
阅读全文
摘要:TO_DATE格式(以时间:2007-11-02 13:45:25为例) Year: yy two digits 两位年 显示值:07 yyy three digits 三位年 显示值:007 yyyy four digits 四位年 显示值:2007 Month: mm number 两位月 显示值:11 mon abbreviated 字符集表示 显示值:11月,若是英文版,显示nov mon...
阅读全文
摘要:以前碰到的一个表,存储时间按照周为单位存储,而却需要按照天为单位使用。为了减少程序复杂度,便增加了多层查询,提高Sql查询结果可用性。select (week_no-week_start)*7+week_day-week_day_start pp, dateadd(day,(week_no-week_start)*7+week_day-week_day_start,Month) the_day, * from ( select case DatePart(w,Month) when 7 then 1 else DatePart(w,Month)+1 end as week_day_start,
阅读全文