2013年1月15日

在Linux上如何安装Oracle数据库

摘要: Oracle数据库安装 卸载数据库进入vm, edit->virture network editor->type=readonly的IP:192.168.253.10用SecureSRC / putty访问用root oracle登入lsnrctl startsqlplus / sysdbastartupemctl start dbconsole8.访问 https://192.168.253.10:1158/em/console/aboutApplication9.emctl stop dbconsole 10.shutdown immediate 11.exit12.lsnr 阅读全文

posted @ 2013-01-15 15:26 Alice Sun 阅读(435) 评论(0) 推荐(0)

Linux 几个重要的目录的作用

摘要: 目录名称含义内容/根目录,一般根目录下只存放目录,不要存放文件,/etc、/bin、/dev、/lib、/sbin应该和根目录放置在一个分区中。/bin、/sbin可执行二进制文件的目录,如常用的命令ls、tar、mv、cat等。/boot放置linux系统启动时用到的一些文件。/boot/vmlinuz为linux的内核文件,以及/boot/gurb。/dev存放linux系统下的设备文件,访问该目录下某个文件,相当于访问某个设备/etc系统配置文件存放的目录,不建议在此目录下存放可执行文件,修改配置文件之前记得备份/home系统默认的用户家目录,新增用户账号时,用户的家目录都存放在此目.. 阅读全文

posted @ 2013-01-15 15:23 Alice Sun 阅读(218) 评论(0) 推荐(0)

OCP SQL 课堂实验

摘要: 273428389set long 10000set pagesize 100select dbms_metadata.get_ddl('TABLE','EMPLOYEES','HR') from dual;insert into t(id,name) values(null,'lcb');commit;select id+1 from t;set linesize 250set pagesize 200col last_name format a20SELECT last_name, job_id, salary, commis 阅读全文

posted @ 2013-01-15 15:22 Alice Sun 阅读(390) 评论(0) 推荐(0)

sql plus特殊使用技巧

摘要: SQLPLUS使用技巧select last_name,salary,commission_pctfrom employeeswhere rownum<=40;set pagesize 100set feedback offset timi on技巧1Sql*plus 中使用绑定变量:conn scott/tiger;variable x number;exec :x := 7788;SELECT empno,ename from scott.emp where empno=:x;技巧2save,get,edit的使用(1)使用save命令将当前sql缓冲区的内容保存到sql脚本中。当执 阅读全文

posted @ 2013-01-15 15:21 Alice Sun 阅读(312) 评论(0) 推荐(0)

OCP SQL 学习笔记

摘要: 看执行计划:set autot traceonly,退出看set autot off第6章 表连接自然表连接:1.nature join: 可省去where条件,会自动匹配列名相同的列,如有多列相同,不建议用此法 语法:select employee_name, department_id from employees nature join departments2.using: 只能匹配1列,与nature join互斥,不能连用.可用where,用连接字段再判断时不能加前缀 语法:select employee_name, department_id from employees joi 阅读全文

posted @ 2013-01-15 15:20 Alice Sun 阅读(216) 评论(0) 推荐(0)

Linux学习笔记

摘要: Linux命令命令提示符[root@Redhat~]#注:如果是#号,则是管理员身份,如果是%或者$则是普通用户。Root是当前登录用户,Redhat是操作系统名称。$ command [option(s)] [argument(s)]注:Linux对大小写敏感。User Account/etc/passwd : 存放密码的地方Root:x:0:1 super user:/root:/bin/bashX是密码/etc/shadowGroupGshadow其他重要命令:clear:清屏pwd: 显示当前工作目录(print work directory)cd: 切换当前工作目录(change d 阅读全文

posted @ 2013-01-15 15:19 Alice Sun 阅读(179) 评论(0) 推荐(0)

Linux 操作技巧

摘要: 1:根据进程名显示进程号[root@web151 ~]# pidof java31786 25034 119312:如何限制用户的最小密码长度修改/etc/login.defs里面的PASS_MIN_LEN的值。比如限制用户最小密码长度是8:PASS_MIN_LEN 83:如何使新用户首次登陆后强制修改密码#useradd -p '' testuser; chage -d 0 testuser4:更改Linux启动时用图形界面还是字符界面cd /etcvi inittab将id:5:initdefault: 其中5表示默认图形界面改id:3: initdefault: 3表示字 阅读全文

posted @ 2013-01-15 15:14 Alice Sun 阅读(223) 评论(0) 推荐(0)

LINUX 常用命令集合

