w1100n
This site is best viewed in Google Chrome
7/7/2015 10:15 | Tag:

http://www.cnblogs.com/zzuzys/p/3195885.html 在64位Windows 7 系统下安装Oracle Database 11g 的过程中, 出现提示: “未找到文件D:\app\Administrator\product\11.2.0\dbhome_1\owb\external\oc4j_applications\applications\WFMLRSVCApp.ear”, 解决方法如下: 两个安装文件夹:win64_11gR2_database_1of2和win64_11gR2_database_2of2 首先将win64_11gR2_database_2of2\database\stage\Components里文件复制到win64_11gR2_database_1of2\stage\Components 而后运行win64_11gR2_database_1of2文件中的setup.exe 注意:再次运行的时候要将D:\app\Administrator\product\11.2.0\dbhome_1\…….红色区域文件删除,也就是删除dbhome_1文件夹。 否者安装到60%左右会出现文件移动错误!!

7/1/2015 9:41 | Tag:

http://blog.csdn.net/leshami/article/details/5529239   Oracle实例和Oracle数据库(Oracle体系结构) 分类: Oracle 体系结构2010-04-26 11:47 26118人阅读 评论(13) 收藏 举报 oracle数据库sql server服务器server系统监控 –========================================== –Oracle实例和Oracle数据库(Oracle体系结构) –========================================== /* 对于初接触Oracle 数据库的人来讲,很容易混淆的两个概念即是Oracle 实例和Oracle 数据库。这两 概念不同于SQL sever下的实例与数据库,当然也有些相似之处。只是在SQL server我们根本不需要花费太 多的精力去搞清SQL实例和数据库,因为它简单易于理解。下面简要说明一下SQL实例、数据库,更多的是讲 述Oracle下的实例及数据库。   一、SQL server中的实例与数据库 1.SQL中的实例指的是一个SQL server服务器上仅有一个缺省实例。缺省实例名即为机器名ServerName (或IP),如果在同一台机器上再安装SQL server,我们可以对实例命名如ServerName/InstanceName。 即一台SQL server服务器上可以存在多个不同的实例。一个实例下可以存在多个不同的数据库。 对于不同实例下的数据库的访问,使用ServerName/InstanceName:PortNo即可实现访问,缺省实例 为ServerName:PortNo。 2.对不同的实例配置IP地址,相关的访问协议,端口等等。 3.实例的可访问性需要启动该实例对应的相关服务。此处需要注意的是实例名和实例的服务名并不是相 同的。缺省的实例的服务名为MSSQLSERVER,而命名实例的服务名为MSSQL$INSTANCE_NAME。 … Continue reading

5/27/2015 13:42 | Tag:

  http://xpchild.blog.163.com/blog/static/10180985920108485721969/ 本文描述了在oracle 11g release 2 版本中新增的listagg函数,listagg是一个实现字符串聚合的oracle内建函数。作为一种普遍的技术,网络上也有多种实现字符串聚合的方法。本文会首先介绍listagg函数,最后会拿这些方法与listagg进行性能方面的对比。 样例数据     本文的例子将使用如下的样例数据: DEPTNO ENAME      HIREDATE ———- ———- ———- 10 CLARK       09/06/1981 10 KING        17/11/1981 10 MILLER      23/01/1982 20 ADAMS       12/01/1983 20 FORD        03/12/1981 20 JONES       02/04/1981 20 SCOTT       09/12/1982 20 SMITH       17/12/1980 … Continue reading

5/27/2015 11:19 | Tag:

http://database.51cto.com/art/201010/231193.htm   在Oracle数据库中,Oracle to_date()函数是我们经常使用的函数,下面就为您详细介绍Oracle to_date()函数的用法,希望可以对您有所启迪。 to_date()与24小时制表示法及mm分钟的显示: 一、在使用Oracle的to_date函数来做日期转换时,很多Java程序员也许会直接的采用“yyyy-MM-dd HH:mm:ss”的格式作为格式进行转换,但是在Oracle中会引起错误:“ORA 01810 格式代码出现两次”。 select to_date(‘2005-01-01 13:14:20′,’yyyy-MM-dd HH24:mm:ss’) from dual; 如: 原因是SQL中不区分大小写,MM和mm被认为是相同的格式代码,所以Oracle的SQL采用了mi代替分钟。 select to_date(‘2005-01-01 13:14:20′,’yyyy-MM-dd HH24:mi:ss’) from dual; 二、另要以24小时的形式显示出来要用HH24 select to_char(sysdate,’yyyy-MM-dd HH24:mi:ss’) from dual;//mi是分钟 select to_char(sysdate,’yyyy-MM-dd HH24:mm:ss’) from dual;//mm会显示月份  oracle中的to_date参数含义 1.日期格式参数 含义说明 D 一周中的星期几 DAY 天的名字,使用空格填充到9个字符 DD 月中的第几天 DDD 年中的第几天 DY 天的简写名 IW ISO标准的年中的第几周 … Continue reading

5/12/2015 14:49 | Tag:

http://blog.itpub.net/17203031/viewspace-717042/   在Oracle中,我们没有MYSQL和SQL Server可以使用的自增数据类型。大部分场景下,如果我们需要生成业务无关的(Business-Independent)主键列,序列Sequence对象是我们最方便的选择。   定义Sequence是很简单的,如果最大程度利用默认值的话,我们只需要定义sequence对象的名字即可。在序列Sequence对象的定义中,Cache是一个可选择的参数。默认的Sequence对象是有cache选项的,默认取值为20。   那么,这个Cache参数对Sequence的使用带来什么好处?如果不设置,会有什么问题。本篇我们就一起来探讨这个问题。   1、Sequence Cache简析   简单的说,Cache就是Oracle每次向Sequence进行请求时,分配出的独立数字数量。例如,当我们使用<seq_name>.nextval获取一个独立值时,Oracle需要将sequence对象的数据字典信息更新。如果我们设置cache为10,那么第一次请求nextval的时候,就更新数据字典信息增加10,取出的10个号放在Oracle服务器的缓存中。   在以后每次请求nextval的时候,Oracle就从服务器缓存中去获取序列值。而不需要更新数据字典信息。只有在分配到缓存的10个数字都已经分配完,或者因为缓存刷新操作剩余数字被清理的情况下,才会再次调用sequence分配机制,再次分出cache个数字。   在cache问题上,我们经常会疑惑为什么我们sequence生成的数字序列会“跳号”。这种跳号现象实际上就是因为cache的数字在缓存中因为各种原因被flush出,这样才导致生成的数字序列不连续。   注意:在有cache的情况下,sequence只能保证每次获取到的数字都是唯一、递增的,从来没有保证过数字的连续性。   如果我们不设置cache,也就是不启用序列数字缓存机制,有什么缺点呢?   2、过多的Redo Log生成   我们首先从Redo的统计情况入手,看看cache在这个过程中的影响。我们选择Oracle 10g作为实验环境。     SQL> select * from v$version;   BANNER —————————————————————- Oracle Database 10g … Continue reading

4/23/2015 2:35 | Tag:

http://blog.csdn.net/junmail/article/details/4381287   Oracle 权限设置 一、权限分类: 系统权限:系统规定用户使用数据库的权限。(系统权限是对用户而言)。 实体权限:某种权限用户对其它用户的表或视图的存取权限。(是针对表或视图而言的)。   二、系统权限管理: 1、系统权限分类: DBA: 拥有全部特权,是系统最高权限,只有DBA才可以创建数据库结构。 RESOURCE:拥有Resource权限的用户只可以创建实体,不可以创建数据库结构。 CONNECT:拥有Connect权限的用户只可以登录Oracle,不可以创建实体,不可以创建数据库结构。 对于普通用户:授予connect, resource权限。 对于DBA管理用户:授予connect,resource, dba权限。   2、系统权限授权命令: [系统权限只能由DBA用户授出:sys, system(最开始只能是这两个用户)] 授权命令:SQL> grant connect, resource, dba to 用户名1 [,用户名2]…; [普通用户通过授权可以具有与system相同的用户权限,但永远不能达到与sys用户相同的权限,system用户的权限也可以被回收。] 例: SQL> connect system/manager SQL> Create user user50 identified … Continue reading

