SUMSEN

Oracle&Sql爱好者,用友NC管理员

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

随笔分类 -  ORACLE

上一页 1 2 3 4 5 6 下一页

TRIGGER
摘要:checkpoint 和 commit没什么关系checkpoint为了保证数据一致性,在下面情况下触发写事件:a 手工checkpoint,alter system checkpointb alter tablespace offline/begin backup;c 正常shutdown数据库写事件就是它会将数据文件头和控制文件中写入同一个id,以便于在数据库打开时,通过id知道数据库是否需要恢复而commit只是当数据提交后,触发将redo buffer写入redo file的事件,从而能在恢复时用到日志文件内容也就是说commit之后没有写入到datafile,如果insert 了一条 阅读全文
posted @ 2013-01-13 15:10 sumsen 阅读(6481) 评论(0) 推荐(0)

摘要:Oracle的主要文件类型有三种,分别是控制文件,数据文件和日志文件;日志文件记录了对数据库的所有操作记录,提供了一个恢复机 制,oracle将数据写入数据文件之前,需要将修改过的内容写入redo日志文件,oracle推荐最少存在两个日志文件组,每个组中存在两个或更多的 成员文件;LGWR进程根据日志组循环写,日志组的中的文件成员大小是一致的,并分配(LSN)log sequence number;当写满一个文件组的时候,Oracle会触发一个log switch切换到另一个日志组,将LSN号码加一,同时引发check point,DBWR进程将修改过的数据写入磁盘上的数据文件中;触发lgwr 阅读全文
posted @ 2013-01-12 14:33 sumsen 阅读(574) 评论(0) 推荐(0)

摘要:前面的博客实验做了sqlldr load,那个是导入外部的excel(txt)到oracle数据库,如果不需要导入到oracle,仅仅是访问(当做外部表),可以使用oracle_loader。1,创建目录directory sys下SYS@ncbeta>create or replace directory su as 'd:\tbt'; --su是目录名目录已创建。SYS@ncbeta>select owner,DIRECTORY_NAME,DIRECTORY_PATH from dba_directories;上述命令可以看到所有的directorySYS@nc 阅读全文
posted @ 2013-01-07 11:15 sumsen 阅读(2227) 评论(0) 推荐(0)

摘要:undo回滚段原理图1,看undo的parameterundo_management 是auto(还有manual),自动模式下需要撤销表空间undo_tablespace(UNDOTBS1),manual下不是这样,manual手工下需要手工建立回滚rollback。2,SCOTT@sen>select tname from tab; 删除表empSCOTT@sen>delete emp;已删除14行。没有commit的时候可以直接rollback(DML语句需要显示提交,但是这时候select会没有数据)如果commit了,使用回滚段处理SCOTT@sen>select 阅读全文
posted @ 2012-12-27 11:56 sumsen 阅读(364) 评论(0) 推荐(0)

摘要:可以参考:http://www.2cto.com/database/201206/136574.htmlSQL> select name,log_mode from v$database;NAME LOG_MODE--------- ------------JSCE NOARCHIVELOGSQL> archive log list数据库日志模式 非存档模式自动存档 禁用存档终点 USE_DB_RECOVERY_FILE_DEST最早的联机日志序列 117当前日志序列 119SQL> s... 阅读全文
posted @ 2012-12-20 20:55 sumsen 阅读(733) 评论(0) 推荐(0)

摘要:1,>select s.sid,s.serial#,s.username,p.spid from v$session s,v$process p where s.paddr=p.addr and s.username is not null ;这里 ncv5的 sid和serial#这是针对当前窗口的当前会话,ncv5即使在当前窗口,但是exit重新登陆(事件结束),还是会变。2,show parameter sql_trace;oracle对sql的跟踪都是关闭的3,打开针对特定用户的特定对话sql跟踪,是一个存储过程execute dbms_system.set_sql_trace_ 阅读全文
posted @ 2012-12-13 20:55 sumsen 阅读(1804) 评论(0) 推荐(0)

摘要:http://article.pchome.net/content-340501.html近段时间很多网友提出监听配置相关问题,客户终端(Client)无法连接服务器端(Server)。本文现对监听配置作一简单介绍,并提出一些客户终端无法连接服务器端的解决思路,愿对广大网友与读者有一些帮助。一、监听器(LISTENER) 监听器是Oracle基于服务器端的一种网络服务,主要用于监听客户端向数据库服务器端提出的连接请求。既然是基于服务器端的服务,那么它也只存在于数据库服务器端,进行监听器的设置也是在数据库服务器端完成的。二、本地服务名(Tnsname) Oracle客户端与服务器端的连接是通.. 阅读全文
posted @ 2012-12-07 14:12 sumsen 阅读(332) 评论(0) 推荐(0)