摘要: su su命令是最基本的命令之一,常用于不同用户间切换。例如,如果登录为 user1,要切换为user2,只要用如下命令: $su user2 然后系统提示输入user2口令,输入正确的口令之后就可以切换到user2。完成之后就可以用exit命令返回到user1。 su命令的常见用法是变成根用户或超级用户。如果发出不带用户名的su命令 ,则系统提示输入根口令,输入之后则可切换为根用户。 如果登录为根用户,则可以用su命令成为系统上任何用户而不需要口令。 pwd pwd命令也是最常用最基本的命令之一,用于显示用户当前所在的目录。 cd cd命令不仅显示当前状态,还改变当前状态,它的用发跟dos下 阅读全文

posted @ 2013-01-15 15:12 Alice Sun 阅读(246) 评论(0) 推荐(0)

Oracle 10g正则表达式的使用总结

摘要: Oracle 10g数据库内建了符合IEEE POSIX (Portable Operating System for Unix)标准的正则表达式。熟练使用正则表达式,可以写出简洁,强大的SQL语句。ORACLE中的支持正则表达式的函数主要有下面四个: 1,REGEXP_LIKE :与LIKE的功能相似 2,REGEXP_INSTR :与INSTR的功能相似 3,REGEXP_SUBSTR :与SUBSTR的功能相似 4,REGEXP_REPLACE :与REPLACE的功能相似 这四个函数在用法上与Oracle SQL 函数LIKE、INSTR、SUBSTR 和REPLACE 用法... 阅读全文

posted @ 2013-01-15 15:09 Alice Sun 阅读(507) 评论(0) 推荐(0)

oracle 递归查询,向上和向下遍历

摘要: --查询全部资源信息select * from urm_class_info--向上遍历树,找到路径直到根节点,指定的是parentidselect distinct classid,parentid,namefrom urm_class_infostart with parentid = 'cmdb0000000000000017'connect by prior parentid = classid--向上遍历树,找到路径直到根节点,指定的是classid,和下面的主要区别就是parentid和classid的位置select classid,parentid,namefr 阅读全文

posted @ 2013-01-15 15:09 Alice Sun 阅读(671) 评论(0) 推荐(1)

PLSQL解析XML类型字段

摘要: xmltype: Oracle9i支持一种新的系统定义数据类型,名为XMLType。XMLType提供了多种内建的成员函数,为创建、提取和索引存储在Oracle9i中的XML数据提供了一种强有力的机制。作为一种新的数据类型,XMLType可用作表格和视图中的各个列的数据类型,并可在PL/SQL存储过程中作为参数、返回值和变量使用。 利用XMLType和这些功能,SQL开发者既可利用关系型数据库的强大能力,也可在XML的环境下工作。与此类似,XML开发者一方面可利用XML标准的强大能力,另一方面又能在关系型数据库的环境下工作。 1.建立含有xmltype数据类型的表createtable... 阅读全文

posted @ 2013-01-15 15:08 Alice Sun 阅读(4021) 评论(0) 推荐(0)

VBA 列号转列名

摘要: 前段时间做的一个项目(Vista print)中需要将列号转为列名(例如:第26列应该是第Z列)。那137或者185列应该是哪列呢?总不能就这么数下去吧。 最后写了个Funtion解决这一问题。代码如下:Public Function NumToChr(PureNum As Integer) As String If PureNum Mod 26 = 0 Then NumToChr = VBA.IIf(PureNum \ 26 = 1, "", VBA.Chr(PureNum \ 26 + 63)) & "Z" Else NumToChr = V 阅读全文

posted @ 2013-01-15 15:06 Alice Sun 阅读(2197) 评论(0) 推荐(0)

Oracle中exists与in的效率探讨

摘要: in 与 exist 的语法比较: select × from 数据表 t where t.x in (...) 括号内可以是符合t.x字段类型的值集合,如('1','2','3'),但如果t.x是number类型的时候,似乎这样的写法会出问题;也可以是通过另外的select语句查询出来的值集合,如(select y from 数据表2 where ...)。 select * from 数据表 t where [...] and exist (...) 方括号内为其它的查询条件,可以没有。exist后面的括号内可以是任意的条件,这个条 阅读全文

posted @ 2013-01-15 15:03 Alice Sun 阅读(306) 评论(0) 推荐(0)

ORACLE 常用聚合函数

