★数据库
黑衣者
这个作者很懒,什么都没留下…
展开
-
Oracle中 NOT IN 优化
针对一个 NOT IN 语句:SELECT OBJECT_ID FROM HSP_OBJECT T WHERE T.OBJECT_ID NOT IN ( SELECT DISTINCT FORM_ID FROM HSP_FORM TT )ORDER BY T.OBJECT_ID;如果数据量不大,那么没有问题。但是数据量过大的时候,NOT IN 效率差的特点会十分明显。此原创 2017-02-28 14:21:21 · 17856 阅读 · 0 评论 -
ora-27101: shared memory realm does not exist解决办法
PS:本文的解决办法,首先看了 Oracle Start Up 2 Oracle 框架构件、启动、解决一个问题的最后一部分-----知道了oracle进程完全启动大概有几百兆再就是根据 提示ORA-03113:通信通道的文件结尾解决 的步骤,最终解决问题正文:用PLSQL登录oracle,突然报错:粘贴报错内容:ERROR: ORA-01034: ORA转载 2015-04-28 11:13:21 · 17899 阅读 · 1 评论 -
ORA-12520: TNS:监听程序无法为请求的服务器类型找到可用的处理程序解决
问题描述:用 PLSQL 登录 oracle 数据库报错,提示:ORA-12520: TNS:监听程序无法为请求的服务器类型找到可用的处理程序,截图如下:远程oracle服务器端,Sqlplus登陆oracle,也报错:ORA-00020:maximum number of processes (300) exceeded,截图如下:原创 2017-06-21 16:11:04 · 25522 阅读 · 1 评论 -
oracle报错1-12C-ora-00600-[kpp_concatq:2]
1.问题说明:在Oracle 12C,select查询的sql语句中视图过多时(目前只发现此情况),执行sql语句可能会报错:ora-00600 [kpp_concatq:2]在PLSQL上select偶尔会报;BIEE的分析也出现此问题(分析加了过滤器之后,即使有数据,也可能会报错);2.查错:oracle关于此错误的官方回复是bug: bug ID:20985596转载 2016-06-07 17:16:08 · 6900 阅读 · 3 评论 -
oracle_建表并指定字段和描述
---建表CREATE TABLE tablename( ID1 VARCHAR2(50) NOT NULL, ID2 INTEGER NOT NULL, SPARE_FIELD_1 NUMBER(28,10), SPARE_FIELD_2 NUMBER(28,10),原创 2016-04-29 17:05:47 · 8219 阅读 · 0 评论 -
oracle_日期维度表插入数据
---------------------------------------天-------------------------------------------------------------INSERT INTO DIM_PERIOD SELECT TO_NUMBER(TO_CHAR(CURRDATE, 'YYYYMMDD')) AS PERIOD_ID, '天原创 2016-04-29 17:01:13 · 558 阅读 · 0 评论 -
oracle 新建用户
--临时表空间create temporary tablespace TS_TEMP_BIDMtempfile 'D:\app\oracle\oradata\dwdb\TS_TEMP_BIDM.dbf' size 100m autoextend on next 250m maxsize unlimited extent management local;原创 2016-04-29 17:00:02 · 306 阅读 · 0 评论 -
Oracle存储过程发送邮件--1--创建ACL
--------------------sys用户登录--------------------如果不创建ACL,可能会报错:--------------------ORA-24247 网络访问被访问控制列表 (ACL) 拒绝begin dbms_network_acl_admin.create_acl ( -- 创建访问控制文件(ACL) acl原创 2016-03-09 13:59:15 · 694 阅读 · 0 评论 -
SqlServer获取当前日期
1. 获取当前日期select GETDATE()2. 获取当前年 --2017select DATENAME(YYYY,GETDATE()) --2017select DATENAME(YEAR,GETDATE()) --2017select DATEPART(YYYY,GETDATE()) --2017select DATEPART(YEAR,GETDAT原创 2017-05-12 16:35:26 · 99186 阅读 · 0 评论 -
Oracle批量插入1到1千万数据
需求:往表 A 中的某个字段插入1-10000000.可以想见,应该是用存储过程,循环插入。另,可以每10000条提交一次。代码:CREATE OR REPLACE PROCEDURE p_insert_partIS--批量提交参数num NUMBER;begin num := 0; for i in 1 .. 10000000 loop原创 2017-02-28 14:46:54 · 9807 阅读 · 1 评论 -
oracle的exp和imp、expdp、impdp
1.exp:功能:导出oracle用户所有信息,包括表、视图、存储过程等。语句:exp username/password@tns名 file=D:\exp_user.dmp log=D:\exp_user.log解释:username:要导出的oracle用户名;password:username用户的密码;tns名:username所在的库,在tnsname转载 2015-05-21 17:05:51 · 654 阅读 · 0 评论 -
Oracle-----Update语句优化之merge into
之前一个存储过程执行速度随着数据量的增加而越来越慢,当处理的数据量达到10万多时,需要时间在十几个小时以上,让人很是苦恼;后来在网上查资料,发现UPDATE语句是比较耗时的一个过程,而我的存储过程里UPDATE语句就有好几个,而且每个都要处理十多万条记录,而且都涉及子查询,关联的表有三四张这样,网上说这个时候需要用游标或者MERGE来实现;-------------------------原创 2015-08-19 14:59:14 · 6981 阅读 · 1 评论 -
SqlServer--bat批处理执行sql语句2-sqlcmd
首先需要知道,此处使用的批处理命令是osql ,如果按照了SqlServer,目录类似:D:\Program Files\Microsoft SQL Server\100\Tools\Binn脚本:cd D:\Program Files\Microsoft SQL Server\100\Tools\Binnd:sqlcmd -S ip -d dbname-Uusername原创 2017-01-16 17:07:27 · 4577 阅读 · 0 评论 -
SqlServer--bat批处理执行sql语句1-osql
首先需要知道,此处使用的批处理命令是osql ,如果按照了SqlServer,目录类似:D:\Program Files\Microsoft SQL Server\100\Tools\Binn脚本:cd D:\Program Files\Microsoft SQL Server\100\Tools\Binnd:osql -S ip -d dbname-U usernam原创 2017-01-16 16:55:18 · 6394 阅读 · 0 评论 -
SqlServer--将存储过程的结果集写入一张表中
存储过程内容:USE [middle]GO/****** Object: StoredProcedure [dbo].[p_test000000001] Script Date: 01/16/2017 15:19:52 ******/SET ANSI_NULLS ONGOSET QUOTED_IDENTIFIER ONGOALTER procedure [d原创 2017-01-16 16:37:29 · 16942 阅读 · 3 评论 -
SqlServer-dblink相关1
1:新建dblink在目标sqlserver 执行以下语句:IF NOT EXISTS ( SELECT srv.name FROM sys.servers srv WHERE srv.server_id != 0 AND srv.name = N'Da原创 2017-01-16 16:31:26 · 508 阅读 · 0 评论 -
Oracle存储过程发送邮件--3--发送邮件过程
CREATE OR REPLACE PROCEDURE P_02_SENDEMAIL(P_TXT VARCHAR2, P_SUB VARCHAR2, P_SENDOR VARCHAR2,原创 2016-03-09 14:03:03 · 405 阅读 · 0 评论 -
Oracle存储过程发送邮件--2--邮件内容服务器等信息
CREATE OR REPLACE PROCEDURE P_01_SENDEMAIL_FAILD_01(SP_NAME IN NVARCHAR2) IS /* p_txt :邮件正文 p_sub: 邮件标题 p_SendorAddress : 发送人邮件地址 p_ReceiverAddress : 接收地址,可以同时发送到多个地址上,地址之间用","或者";"隔开原创 2016-03-09 14:01:53 · 884 阅读 · 0 评论 -
linux系统重启oracle
1.启动、或停止监听lsnrctl start 或lsnrctl stop2.数据库实例sqlplus / as sysdbaSQL>startup或SQL>shutdown immediate3.启动、或停止ememctl start dbconsole原创 2016-02-03 11:33:50 · 440 阅读 · 0 评论 -
oracle利用序列和触发器使字段自增
create table NET_TRANDATE_CHECK( trandate_no VARCHAR2(80), check_date VARCHAR2(80))--- 序列 701开始 每次自增1CREATE SEQUENCE SQ_NET_TRANDATE_CHECKINCREMENT BY 1START WITH 701NOCYCL原创 2015-12-21 14:59:53 · 423 阅读 · 0 评论 -
Oracle temp表空间爆满的处理方法
转载http://www.blogjava.net/japper/archive/2012/06/28/381721.html1:查看TEMP 表空间使用情况:SELECT * FROM DBA_TEMP_FREE_SPACE-- SELECT * FROM DBA_FREE_SPACE 查看表空间使用情况查看临时表空间:select tablespa原创 2015-12-16 18:16:00 · 8934 阅读 · 0 评论 -
Plsql问题及技巧汇总
1. 自定义设置Oracle主目录:工具---首选项---连接---Oracle主目录:F:\Software\Oracle\for_win7\Oracle_instantclient_11_22. 登陆时数据库下拉为空:原因是之前安装过oracle客户端但是卸载不干净造成的。修改环境变量 TNS_ADMIN 的值即可,修改为tns文件的目录:F:\Software\Ora原创 2017-09-01 09:56:38 · 500 阅读 · 0 评论