大橙子网站建设,新征程启航
为企业提供网站建设、域名注册、服务器等服务
数据库不需要配置,只是你在使用JDBC连接的时候,驱动会使用ORACLE11G专用的驱动包还有ORACLE的URL连接串。
创新互联是专业的晋江网站建设公司,晋江接单;提供成都做网站、网站制作,网页设计,网站设计,建网站,PHP网站建设等专业做网站服务;采用PHP框架,可快速的进行晋江网站开发网页制作和功能扩展;专业做搜索引擎喜爱的网站,专业的做网站团队,希望更多企业前来合作!
在存储过程或函数里调用oracle包的话,首先要有执行这个包的权限;如果包属于其他的用户(不是系统包),调用时:用户名.包名.存储过程(参数)名或者 变量:=用户名.包名.函数(参数);因为函数有返回值,变量类型要跟函数返回值的类型一致。 在command 下调用的话:exec 用户名.包名.存储过程名(参数);select 用户名.包名.函数名(参数) from dual;就可以了。包属于当期用户可以不写用户名。
--创建包头
CREATE OR REPLACE PACKAGE ELS.pkg_proxy
AS
TYPE cursortype IS REF CURSOR;
-- 得到交接确认代理人数据
PROCEDURE get_proxy_info (
v_emp_no IN VARCHAR2, --当前登录用户
v_to_emp_no IN VARCHAR2, --代理人工号
v_to_emp_name IN VARCHAR2, --代理人姓名
v_proxy_date1 IN VARCHAR2, --代理开始时间: yyyy/mm/dd
v_proxy_date2 IN VARCHAR2, --代理结束时间: yyyy/mm/dd
v_from_emp_no IN VARCHAR2, --被代理人工号
v_from_emp_name IN VARCHAR2, --被代理人姓名
p_cursor OUT cursortype
);
END pkg_proxy;
--创建包头
CREATE OR REPLACE PACKAGE BODY ELS.pkg_proxy
AS
-- 得到交接确认代理人数据
PROCEDURE get_proxy_info (
v_emp_no IN VARCHAR2, --当前登录用户
v_to_emp_no IN VARCHAR2, --代理人工号
v_to_emp_name IN VARCHAR2, --代理人姓名
v_proxy_date1 IN VARCHAR2, --代理开始时间: yyyy/mm/dd
v_proxy_date2 IN VARCHAR2, --代理结束时间: yyyy/mm/dd
v_from_emp_no IN VARCHAR2, --被代理人工号
v_from_emp_name IN VARCHAR2, --被代理人姓名
p_cursor OUT cursortype
)
AS
BEGIN
OPEN p_cursor FOR
WITH v AS
(
--查找当前登录人是否为管理员
SELECT *
FROM employee
WHERE dept_id IN (
SELECT ID
FROM department
START WITH ID =
(SELECT dept_id
FROM employee
WHERE emp_no = v_emp_no
AND is_admin IN (
SELECT r_value
FROM role_conditions
WHERE r_key =
'ProxySearch')
UNION
SELECT dept_id
FROM employee_add
WHERE emp_no = v_emp_no
AND is_admin IN (
SELECT r_value
FROM role_conditions
WHERE r_key =
'ProxySearch'))
CONNECT BY PRIOR ID = parent_id)
UNION
SELECT *
FROM employee
WHERE emp_no = v_emp_no)
SELECT DISTINCT *
FROM (SELECT a.currentuser, a.toagrentuser,
DECODE (a.agent_type,
'A', '当前交接确认代理',
'B', '将来离职签核代理',
'C', '当前离职签核代理',
'D', '将来交接确认代理',
''
) agent_type,
a.from_date, a.TO_DATE,
DECODE
(a.to_date1,
'', '无',
TO_CHAR (a.TO_DATE,
'yyyy/mm/dd am hh:mi:ss'
)
) to_date1,
a.flowinfo, b.emp_cname AS currentusername,
b1.emp_cname AS toagrentusername, workitem
FROM (
--当前交接确认代理
SELECT SUBSTR
(x.currentuser,
1,
INSTR (x.currentuser, '(') - 1
) AS currentuser,
SUBSTR
(x.toagrentuser,
1,
INSTR (x.toagrentuser, '(') - 1
) AS toagrentuser,
'A' AS agent_type,
x.create_date AS from_date,
x.create_date AS TO_DATE,
NULL AS to_date1, x.workid,
NULL AS formid, y.NAME workitem,
(SELECT e.emp_no
|| '('
|| e.emp_cname
|| ')'
FROM employee e
WHERE e.emp_no = y.emp_no)
AS flowinfo
FROM currentworkagrent x,
worktransferitem_m y
WHERE x.workid = y.ID
UNION ALL
--将来交接确认代理
SELECT SUBSTR
(currentuser,
1,
INSTR (currentuser, '(') - 1
) AS currentuser,
SUBSTR
(toagrent,
1,
INSTR (toagrent, '(') - 1
) AS toagrent,
'D' AS agent_type, starttime,
endtime, endtime AS to_date1, NULL,
NULL, NULL, NULL
FROM futureagrent) a,
employee b,
employee b1
WHERE a.currentuser = b.emp_no(+)
AND a.toagrentuser = b1.emp_no(+)) a
WHERE currentuser IN (SELECT emp_no
FROM v)
AND (currentuser = v_from_emp_no OR v_from_emp_no IS NULL
)
AND ( currentusername = v_from_emp_name
OR v_from_emp_name IS NULL
)
AND (toagrentuser = v_to_emp_no OR v_to_emp_no IS NULL)
AND ( toagrentusername = v_to_emp_name
OR v_to_emp_name IS NULL
)
AND from_date =
TO_DATE (NVL (v_proxy_date2, '2099/12/31'),
'yyyy/mm/dd'
)
AND TO_DATE =
TO_DATE (NVL (v_proxy_date1, '1000/12/31'),
'yyyy/mm/dd'
)
ORDER BY a.agent_type, a.from_date DESC;
END;
END pkg_proxy;
1、软件准备database和client(在参考文献里有下载链接)
2、打开database安装包,运行安装程序Setup.exe,系统将启动Oracle Universal Installer,然后进行先决条件检查。会出现如下图示:
3、之后,系统将打开如下界面:选择安装方法。
ORACLE提供了两种安装方法:基本安装(I)和高级安装(A)。从上面的图中我们可以看到两种安装方法的不同之处,Oracle默认是选择基本安装:
4、基本安装,当填好对应的各项之后,“下一步”按钮将由灰色恢复正常,如下图所示,这时点击下一步即可进行安装。
5、高级安装,选择“高级安装”,“下一步”按钮会恢复正常,点击下一步,
将出现如下的画面“选择安装类型”。安装类型共有4种,分别是企业版(E)、标准版(S)、个人版(P)和定制(C)。每种安装的不同之处,我们也可以从图片上看到。为了完整安装Oracle 10g,我们选择了定制,然后选择下一步。
6、出现“指定主目录详细信息”设置。这里我们可以输入或选择所安装产品的名称以及安装产品的完整路径。如下图所示,这里我们没有进行修改,直接下一步。
7、加载产品之后,将出现选择产品组件的画面,如下图所示,选择需要的组件之后,点击下一步。这里我们选择了几乎所有的组件
8、出来的画面为“产品的先决条件检查”步骤。当我们在第4步选择基本安装后,直接就可以跳到这个画面。
9、点击“下一步”,一会将出现“创建数据库”的画面,如下图,这里有三个选项,分别为创建数据库(C)、配置自动存储管理(ASM)(A)和仅安装数据库软件(S),这里我们选择了创建数据库(C),点击下一步。
10、Oracle MTS Recovery Service配置界面,如下图,下一步
11、最后检查安装清单,然后点击安装。
12、安装中的画面,系统将复制文件并进行配置。
13、配置助手,安装完成后系统会自动运行下面所示的配置程序。
14、紧接着系统出现如下的界面Oracle Net Configuration Assistant,选择“执行典型配置“后,系统将返回13步中所示的画面继续运行下面的配置程序。
15、Database Configuration Assistant界面,选择模版来创建数据库,这里会有11步操作:
16、步骤一:数据库模版,选择定制数据库,下一步
17、步骤二:数据库标识。填入全局数据库名(XXXX)和SID(XXXX)(默认为orcl),下一步
18、步骤三:管理选项,默认,下一步
19、步骤四:数据库身份证明。可以为系统中的帐户配置不同的口令,为方便起见,我这里选择了“所有帐户使用同一口令”,设置初始口令,然后点击下一步
20、步骤五:存储选项,默认,下一步。
21、步骤六:数据库文件所在位置。默认,下一步。
22、步骤七:恢复配置。默认,下一步
23、步骤八:数据库内容,默认,下一步
24、步骤九:初始化参数。包括内存、调整大小、字符集和连接模式等的修改。默认,下一步
25、步骤十:数据库存储。可以指定用于创建数据库的存储参数。该页允许查看和更改控制文件、表空间、数据文件、回退段和重做日志组。默认,下一步
26、步骤十一:创建选项。默认勾选创建数据库,然后点击完成。
这时系统会弹出一个确认框,点击“确定”即可开始数据库的创建过程。
创建过程如下:创建并启动Oracle实例,创建数据库文件,创建数据字典视图,添加Oracle JVM,添加Oracle Data Mining,添加Oracle Text,添加Oracle XML数据库,添加Oracle OLAP,添加Oracle Spatial,添加Oracle Label Security,添加EnterManager档案库,添加用于.NET的Oracle Database Extensions,最后创建数据库。
经过漫长的数据库创建过程之后,终于提示如下,表示数据库创建完成。
点击退出之后,系统将返回第13步继续执行Sql Plus的配置过程,这一步是自动执行的,不需要人工干预。之后系统将提示如下信息,表示数据库已经安装完成,至此,数据库安装完成,同时我们记录下最后画面中的信息,方便我们日后对数据库进行管理等操作。信息如下:
Enterprise Manager Database Control URL - (XXXX) :
数据库配置文件已经安装到 C:\oracle\product\10.2.0,同时其他选定的安装组件也已经安装到 C:\oracle\product\10.2.0\db_1。
iSQL*Plus URL 为:
iSQL*Plus DBA URL 为:
包含64位/32位官方版本,并附详细的Oracle 11g安装图解教程,同时希望能帮助到刚接触到Oracle数据库的朋友。安装过程稍需一段时间,具体时间决取于你的电脑配置,请大家稍安勿躁。
Oracle 11g版本是甲骨文公司凭借自已30年的设计经验,成功打造的功能强大的关系数据库管理系统,目前共发行了linux版本和windows版本,Oracle数据库的高效性、安全性、稳定性、延展性,是其成功的关键因素,世界上的几乎所有大型信息化系统都在应用Oracle技术。
在甲骨文推出的产品中,Oracle 11g是最具创新性和质量最高的软件,它具有400多项功能,经过了1500万个小时的测试,开发工作量前所未有。Oracle数据库11g可以帮助企业管理企业信息、更深入地洞察业务状况并迅速自信地做出调整以适应不断变化的竞争环境,最新版数据库增强了Oracle数据库独特的数据库集群、数据中心自动化和工作量管理功能,更多详细的功能请大家查看下面的Oracle 11g新增功能介绍。
Oracle 11g 64位/32位官方版
Oracle 11g安装图解教程
安装以win7 64位系统为例
1、将win64_11gR2_database_1of2和win64_11gR2_database_2of2解压到同个文件夹下合并(可以直接左键框住右键点击一起解压),打开运行其中的setup开始安装,如图所示:
2、稍后进入Oracle 11g安装界面(如下图:)
3、【配置安全更新】邮箱以及口令可以不写,点击下一步,出现提醒,直接点是即可。
4、【安装选项】直接选择默认创建和配置一个数据库(安装完Oracle后,系统会自动创建一个数据库实例)。
5、【系统类】个人用户直接选择默认的桌面类就可以了,如图所示:
6、【典型安装】Oracle基目录,软件目录,和数据库文件目录,Oracle一般会自动帮你选择空间最大的盘和你解压文件的盘符,全部默认即可。管理口令需要输入(大写+小写+数字)的八位密码,也有网友指出此处可以随意设置简单好记的密码,无视软件提醒即可。
7、【先决条件检查】安装程序会检查软硬件系统是否满足此Oracle版本的最低要求,安装需要占用约2G的C盘空间,内存2G以上即可。如果还是通不过要求,选择全部忽略。
8、【概要】安装前的一些相关选择配置信息,点击完成。
9、安装正在进行中,请耐心等待。。。。如图所示:
10、Oracle实例创建启动完成后,会自动创建安装一个实例数据库名称orcl123,(小编用的是orcl123,默认为orcl名称的数据库)。
11、 安装完成,运行开始菜单Oracle - OraDb11g_home1Database Control - orcl123,以IE运行进入登录界面或打开ie直接输入即可 (此处如果出现证书错误的话,点击继续浏览此网站即可)。
12、登录界面,输入用户名"SYS",口令为之前注册设置的管理密码,将连接身份改为SYSDBA,点击登录,成功之后你就可以管理你的数据库实例了。
Oracle 11g新版功能
1.数据库管理部分
◆数据库重演(Database Replay)
这一特性可以捕捉整个数据的负载,并且传递到一个从备份或者standby数据库中创建的测试数据库上,然后重演负责以测试系统调优后的效果。
◆SQL重演(SQL Replay)
和前一特性类似。但是只是捕捉SQL负载部分,而不是全部负载。
◆计划管理(Plan Management)这一特性允许你将某一特定语句的查询计划固定下来,无论统计数据变化还是数据库版本变化都不会改变她的查询计划。
◆自动诊断知识库(Automatic Diagnostic Repository ADR)
当Oracle探测到重要错误时,会自动创纪一个事件(incident),并且捕捉到和这一事件相关的信息,同时自动进行数据库健康检查并通知DBA。此外,这些信息还可以打包发送给Oracle支持团队。
◆事件打包服务(Incident Packaging Service)
如果你需要进一步测试或者保留相关信息,这一特性可以将与某一事件相关的信息打包。并且你还可以将打包信息发给oracle支持团队。
◆基于特性打补丁(Feature Based Patching)
在打补丁包时,这一特性可以使你很容易区分出补丁包中的那些特性是你正在使用而必须打的。企业管理器(EM)使你能订阅一个基于特性的补丁服务,因此企业管理器可以自动扫描那些你正在使用的特性有补丁可以打。
◆自动SQL优化(Auto SQL Tuning)
10g的自动优化建议器可以将优化建议写在SQL profile中。而在11g中,你可以让oracle自动将能3倍于原有性能的profile应用到SQL语句上。性能比较由维护窗口中一个新管理任务来完成。
◆访问建议器(Access Advisor)
11g的访问建议器可以给出分区建议,包括对新的间隔分区(interval partitioning)的建议。间隔分区相当于范围分区(range partitioning)的自动化版本,她可以在必要时自动创建一个相同大小的分区。范围分区和间隔分区可以同时存在于一张表中,并且范围分区可以转换为间隔分区。
◆自动内存优化(Auto Memory Tuning)
在9i中,引入了自动PGA优化。10g中,又引入了自动SGA优化。到了11g,所有内存可以通过只设定一个参数来实现全表自动优化。你只要告诉oracle有多少内存可用,她就可以自动指定多少内存分配给PGA、多少内存分配给SGA和多少内存分配给操作系统进程。当然也可以设定最大、最小阈值。
◆资源管理器(Resource Manager)
11g的资源管理器不仅可以管理CPU,还可以管理IO。你可以设置特定文件的优先级、文件类型和ASM磁盘组。
◆ADDMADDM在10g被引入。
11g中,ADDM不仅可以给单个实例建议,还可以对整个RAC(即数据库级别)给出建议。另外,还可以将一些指示(directive)加入ADDM,使之忽略一些你不关心的信息。
◆AWR 基线(AWR Baselines)
AWR基线得到了扩展。可以为一些其他使用到的特性自动创建基线。默认会创建周基线。
2.PLSQL部分
◆结果集缓存(Result Set Caching)
这一特性能大大提高很多程序的性能。在一些MIS系统或者OLAP系统中,需要使用到很多"select count(*)"这样的查询。在之前,我们如果要提高这样的查询的性能,可能需要使用物化视图或者查询重写的技术。在11g,我们就只需要加一个/*+result_cache*/的提示就可以将结果集缓存住,这样就能大大提高查询性能。当然,在这种情况下,我们可能还要关心另外一个问题:完整性。因为在oracle中是通过一致性读来保证数据的完整性的。而显然,在这种新特性下,为提高性能,是从缓存中的结果集中读取数据,而不会从回滚段中读取数据的。关于这个问题,答案是完全能保证完整性。因为结果集是被独立缓存的,在查询期间,任何其他DML语句都不会影响结果集中的内容,因而可以保证数据的完整性。
◆对象依赖性改进
在11g之前,如果有函数或者视图依赖于某张表,一旦这张表发生结构变化,无论是否涉及到函数或视图所依赖的属性,都会使函数或视图变为invalid。在11g中,对这种情况进行了调整:如果表改变的属性与相关的函数或视图无关,则相关对象状态不会发生变化。
◆正则表达式的改进
在10g中,引入了正则表达式。这一特性大大方便了开发人员。11g,oracle再次对这一特性进行了改进。其中,增加了一个名为regexp_count的函数。另外,其他的正则表达式函数也得到了改进。
◆新SQL语法 =
我们在调用某一函数时,可以通过=来为特定的函数参数指定数据。而在11g中,这一语法也同样可以出现在sql语句中了。例如,你可以写这样的语句:select f(x=6) from dual;
◆对TCP包(utl_tcp、utl_smtp…)
支持FGAC(Fine Grained Access Control)安全控制
◆增加了只读表(read-only table)
在以前,我们是通过触发器或者约束来实现对表的只读控制。11g中不需要这么麻烦了,可以直接指定表为只读表。
◆触发器执行效率提高了
内部单元内联(Intra-Unit inlining)在C语言中,你可以通过内联函数(inline)或者宏实现使某些小的、被频繁调用的函数内联,编译后,调用内联函数的部分会编译成内联函数的函数体,因而提高函数效率。在11g的plsql中,也同样可以实现这样的内联函数了。
◆设置触发器顺序
可能在一张表上存在多个触发器。在11g中,你可以指定它们的触发顺序,而不必担心顺序混乱导致数据混乱。
◆混合触发器(compound trigger)
这是11g中新出现的一种触发器。她可以让你在同一触发器中同时具有申明部分、before过程部分、after each row过程部分和after过程部分。
◆创建无效触发器(Disabled Trigger)
11g中,开发人员可以可以闲创建一个invalid触发器,需要时再编译她。
◆在非DML语句中使用序列(sequence)
在之前版本,如果要将sequence的值赋给变量,需要通过类似以下语句实现:select seq_x.next_val into v_x from dual;在11g中,不需要这么麻烦了,下面语句就可以实现:v_x := seq_x.next_val
◆PLSQL_Warning
11g中,可以通过设置PLSQL_Warning=enable all,如果在"when others"没有错误爆出就发警告信息。
◆PLSQL的可继承性
可以在oracle对象类型中通过super(和java中类似)关键字来实现继承性。
◆编译速度提高
因为不在使用外部C编译器了,因此编译速度提高了。
◆改进了DBMS_SQL包其中的改进之一就是DBMS_SQL可以接收大于32k的CLOB了。另外还能支持用户自定义类型和bulk操作。
◆新的PLSQL数据类型——simple_integer这是一个比pls_integer效率更高的整数数据类型。
3.其他部分
◆增强的压缩技术
可以最多压缩2/3的空间。
◆高速推进技术
可以大大提高对文件系统的数据读取速度。
◆增强了DATA Guard
可以创建standby数据库的快照,用于测试。结合数据库重演技术,可以实现模拟生成系统负载的压力测试。 ◆在线应用升级
也就是热补丁——安装升级或打补丁不需要重启数据库。
◆数据库修复建议器
可以在错误诊断和解决方案实施过程中指导DBA。
◆逻辑对象分区
可以对逻辑对象进行分区,并且可以自动创建分区以方便管理超大数据库(Very Large Databases VLDBs)。
◆新的高性能的LOB基础结构
◆新的PHP驱动