摘要:http://blog.csdn.net/wh62592855/article/details/4654024论坛上经常有朋友问关于TNS的问题,今天看到inthirties老大写的一篇文章,觉得不错,至少一些最常见的问题都是可以解决的。转过来,贴在这里,方便自己学习,也方便大家参考。==================================================================================在oracle应用中,tns-xxxxx这样的错误在我们的应用中是非常常见的。 tns-xxxxx的错误一般都是和数据库的连接有关的错误,他通常是发生 阅读全文
posted @ 2012-12-07 14:11 sumsen 阅读(504) 评论(0) 推荐(0)

摘要:手工创建数据库1 创建实例1.1 修改cmd下面的sqlplus显示方式,显示连接的实例名进入C:\app\dell\product\11.2.0\dbhome_1\sqlplus\admin 修改glogin.sql,最后加上 set sqlprompt "_user'@'_connect_identifier>"或者修改本次回话的效果sql>set sqlprompt _user"@"_connect_identifier>看看显示效果1.2 需要startup nomount,这个过程需要复制一个pfile(初始化 阅读全文
posted @ 2012-12-05 22:56 sumsen 阅读(842) 评论(0) 推荐(0)

摘要:http://hi.baidu.com/yyfangzong/item/01e5bbe8323d180965db00ed摘要:(简要介绍Oracle11g SQL的新功能 pivot/unpivot 的使用方法以及如何使用它们做到行列转换. 蓄势以久的Oracle 11g 终于七月敲锣打鼓隆重推出,接下来就是网上漫天盖地的新功能介绍。11g面向开发的新功能本来就不多,掰着手指头也就是pivot和查询结果缓存的新Hint。本以为不久就会有人详述,谁知盼到两眼欲穿,大家还是翻来覆去的讨论DBA的自动分区之类。Oracle自己的门脸上到是每每用客气的冷漠写着“马上就来” (coming soon), 阅读全文
posted @ 2012-11-28 23:50 sumsen 阅读(4566) 评论(0) 推荐(1)

摘要:http://hunt1574.blog.51cto.com/1390776/8578411、官方说明:SQLNET.AUTHENTICATION_SERVICESPurposeUse the parameter SQLNET.AUTHENTICATION_SERVICES to enable one or more authentication services. If authentication has been installed, it is recommended that this parameter be set to either none or to one of the 阅读全文
posted @ 2012-11-20 09:56 sumsen 阅读(583) 评论(0) 推荐(0)

摘要:oracle lag和lead函数 2010-11-01 17:45这两个函数,是偏移量函数,其用途是:可以查出同一字段下一个值或上一个值,并作为新列存在表中。某表国家-------行业-------总值---------时间---------上次总值china------农业--------50--------2010-01-25----空缺目前没值china------农业--------40--------2010-01-15----空缺目前没值china------农业--------30--------2010-01-21----空缺目前没值china------农业-------- 阅读全文
posted @ 2012-09-24 16:29 sumsen 阅读(499) 评论(0) 推荐(0)

摘要:早上同事用PL/SQL连接虚拟机中的Oracle数据库,发现又报了“ORA-12514 TNS 监听程序当前无法识别连接描述符中请求服务”错误,帮其解决后,发现很多人遇到过这样的问题,因此写着这里。也许你没有遇到过,原因如下:你oracle安装成功后,一直未停止数据库(即数据库是启动的),客户端配置成功后,应该一直不会有什么问题。而一旦你和我同事一样,有时把Oracle安装在虚拟机中,而且Oracle安装完毕后,没在进行任何监听的配置,则虚拟机再启动,则就会出现ORA-12514的问题。如下图如下是解决思路:根据出错信息判断出客户端未监听到实例服务名1、通过重启服务的方式启动数据库,再次连接仍 阅读全文
posted @ 2012-09-24 15:04 sumsen 阅读(3756) 评论(0) 推荐(0)

摘要:http://blog.csdn.net/a9529lty/article/details/6461379一、参数游标 参数游标是带有参数的游标,在定义参数游标之后,当使用不同参数值多次打开游标时,可以产生不同的结果集,语法如下:cursor cursor_name(parameter_name datatype) is select_statement;定义参数游标时,游标参数只能指定数据类型,而不能指定长度。示例如下:Oracle代码1.declare2.cursor temp_cursor(no number) is select name from cip_temps where id 阅读全文
posted @ 2012-09-13 16:00 sumsen 阅读(1537) 评论(0) 推荐(0)

摘要:RANK功能描述:根据ORDER BY子句中表达式的值,从查询返回的每一行,计算它们与其它行的相对位置。组内的数据按ORDER BY子句排序,然后给每一行赋一个号,从而形成一个序列,该序列从1开始,往后累加。每次ORDER BY表达式的值发生变化时,该序列也随之增加。有同样值的行得到同样的数字序号(认为null时相等的)。然而,如果两行的确得到同样的排序,则序数将随后跳跃。若两行序数为1,则没有序数2,序列将给组中的下一行分配值3,DENSE_RANK则没有任何跳跃。SAMPLE:下例中计算每个员工按部门分区再按薪水排序,依次出现的序列号(注意与DENSE_RANK函数的区别)DENSE_RA 阅读全文
posted @ 2012-09-11 11:54 sumsen 阅读(677) 评论(0) 推荐(0)

摘要:这些天一直在思考和学习这个问题,今天上午10点左右终于解决了,挺完美的,函数,可以直接select,并且在PL/SQL Developer使用。两周的时间,感觉像过了一个月。8.24日问题的提出这是我在itpub提出问题的帖子:http://www.itpub.net/thread-1712205-1-1.html微博、qq、电话何涛、面谈赵泉、itpub、csdn询问,特别感谢以下人员1,itpub&weibo:dingjun123 http://www.itpub.net/thread-1712205-3-1.html 30楼 给出过程的雏形2,itpub:eric0435 htt 阅读全文
posted @ 2012-09-11 10:52 sumsen 阅读(1347) 评论(0) 推荐(0)

摘要:http://blog.sina.com.cn/s/blog_5da3d5c50100ba7v.html1、行触发器有 for each row子句。语句触发器没有for each row 子句。2、行触发器,可以有 when 作为触发限制,可以使用new/old。语句触发器不能有when 作为触发限制。3、行触发器:对应DML语句所影响到的表中的每一行,触发器都要执行一遍。4、语句触发:对应DML语句所影响到的表中的所有行,触发器只执行一遍。例子:--测试表create table wdt_test(test number(20));--日志表create table wdt_log(log 阅读全文
posted @ 2012-09-10 16:37 sumsen 阅读(843) 评论(0) 推荐(0)

摘要:1.基本结构CREATE OR REPLACE PROCEDURE 存储过程名字( 参数1 IN NUMBER, 参数2 IN NUMBER) IS变量1 INTEGER :=0;变量2 DATE;BEGINEND 存储过程名字2.SELECT INTO STATEMENT 将select查询的结果存入到变量中,可以同时将多个列存储多个变量中,必须有一条 记录,否则抛出异常(如果没有记录抛出NO_DATA_FOUND) 例子: BEGIN SELECT col1,col2 into 变量1,变量2 FROM typestruct where xxx; EXCEPTION WHEN NO_DAT 阅读全文
posted @ 2012-09-10 11:56 sumsen 阅读(268) 评论(0) 推荐(0)

摘要:-- 表create table test (names varchar2(12), dates date, num int, dou double);-- 视图create or replace view vi_test asselect * from test;-- 同义词create or replace synonym aafor dbusrcard001.aa;-- 存储过程create or replace produce dd(v_id in employee.empoy_id%type)asbeginenddd;-- 函数create or replace function e 阅读全文
posted @ 2012-09-10 11:55 sumsen 阅读(351) 评论(0) 推荐(0)

摘要:存储过程返回结果集。*过程返回记录集。CREATE OR REPLACE PACKAGE pkg_testAS TYPE myrctype IS REF CURSOR; PROCEDURE get (p_id NUMBER, p_rc OUT myrctype);END pkg_test;/CREATE OR REPLACE PACKAGE BODY pkg_testAS PROCEDURE get (p_id NUMBER, p_rc OUT myrctype) IS sqlstr VARCHAR2 (500); BEGIN IF p_id = 0 THEN OPEN p_rc FOR SE 阅读全文
posted @ 2012-09-10 11:53 sumsen 阅读(1693) 评论(0) 推荐(0)

上一页 1 2 3 4 5 6 下一页