工作中点滴记录

永远保持学徒心态

  博客园 :: 首页 :: 新随笔 :: 联系 :: 订阅 :: 管理 ::

随笔分类 -  数据库

1 2 下一页

摘要:触发器无需commit也不能写commit触发器和触发它的DML是同一个事务DML提交了,触发器的操作也提交了,要不就一起回滚了当然,如果你一定要在触发器里写COMMIT那就用自治事务相当于一个事务里的子事务 正常情况下,Oracle规定在触发器中不能运行 ddl语句和commit,rollback 阅读全文
posted @ 2016-08-17 23:43 梦里故乡 阅读(6334) 评论(0) 推荐(0)

摘要:"ORA-01654: 索引VGSM.AUDIT_DATA_I无法通过8192(在表空间KLDB中)扩展" 1.有可能是索引表空间不够 select sum(bytes/1024/1024) sizeMB from dba_free_space z where z.tablespace_name=' 阅读全文
posted @ 2016-02-16 13:39 梦里故乡 阅读(17274) 评论(0) 推荐(0)

摘要:create database link lims_qumas_supplyconnect to QPROCESSDEV identified by qprocessdevusing '(DESCRIPTION=(ADDRESS_LIST=(ADDRESS=(PROTOCOL=TCP)(HOST=1... 阅读全文
posted @ 2016-01-15 08:56 梦里故乡 阅读(431) 评论(1) 推荐(0)

摘要:ORA-12571:TNS:包复写器失效2007-05-28 22:04ORA-12571:TNS:包复写器失效近日一直在做Oracle数据库的搭建(入门),在搭建过程中遇到“ORA-12571:TNS:包复写器失效”这个错误,产生错误的情况如下:情况1:环境配置:Win2000 Server、Or... 阅读全文
posted @ 2015-07-26 13:42 梦里故乡 阅读(7070) 评论(0) 推荐(0)

摘要:1.问题起源 oracle数据库字段值为小于1的小数时,使用char类型处理,会丢失小数点前面的0 例如0.2就变成了.22.解决办法:(1)用to_char函数格式化数字显示 select to_char(0.338,'fm9999999990.00') from dual; 结果:0.34 这里... 阅读全文
posted @ 2015-07-22 20:38 梦里故乡 阅读(6608) 评论(0) 推荐(0)

摘要:System.TimeoutException: 请求通道在等待 00:01:00 以后答复时超时。增加传递给请求调用的超时值,或者增加绑定上的 SendTimeout 值。分配给此操作的时间可能是更长超时的一部分。.net webService 中:设置这些参数,延长连接时间,closeTimeo... 阅读全文
posted @ 2014-10-23 10:08 梦里故乡 阅读(7949) 评论(0) 推荐(1)