4/23/2015 1:46 | Tag:

http://www.360doc.com/content/14/1011/23/10042054_416198756.shtml   本文主要介绍的是Oracle数据库的类型LONG,我们都知道LONG 数据类型中的存储是可以改变长字符串的,其改变的最大的长度限制是2GB。以下的文章主要是对Oracle数据库的类型的相关内容的介绍望你会有所收获。 LONGxina对于超出一定长度的文本,基本只能用LONG类型来存储,数据字典中很多对象的定义就是用LONG来存储的。   1、LONG 数据类型中存储的是可变长字符串,最大长度限制是2GB。   2、对于超出一定长度的文本,基本只能用Oracle数据库里LONG类型来存储,数据字典中很多对象的定义就是用LONG来存储的。   3、LONG类型主要用于不需要作字符串搜索的长串数据,如果要进行字符搜索就要用varchar2类型。   4、很多工具,包括SQL*Plus,处理LONG 数据类型都是很困难的。   5、LONG 数据类型的使用中,要受限于磁盘的大小。   能够操作 LONG 的 SQL 语句:   1、Select语句   2、Update语句中的SET语句   3、Insert语句中的VALUES语句   限制:   1、一个表中只能包含一个 LONG 类型的列。   2、不能索引Oracle数据库里LONG类型列。   3、不能将含有LONG类型列的表作聚簇。 … Continue reading

4/23/2015 1:02 | Tag:

http://wenku.baidu.com/view/9c73c0d349649b6648d747fc.html   oracle中TIMESTAMP与DATE比较 oracle数据库中timestamp数据类型精度 DATE数据类型 这个数据类型我们实在是太熟悉了,当我们需要表示日期和时间的话都会想到date类型。它可以存储月,年,日,世纪,时,分和秒。它典型地用来表示什么时候事情已经发生或将要发生。DATE数据类型的问题在于它表示两个事件发生时间间隔的度量粒度是秒。这个问题将在文章稍后讨论timestamp的时候被解决。可以使用TO_CHAR函数把DATE数据进行传统地包装,达到表示成多种格式的目的。 我见到的大多数人陷入的麻烦就是计算两个时间的间隔年数、月数、天数、小时数和秒数。你需要明白的是,当你进行两个日期的相减运算的时候,得到的是天数。你需要乘上每天的秒数(1天=86400秒),然后,你可以再次计算得到你想要的间隔数。下面就是我的解决方法,可以精确计算出两个时间的间隔。我明白这个例子可以更简短些,但是我是为了显示所有的数字来强调计算方式。 SELECT TO_CHAR(date1,’MMDDYYYY:HH24:MI:SS’) date1, TO_CHAR(date2,’MMDDYYYY:HH24:MI:SS’) date2, trunc(86400*(date2-date1))-60*(trunc((86400*(date2-date1))/60))  seconds,   trunc((86400*(date2-date1))/60)-60*(trunc(((86400*(date2-date1))/60)/60)) minutes,   trunc(((86400*(date2-date1))/60)/60)-24*(trunc((((86400*(date2-date1))/60)/60)/24)) hours,   trunc((((86400*(date2-date1))/60)/60)/24) days,   trunc(((((86400*(date2-date1))/60)/60)/24)/7) weeks   FROM date_table DATE1  DATE2  SECONDS  MINUTES  HOURS   DAYS  WEEKS     —————– —————– ———- ———- ———- ———- ———- 06202003:16:55:14 07082003:11:22:57   43  27  18     17  2 06262003:11:16:36 07082003:11:22:57   21   6  0    12  1 TIMESTAMP 数据类型 DATE数据类型的主要问题是它粒度不能足够区别出两个事件哪个先发生。ORACLE已经在DATE数据类型上扩展出来了TIMESTAMP数据类型,它包括了所有DATE数据类型的年月日时分秒的信息,而且包括了小数秒的信息。如果你想把DATE类型转换成TIMESTAMP类型,就使用CAST函数。 正如你看到的,在转换后的时间段尾部有了一段“.000000”。这是因为从date转换过来的时候,没有小数秒的信息,缺省为0。而且显示格式是按照参数NLS_TIMESTAMP_FORMAT定的缺省格式显示。当你把一个表中date类型字段的数据移到另一个表的timestamp类型字段中去的时候,可以直接写INSERT SELECT语句,oracle会自动为你做转换的。 TIMESTAMP数据的格式化显示和DATE 数据一样。注意,to_char函数支持date和timestamp,但是trunc却不支持TIMESTAMP数据类型。这已经清楚表明了在当两个时间的差别极度重要的情况下,使用TIMESTAMP数据类型要比DATE数据类型更确切     如果你想显示TIMESTAMP的小数秒信息,参考下面: 在上例中,我只现实了小数点后3位的内容。 计算timestamp间的数据差别要比老的date数据类型更容易。当你直接相减的话,看看会发生什么。结果将更容易理解,第一行的17天,18小时,27分钟和43秒。 SELECT time1,  time2, substr((time2-time1),instr((time2-time1),’ ‘)+7,2)   seconds,   substr((time2-time1),instr((time2-time1),’ ‘)+4,2)   minutes,   substr((time2-time1),instr((time2-time1),’ ‘)+1,2)   hours, trunc(to_number(substr((time2-time1),1,instr(time2-time1,’ ‘))))  days,   trunc(to_number(substr((time2-time1),1,instr(time2-time1,’ ‘)))/7) weeks FROM date_table TIME1  TIME2   SECONDS   MINUTES   HOURS   DAYS   WEEKS   ————————-  ————————– ——- ——- —– —- —– 06/20/2003:16:55:14:000000 07/08/2003:11:22:57:000000 43   27   18  17  2 06/26/2003:11:16:36:000000 07/08/2003:11:22:57:000000 21   06   00  12  1   这就意味着不再需要关心一天有多少秒在麻烦的计算中。因此,得到天数、月数、天数、时数、分钟数和秒数就成为用substr函数摘取出数字的事情了 系统日期和时间 为了得到系统时间,返回成date数据类型。你可以使用sysdate函数。 为了得到系统时间,返回成timestamp数据类型。你可以使用systimestamp函数。 你可以设置初始化参数FIXED_DATE指定sysdate函数返回一个固定值。这用在测试日期和时间敏感的代码。注意,这个参数对于systimestamp函数无效。   SQL> ALTER SYSTEM SET fixed_date = ‘2003-01-01-10:00:00’; System altered. SQL> select sysdate from dual; SYSDATE   ———   01-JAN-03 SQL> select systimestamp from dual; SYSTIMESTAMP ———————————————————   09-JUL-03 11.05.02.519000 AM -06:00 当使用date和timestamp类型的时候,选择是很清楚的。你可以随意处置date和timestamp类型。当你试图转换到更强大的timestamp的时候,需要注意,它们既有类似的地方,更有不同的地方,而足以造成破坏。两者在简洁和间隔尺寸方面各有优势,请合理选择。另外,date类型一般很少用,建议大家在产品里面所有的date数据类型全部改为timestamp。     http://www.cnblogs.com/linximf/archive/2011/11/21/2257036.html

4/23/2015 0:27 | Tag:

http://dw008.blog.51cto.com/2050259/934741   PL/SQL Developer 显示中文乱码问题 简单版本: 首先,通过 select userenv(‘language’) from dual; 查询oracle服务器端的编码, 如为: AMERICAN_AMERICA.US7ASCII 显示什么编码 就设置什么编码   在我们的客户端需要和服务器端的编码保持一致。 因此在客户端,需要设置环境变量: NLS_LANG = AMERICAN_AMERICA.US7ASCII 即可。 以上是默认编码 GBK如下: 在windows中创建一个名为“NLS_LANG”的系统环境变量,设置其值为“SIMPLIFIED CHINESE_CHINA.ZHS16GBK”,然后重新启动 pl/sql developer,这样检索出来的中文内容就不会是乱码了。 UTF-8如下: 如果想转换为UTF8字符集,可以赋予“NLS_LANG”为 “AMERICAN_AMERICA.UTF8”,然后重新启动 pl/sql developer。 其它字符集设置同上。 NLS_LANG格式: NLS_LANG = language_territory.charset 有三个组成部分(语言、地域和字符集),每个成分控制了NLS子集的特性。其中:language … Continue reading