摘要: 1.AVG(DISTINCT|ALL)ALL表示对所有的值求平均值,DISTINCT只对不同的值求平均值SELECT AVG(SAL) FROM SCOTT.EMP;SELECT AVG(DISTINCT SAL) FROM SCOTT.EMP;2.MAX(DISTINCT|ALL)求最大值,ALL表示对所有的值求最大值,DISTINCT表示对不同的值求最大值,相同的只取一次(加不加查询结果一致,不知DISTINCT有什么用途,不同于AVG等聚合函数)SELECT MAX(DISTINCT SAL) FROM SCOTT.EMP;SELECT MAX(SAL) FROM SCOTT.EMP3. 阅读全文

posted @ 2013-01-15 15:02 Alice Sun 阅读(333) 评论(0) 推荐(0)

oracle 表于表的连接技巧

摘要: 一般的相等连接: select * from a, b where a.id = b.id; 这个就属于内连接。 对于外连接: Oracle中可以使用“(+) ”来表示,9i可以使用LEFT/RIGHT/FULL OUTER JOIN LEFT OUTER JOIN:左外关联 SELECT e.last_name, e.department_id, d.department_name FROM employees e LEFT OUTER JOIN departments d ON (e.department_id = d.department_id); 等价于 SELECT e.last_n 阅读全文

posted @ 2013-01-15 14:59 Alice Sun 阅读(193) 评论(0) 推荐(0)

SQLPLUS命令的使用大全

摘要: Oracle的sql*plus是与oracle进行交互的客户端工具。在sql*plus中,可以运行sql*plus命令与sql*plus语句。 我们通常所说的DML、DDL、DCL语句都是sql*plus语句,它们执行完后,都可以保存在一个被称为sql buffer的内存区域中,并且只能保存一条最近执行的sql语句,我们可以对保存在sql buffer中的sql 语句进行修改,然后再次执行,sql*plus一般都与数据库打交道。 除了sql*plus语句,在sql*plus中执行的其它语句我们称之为sql*plus命令。它们执行完后,不保存在sql buffer的内存区域中,它们一般用来对.. 阅读全文

posted @ 2013-01-15 14:57 Alice Sun 阅读(498) 评论(0) 推荐(0)

Oracle Length 和 Lengthb 函数

摘要: 一.官网的说明http://download.oracle.com/docs/cd/E11882_01/server.112/e26088/functions088.htm#SQLRF00658PurposeThe LENGTH functionsreturn the length of char. LENGTH calculates length usingcharacters as defined by the input character set. --返回以字符为单位的长度.LENGTHB usesbytes instead of characters. --返回以字节为单位的长.. 阅读全文

posted @ 2013-01-15 14:43 Alice Sun 阅读(359) 评论(0) 推荐(0)

Oracle delete truncate drop 的区别

摘要: 1. delete/truncate 只删除数据不删除表,索引的结构。 drop 将删除表的结构及依赖的 index/constrain/trigger,依赖于该表的 procedure/function 将保留,但是变为 invalid 状态;2. delete 是 dml,写 rollback segement,可回滚,速度慢,事务提交之后才生效。在 9i 满足 undo_retention 条件下可使用 flashback。一次性大批量数据的 delete 可能导致回滚段急剧扩展从而影响到数据库,慎用,触发 trigger。 truncate/drop 是 ddl,隐式提交,不写 rol 阅读全文

posted @ 2013-01-15 14:40 Alice Sun 阅读(206) 评论(0) 推荐(0)

Excel VBA 语句集

摘要: 定制模块行为 (1) Option Explicit ‘强制对模块内所有变量进行声明 Option Private Module ‘标记模块为私有,仅对同一工程中其它模块有用,在宏对话框中不显示 Option Compare Text ‘字符串不区分大小写 Option Base 1 ‘指定数组的第一个下标为1 (2) On Error Resume Next ‘忽略错误继续执行VBA代码,避免出现错误消息 (3) On Error GoTo ErrorHandler ‘当错误发生时跳转到过程中的某个位置 (4) On Error GoTo 0 ‘恢复正常的错误提示 (5) Applic... 阅读全文

posted @ 2013-01-15 14:39 Alice Sun 阅读(597) 评论(0) 推荐(0)

Oracle 查看 表 存储过程 触发器 函数 等对象定义语句的方法

摘要: 有时候,我们想查看表,存储,触发器等对象的定语语句,有以下两种方法:1. 查 all_source 表2. 用 DBMS_METADATA 包。一. 通过 all_source 表先来确认下,通过all_source 表可以查看哪些类型的对象:SQL> SELECT distinct type FROM ALL_SOURCE;TYPE------------PROCEDUREPACKAGEPACKAGE BODYLIBRARYTYPE BODYTRIGGERFUNCTIONJAVA SOURCETYPE从以上的结果我们可以看到,我们可以通过该表查询的对象.查看存储过程定义语句:SQL&g 阅读全文