摘要:一、 常用日期数据格式1.Y或YY或YYY 年的最后一位,两位或三位SQL> Select to_char(sysdate,'Y') from dual;TO_CHAR(SYSDATE,'Y')--------------------7SQL> Select to_char(sysdate,'YY'... 阅读全文
posted @ 2014-10-21 11:46 梦里故乡 阅读(337) 评论(0) 推荐(0)

摘要:Oracle存储过程,经常会遇见传入的参数是逗号分隔。处理需要3步:第一步,创建Type类型第二部,创建函数第三部,创建存储过程代码如下:第一步:create or replace type varTableType as table of nvarchar2(40)第二步:create or ... 阅读全文
posted @ 2014-09-22 08:57 梦里故乡 阅读(13383) 评论(0) 推荐(0)

摘要:create job 语句:declarejob number;beginsys.dbms_job.submit(job,'PRODUCT;', --job要执行的工作(范例为要执行的存储过程)to_date('23-02-2012', 'dd-mm-yyyy'),'TRUNC(SYSDATE+1)'); --执行job的周期(每天凌晨零点)dbms_output.put_line(job);end;job时间周期:每天运行一次 'SYSDATE + 1'每小时运行一次 'SYSDATE + 1/24 阅读全文
posted @ 2014-03-27 13:27 梦里故乡 阅读(403) 评论(0) 推荐(0)

摘要:在一个高可用系统中,如果需要改变一个表的定义是一件比较棘手的问题,尤其是对于7×24系统。Oracle提供的基本语法基本可以满足一般性修改,但是对于把普通堆表改为分区表,把索引组织表修改为堆表等操作就无法完成了。而且,对于被大量DML语句访问的表,幸运的是,Oracle从9i版本开始提供了在线重定义表功能,通过调用DBMS_REDEFINITION包,可以在修改表结构的同时允许DML操作。在线重定义表具有以下功能:修改表的存储参数;可以将表转移到其他表空间;增加并行查询选项;增加或删除分区;重建表以减少碎片;将堆表改为索引组织表或相反的操作;增加或删除一个列。调用DBMS_REDEF 阅读全文
posted @ 2014-03-26 18:50 梦里故乡 阅读(6936) 评论(2) 推荐(2)

摘要:[转载]一、分区表:随着表的不断增大,对于新纪录的增加、查找、删除等(DML)的维护也更加困难。对于数据库中的超大型表,可通过把它的数据分成若干个小表,从而简化数据库的管理活动。对于每一个简化后的小表,我们称为一个单个的分区。对于分区的访问,我们不需要使用特殊的SQL查询语句或特定的DML语句,而且可以单独的操作单个分区,而不是整个表。同时可以将不同分区的数据放置到不同的表空间,比如将不同年份的销售数据,存放在不同的表空间,即年的销售数据存放到TBS_2001,2002年的销售数据存放到TBS_2002,依次类推,从而实现了分散存储,这将大大的简化大容量表的管理,提高查询性能及I/O并发等。对 阅读全文
posted @ 2014-03-26 18:37 梦里故乡 阅读(581) 评论(0) 推荐(0)

摘要:1、查询当前用户的所属表空间select * from user_users;2、增加表空间有两种方法: 以sysdba登陆进数据库 语法: alter tablespace 表空间名称 add datafile 表空间存放路径 size 表空间大小 autoextend on next 增长的大小 maxsize 空间最大值(如果不限制空间最大值就用unlimited) 例如: alter tablespace vgsm add datafile 'c:\oracle\product\10.2.0\oradata\vgsm\vgsm_01.dbf' size 1024M au 阅读全文
posted @ 2014-02-16 14:07 梦里故乡 阅读(55384) 评论(0) 推荐(3)

摘要:select sess.sid, sess.serial#, lo.oracle_username, lo.os_user_name, ao.object_name, lo.locked_mode from v$locked_object lo, dba_objects ao, v$session sesswhere ao.object_id = lo.object_id and lo.session_id = sess.sid;查看锁表进程SQL语句2:select * from v$session t1, v$locked_object t2 where t1.sid = t2.SESSI 阅读全文
posted @ 2014-01-21 23:32 梦里故乡 阅读(507) 评论(0) 推荐(0)

摘要:解决方式:已sysdba登陆后,进行授权grant create any sequence to [用户]创建sequence权限不足解决方法grant create trigger to[用户] 创建trigger权限不足解决方法详情如下:grant create any sequence to vgsm 创建sequence权限不足解决方法grant create trigger to vgsm 创建trigger权限不足解决方法 阅读全文
posted @ 2013-12-01 16:00 梦里故乡 阅读(1400) 评论(0) 推荐(0)

摘要:1.对查询进行优化,应尽量避免全表扫描,首先应考虑在 where 及 order by 涉及的列上建立索引。2.应尽量避免在 where 子句中对字段进行 null 值判断,否则将导致引擎放弃使用索引而进行全表扫描,如:select id from t where num is null可以在num上设置默认值0,确保表中num列没有null值,然后这样查询:select id from t where num=03.应尽量避免在 where 子句中使用!=或操作符,否则将引擎放弃使用索引而进行全表扫描。4.应尽量避免在 where 子句中使用 or 来连接条件,否则将导致引擎放弃使用索引而进 阅读全文
posted @ 2013-11-21 14:29 梦里故乡 阅读(292) 评论(0) 推荐(0)

摘要:1、查看表在那个表空间 selecttablespace_name,table_namefromuser_talbeswheretable_name='test';2、获取用户的默认表空间 selectusername,DEFAULT_TABLESPACEfromdba_userswhereusername='MXH';3、查看表空间所有的文件 select*fromdba_data_fileswheretablespace_name='USERS';4、查看表空间使用情况:SELECTtbs表空间名,sum(totalM)总共大小M,sum(u 阅读全文
posted @ 2013-09-01 21:28 梦里故乡 阅读(320) 评论(0) 推荐(0)

摘要:要求查询每个用户对应的最大样品信息,忽然想到ms sql提供过 row_number() over(partition by 列 order by 列 desc),那么oracle可能也存在,我的表结构如下:create table NEOGOODSRULE( ID NUMBER(22) not null, PERSONALID NVARCHAR2(50), CT_SMP_TYPE NVARCHAR2(100))tablespace VGSM pctfree 10 initrans 1 maxtrans 255 storage ( initial 64... 阅读全文
posted @ 2013-03-17 00:23 梦里故乡 阅读(24653) 评论(1) 推荐(2)

摘要:oracle中查询关键字 like,当我用like执行模糊查找是,发现数据量不对,表的结构如下:-- Create tablecreate table NEOERP( ID NUMBER(22) not null, PRODUCTNAME NVARCHAR2(100) default ' ', CT_SMP_SPECIFICATION NVARCHAR2(100) default ' ', TYPENAME NVARCHAR2(50), UNIT NVARCHAR2(30) ... 阅读全文
posted @ 2013-03-16 21:00 梦里故乡 阅读(4711) 评论(1) 推荐(0)

摘要:假设,我们设计一个博客系统,其中包含一个用户表users,它用来存储用户的一些信息,具体的表设计如下: CREATE TABLE USERS ( ID INT IDENTITY(1,1) NOT NULL PRIMARY KEY, USER_LOGIN VARCHAR(64), USER_PASS VARCHAR(64), USER_NICENAME VARCHAR(50), USER_EMAIL VARCHAR(100), USER_URL VARCHAR(100), USER_REGISTERED DATETIME DEFAULT GETDATE(), USER_ACT... 阅读全文
posted @ 2013-03-16 00:06 梦里故乡

摘要:select username , profile from dba_users查询密码过期策略select * from dba_profiles s where s.profile='DEFAULT'AND resource_name='PASSWORD_LIFE_TIME'修改密码永不过期ALTER PROFILE DEFAULT LIMIT PASSWORD_LIFE_TIME UNLIMITED 阅读全文
posted @ 2013-01-14 09:11 梦里故乡 阅读(216) 评论(0) 推荐(0)

1 2 下一页