4/22/2015 4:30 | Tag:

大体的分为三种方法: 一、可以通过toad、plsql develop等第三方工具进行导出DLL操作,用这种办法的好处在于操作简单方便,但需要安装,下面简单介绍一下用这两个工具获得DLL语句的操作。 二、直接通过EXP/IMP工具 Oracle提供的最原始最实用的导入导出工具,我们大体上可以分为三种办法实现导出DDL。 a. 通过imp指定indexfile参数,但这种办法不爽在于有每行前会有REM 语法大体如下: exp userid=… tables=emp rows=n file=emp.dmp imp userid=… file=emp.dmp indexfile=emp.sql b. 通过imp指定show=y,同时指定log参数,格式上也不是很爽,在格式上很美观的还是通过工具导出的比较美观 语法大体如下: exp userid=… tables=emp rows=n file= emp.dmp imp userid=… file= emp.dmp show=y log=emp.sql c. 利用unix下有strings命令,语法大体如下,这种方法比较野蛮: exp userid=… tables=tab1 rows=n file=tab1.dmp strings … Continue reading

3/6/2015 5:26 | Tag:

物理上存放于网络的多个ORACLE数据库,逻辑上可以看成一个单一的大型数据库,用户可以通过网络对异地数据库中的数据进行存取,而服务器之间的协同处理对于工作站用户及应用程序而言是完全透明的,开发人员无需关心网络的链接细节、数据在网络节点中的具体分布情况和服务器间的协调工作过程。 数据库之间的链接建立在DATABASE LINK上。要创建一个DATABASE LINK,必须首先在建立链接的数据库上设置链接字符串,即配置一个远程数据库的本地网络服务名。 链接字符串的配置参见《客户端连接服务器》一节。 数据库全局名称可以用以下命令查出: SELECT * FROM GLOBAL_NAME; 修改可以用以下语句来修改参数值: ALTER SYSTEM SET GLOBAL_NAME=TRUE/FALSE; <1>、当数据库参数global_name=false时,就不要求数据库链接名称跟远端数据库名称一样。 oracle数据库之间进行连接通讯。 创建数据库链接的语法如下: CREATE [PUBLIC] DATABASE LINK link CONNECT TO username IDENTIFIED BY password USING ‘connectstring’ 其中: –demona为用net8 easy config创建的连接字符串 目的方数据库的init.ora文件中的global_names设为false 重新启动数据库设置才能生效 或者用sys用户执行 注意:创建数据库链接的帐号必须有CREATE DATABASE … Continue reading

3/6/2015 2:46 | Tag:

高水位线应该是最高值而不可能是低于700万的值 根据英文资料: but it’s base on your table analysis strategy,may be not accurate select ‘analyze table ‘||S.TABLE_NAME||’ compute statistics;’ from  user_tables s; 翻译如下: 但是它是基于你的表分析策略,由于时间的关系,可能已经不准确了。 如果你要准确,可以 select ‘analyze table ‘||S.TABLE_NAME||’ compute statistics;’ from  user_tables s; 后的所有脚本,再运行统计行数。 也就是USER_TABLES中存储的是上一次分析之后的值,而不是准确值.

1/14/2015 1:21 | Tag:

http://blog.csdn.net/programpoet/article/details/4045262 Oracle10g所在目录大概是: E:/oracle/product/10.2.0/db_1/NETWORK/ADMIN/tnsnames.ora   Oracle9i所在目录大概是: D:/oracle/ora90/network/admin/tnsnames.ora   配置该文件,诸如:   # TNSNAMES.ORA Network Configuration File: D:/oracle/ora90/network/admin/tnsnames.ora # Generated by Oracle configuration tools. MAO = (DESCRIPTION = (ADDRESS_LIST = (ADDRESS = (PROTOCOL = TCP)(HOST = maowenlei)(PORT = 1521)) ) (CONNECT_DATA = (SERVER … Continue reading