posted @ 2013-01-15 14:39 Alice Sun 阅读(406) 评论(0) 推荐(0)

如何用 SQL Tuning Advisor (STA) 优化SQL语句

摘要: 在Oracle10g之前,优化SQL是个比较费力的技术活,不停的分析执行计划,加hint,分析统计信息等等。在 10g中,Oracle推出了自己的SQL优化辅助工具: SQL优化器(SQL Tuning Advisor :STA),它是新的DBMS_SQLTUNE包。使用STA一定要保证优化器是CBO模式下。执行DBMS_SQLTUNE包进行sql优化需要有advisor的权限:SQL> create user dave identified by dave;用户已创建。SQL> grant connect,resource to dave;授权成功。SQL> grant a 阅读全文

posted @ 2013-01-15 14:36 Alice Sun 阅读(156) 评论(0) 推荐(0)

Oracle SQL性能优化

摘要: Oracle SQL性能优化(1) 选择最有效率的表名顺序(只在基于规则的优化器中有效):ORACLE的解析器按照从右到左的顺序处理FROM子句中的表名,FROM子句中写在最后的表(基础表 driving table)将被最先处理,在FROM子句中包含多个表的情况下,你必须选择记录条数最少的表作为基础表。如果有3个以上的表连接查询, 那就需要选择交叉表(intersection table)作为基础表, 交叉表是指那个被其他表所引用的表.(2) WHERE子句中的连接顺序.:ORACLE采用自下而上的顺序解析WHERE子句,根据这个原理,表之间的连接必须写在其他WHERE条件之前, 那些可.. 阅读全文

posted @ 2013-01-15 14:32 Alice Sun 阅读(156) 评论(0) 推荐(0)

Oracle截取字符串和查找字符

摘要: oracle 截取字符(substr),检索字符位置(instr)常用函数:substr和instr1.SUBSTR(string,start_position,[length])截取子字符串,返回字符串解释:string 源字符串 start_position 开始位置(从1开始),截取时包含起始位置(为负数时,从尾部算起) length 可选项,子字符串的个数,为空时,截取到最后一个字符For example: substr("123456", 0); //返回:123456,截取所有字符 substr("123456", 2); //返回:2345 阅读全文

posted @ 2013-01-15 14:26 Alice Sun 阅读(428) 评论(0) 推荐(0)

oracle官方文档介绍

摘要: 原则:凡是Reference相关的文档都无需精读,碰到问题时速查即可1.ORACLE新功能Oracle Database New Features Guide每次新版本的ORACLE RELEASE以后,看一下《Oracle Database New Features Guide》,以了解一下最新的FEATURE,此文档可以粗略地阅读,不需精读。2.ORACLE,RDBMS的概念及体系结构 Oracle Database Concepts入门级,系统级地读物。如果你想了解ORACLE的相关概念和体系结构,《Oracle Database Concepts》是不错的文档。另外,从这个文档中,你可 阅读全文

posted @ 2013-01-15 14:25 Alice Sun 阅读(252) 评论(0) 推荐(0)

Excel VBA数组使用方法

摘要: 1、声明数组。数组的声明方式和其它的变量是一样的,它可以使用Dim、Static、Private 或 Public 语句来声明。标量变量(非数组)与数组变量的不同在于通常必须指定数组的大小。若数组的大小被指定的话,则它是个固定大小数组。若程序运行时数组的大小可以被改变,则它是个动态数组。数组是否从0 或1 索引是根据Option Base 语句的设置。如果Option Base 没有指定为 1,则数组索引从零开始。(1)声明固定大小的数组下面这行代码声明了一个固定大小的数组,它是个 11 行乘以 11 列的 Integer 数组:Dim MyArray(10, 10) As Integer(2 阅读全文

posted @ 2013-01-15 14:25 Alice Sun 阅读(24464) 评论(0) 推荐(0)

什么样的index需要rebuild?

摘要: 以前写程序的时候,经常会遇到大数据量的情况,所有要对Oracle中各种优化性能比较熟悉,当然也遇到过比较头疼的问题,就比如今天跟大家分享的关于index的问题。本来Index是用来帮助我们提高数据检索的性能,但是遇到数据库庞大并且程序逻辑复杂的时候,就会建立N个Index。有时候用户会突然反馈程序变得特别慢,我们程序员只能一点一点查,但查到数据库的时候,看index也是正常在使用没什么异常,为什么会导致程序变慢呢?之前逛论坛的时候,看到一篇关于index需要rebuild的帖子,觉得很好,跟大家分享一下,什么样的index需要rebuild?当一个table经常进行DML操作时,它的索引会存在 阅读全文

posted @ 2013-01-15 14:24 Alice Sun 阅读(521) 评论(0) 推荐(0)

oracle中group by的高级用法

摘要: 简单的group by用法select c1,sum(c2)from t1where t1<>'test'group by c1having sum(c2)>100;rollup(多列)——上卷汇总,从最后一个汇总字段开始上卷汇总,一直到合计select c1,c2,sum(c3)from t1group by rollup(c1,c2)含义:c1,c2分组合计c1分组合计总计cube(多列)——组合汇总,以汇总字段的子集作为汇总条件汇总,包括合计select c1,c2,sum(c3)from t1group by cube(c1,c2)含义:c1,c2分组 阅读全文

posted @ 2013-01-15 14:23 Alice Sun 阅读(23835) 评论(0) 推荐(0)

Oracle中的distinct 与unique

摘要: distinct 与unique的区别:select distinct state from customers order by state asc;select unique state,firstname from customers order by state asc;在Oracle中显示效果是一样的。在SQL语法里面,有unique和distinct两个关键字, unique是distinct的同义词,功能完全相同。 distinct是标准语法,其他数据库 sql server,db2,oracle,sybase,mysql等都支持。 unique,oracle、inform... 阅读全文

posted @ 2013-01-15 14:21 Alice Sun 阅读(804) 评论(0) 推荐(0)

oracle中对排序的总结

摘要: -- 按字符方式排序 select * from perexl order by perexl.xx -- 按字符对应的数字方式排序 select * from perexl order by to_number(perexl.xx) -- 按拼音排序 (系统默认) select * from perexl order by nlssort(danwei,'NLS_SORT=SCHINESE_PINYIN_M'); -- 按部首排序 select * from perexl order by nlssort(danwei,'NLS_SORT=SCHINESE_STROK 阅读全文

posted @ 2013-01-15 14:20 Alice Sun 阅读(393) 评论(0) 推荐(0)

ORACLE 中日期函数详解

摘要: 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 month spelled out 字符集表示 显示值:11月,若是英文版,显示november Day: ... 阅读全文

posted @ 2013-01-15 14:19 Alice Sun 阅读(255) 评论(0) 推荐(0)

oracle中关于单引号和双引号的问题

摘要: 在Oracle中: 双引号的作用是:假如建立对象的时候,对象名、字段名加双引号,则示意 Oracle将严格区分大小写,否则Oracl都默认大写。 而单引号则示意:这个加了单引号的字段是一个字类似字符串,并不区分大小写。单引号用于标识字符与数字的区别 当指定字符串文本时,必须用单引号将字符串文本引住。 Oracle10g之前,假如字符串文本里含有单引号,那么必须运用两个单引号示意。例如:I'm a String! 字符串文本则为:string_var:='I''m a String!' 在oracle10g中可以运用其它分隔符(<>,[],{} 阅读全文

posted @ 2013-01-15 14:12 Alice Sun 阅读(1095) 评论(0) 推荐(2)

Excel VBA Interior.ColorIndex 色彩列表

摘要: 使用如下VBA代码取得相应的单元格底色Sub a()Sub a() Range("A1").Select For i = 0 To 56 Step 1 ActiveCell.Interior.ColorIndex = i ActiveCell.Offset(0, 1).Value2 = i If i Mod 19 = 18 And i <> 0 Then ActiveCell.Offset(-18, 2).Select Else ActiveCell.Offset(1, 0).Select End If Next End Sub结果如下另外补充一点。当Excel 阅读全文

posted @ 2013-01-15 14:10 Alice Sun 阅读(12111) 评论(0) 推荐(0)

oracle 中的INTERVAL 函数详解

摘要: INTERVAL YEAR TO MONTH数据类型Oracle语法:INTERVAL 'integer [- integer]' {YEAR | MONTH} [(precision)][TO{YEAR | MONTH}]该数据类型常用来表示一段时间差, 注意时间差只精确到年和月. precision为年或月的精确域, 有效范围是0到9,默认值为2.eg:INTERVAL '123-2' YEAR(3) TO MONTH表示: 123年2个月, "YEAR(3)" 表示年的精度为3, 可见"123"刚好为3为有效数值, 阅读全文

posted @ 2013-01-15 14:06 Alice Sun 阅读(745) 评论(0) 推荐(0)

导航