3/4/2014 7:52 | Tag:

ORA-00911: invalid character的解决办法 ORA-00911: invalid character。这是因为在其末尾加上了“;”的缘故,去掉“;”SQL就可以执行了~

3/4/2014 7:38 | Tag:

http://zhoujian0610.blog.163.com/blog/static/56567658201052815913549/ 创建表(Create table)语法详解 1. ORACLE常用的字段类型 ORACLE常用的字段类型有 VARCHAR2 (size) 可变长度的字符串, 必须规定长度 CHAR(size) 固定长度的字符串, 不规定长度默认值为1 NUMBER(p,s) 数字型p是位数总长度, s是小数的长度, 可存负数 最长38位. 不够位时会四舍五入. DATE 日期和时间类型 LOB 超长字符, 最大可达4G CLOB 超长文本字符串 BLOB 超长二进制字符串 BFILE 超长二进制字符串, 保存在数据库外的文件里是只读的. 数字字段类型位数及其四舍五入的结果 原始数值1234567.89 数字字段类型位数 存储的值 Number 1234567.89 Number(8) 12345678 Number(6) 错 … Continue reading

3/4/2014 6:17 | Tag:,

install ojdbc into loacal repo  http://www.wiloon.com/wordpress/?p=4863 modify build.gradle, then gradle can search local maven repo http://forums.gradle.org/gradle/topics/access_a_oracle_db_runs_no_more_with_gradle_1_0_rc_3     http://blog.csdn.net/howdy_world/article/details/25650281

11/20/2013 10:38 | Tag:

原文传送门:http://blog.csdn.net/wh62592855/archive/2009/11/06/4776631.aspx 记得以前在论坛里看到inthirties用到过WITH AS这个字眼,当时没特别在意。今天在一个帖子里又看到有人用这个,所以就去网上搜了搜相关内容,自己小试了一把,写下来,方便以后忘了的话学习。 =================================================================================== 先举个例子吧: 有两张表,分别为A、B,求得一个字段的值先在表A中寻找,如果A表中存在数据,则输出A表的值;如果A表中不存在,则在B表中寻找,若B表中有相应记录,则输出B表的值;如果B表中也不存在,则输出”no records”字符串。  view plaincopy with sql1 as (select to_char(a) s_name from test_tempa), sql2 as (select to_char(b) s_name from test_tempb where not exists (select s_name from sql1 where rownum=1)) select * from sql1 union all select * from sql2 union all select ‘no records’ from dual        where not exists (select s_name from sql1 where rownum=1)        and not exists (select s_name from sql2 where rownum=1); 再举个简单的例子 with a as (select * from test) select * from a; 其实就是把一大堆重复用到的SQL语句放在with as 里面,取一个别名,后面的查询就可以用它 这样对于大批量的SQL语句起到一个优化的作用,而且清楚明了 下面是搜索到的英文文档资料 About Oracle WITH clause … Continue reading

12/8/2012 11:09 | Tag:

Oracle 10g Express Edition (简称 Oracle XE) 真正免费,您不需要购买许可就可免费分发和使用。 Oracle XE 使用与 Oracle 10g 标准版、企业版相同的内核,它有如下限制: 至多支持 1 颗 CPU (无论您的计算机安装了多少路处理器) 至多支持 1GB 内存 (无论您的计算机安装了多少内存容量) 数据库容量至多支持 4GB (每 Oracle XE 数据库例程) 上述限制中的数据库容量不超过 4GB 的限制,对于多数中小企业来说通常需要5年以上才会达到限制 (届时可直接升级至 Oracle 标准版、企业版或 SE1 版,其中 SE1 版本每用户仅需149美元或每处理器仅需4,995美元)。

next page
辽ICP备14012896