oracle心得体会

2024-08-19

oracle心得体会(精选6篇)

篇1:oracle心得体会

表xyz a b c 1 m hj 1 m hjk 1 n jk 2 u we 2 u wert 3 q s 4 a ds 4 a dsaa 怎么删掉第1、5、8条记录?(字段a、b相同的几条记录只留一条,留下字段c较短的一条)delete from lianxi where length(c)not in(select min(length(c))from lianxi group by a, b)oracle数据库常用的命令集锦 今日开始研究oracle,搜索到了一个好东东,拿出来与大家一同分享。

下面是摘抄的部分 :[local]2[/local] oracle相关语法及命令

一、oracle入门

理论知识:

oracle的物理组件有三个:(1)数据文件 数据文件是用于存储数据库数据的文件,如表、索引数据。每个oracle数据库有一个或多个物理数据文件,一个数据文件只能与一个数据库关联。(2)日志文件 用于记录对数据库进行的修改信息,日志文件主要用于在数据库出现故障时实施数据库恢复。(3)控制文件 控制文件是记录数据库物理结构的二进制文件,每个oracle数据库都含有一个控制文件。

oracle的逻辑组件:

表空间(tablespace)表空间是数据库最大的逻辑单位,一个数据库至少包含一个表空间,一个表空间包含一个或多个段等等。

段(segment)段存在于表空间中,分成4类,数据段、索引段、回退段、临时段。区(extent)区是磁盘空间分配最小单位,由连续的数据块组成,一个或多个区构成段,区只能存在于一个数据文件中。

数据块(data block)数据块是数据库中最小的数据组织单位与管理单位,oracle数据库中的数据存储于数据块中,取值范围2k-64k之间。

模式(schema)模式是对用户所创建的数据库对象的总称,又称为用户模式。

概念:

内存 oracle内存结构包含以下两个内存区。

1、系统全局区(sga)实例启动时分配该内存区,是oracle实例的一个基本组件。又称为共享全局区,它用来存储数据库信息,并由多个数据库进程共享。可分为共享池、数据缓冲区及日志缓冲区。(1)共享池 是对sql、plsql程序进行语法分析、编译、执行的内存区域。共享池由库缓存和数据字典缓存组成。其中,库缓存含有最近执行的sql、plsql语句的分析码和执行计划;数据字典缓存含有从数据字典中得到的表、索引、列定义和权限等信息。(2)数据缓冲区 数据缓冲区用于存储从磁盘数据文件中读入的数据,所有用户共享。(3)日志缓冲区 日志记录数据库的所有修改信息,主要用于恢复数据。

2、程序全局区(pga)服务器进程启动时分配该内存区。pga为非共享区,只能单个进程使用,当一个用户会话结束后,pga释放。

用户进程(pga)发送sql语句到共享全局区(sga),先在共享池的库缓存中查询是否存在所需的数据块,如果存在就在数据字典中读取相应的数据块,如果不存在就由服务器进程(dbwr)来io数据库

语法知识:

创建表空间的语法如下:

create tablespace tablespacename datafile d:filename.dbf [size int [kb|mb]] [autoextend [off|on]];tablespacename 是需创建的表空间名称。datafile 指定组成表空间的一个或多个数据文件,当有多个数据文件时使用逗号分隔。

filename 是表空间中数据文件的路径和名称。size 指定文件的大小,用k指定千字节大小,用m指定兆字节大小。autoextend子句用来启用或禁用数据文件的自动扩展。oracle默认用户:

用户名:sys 默认密码:chage_on_install 用来管理拥有oracle数据字典文件 用户名:system 默认密码:manager 用来管理拥有数据字典视图对象 用户名:scott 默认密码:tiger 示例用户,包括emp、dept等表

连接oracle: 在控制台下输入 sqlplus 用户名/密码 回车或 sqlplusw 回车

相关命令:

disconn //退出当前登录 conn 用户名/密码 //连接oracle alter user 用户名 identified by 密码 //修改用户口令 drop user 用户名 cascade;//删除用户 alter user 用户名 account lock;//给某个用户加锁 alter user 用户名 account unlock;//给某个用户解锁 ed 回车: //打开缓冲区

/ 回车: //执行缓冲区中的语句 create user 用户名 identified by 密码 [password expire] [default tablespace 表空间名] [temporary tablespace 临时表空间名];//创建用户

相关权限: grant connect to scott;//connect角色将允许用户创建数据库并在数据库中创建表或其他对象 grant resource to scott;//resource角色将允许用户使用数据库中的空间 grant create sequence to scott;//create sequence权限将允许用户创建序列,此权限包含在connect连接角色中 grant select on emp to scott;//将emp表的查询权限授予用户scott grant update(vencode,venname)on 表名 to scott;//将特定列的更新权限授予用户scott grant 权限 on 表名 to 用户名 with grant option;//接受该权限的用户可以将此权限授予其他用户 revoke select,update on 表名 from 用户名;//收回相应的权限

二、sql查询和sql函数 sql支持如下类别的命令:

数据控制语言: grant(授予)和revoke(回收)命令。

数据类型: char: 长度在1到2000个字节,声明多少字节在内存中就占用多少字节,输入的值小于指定的长度时用空格填充。varchar2: 长度在1到4000个字节,输入的值是多少字节,就占用多少字节。long: 长度在2gb,设置为此类型的列时,要注意:一个表中只有一列可以为long类型,long类型列不能定义为唯一约束或主键约束,不能建立索引,过程或存储过程不能接受long类型的参数。number(p,s): 其中p为精度,表示数字的总位数,在1至38之间。s为范围,表示小数点右边数字的位数,在-84至127之间。date: 日期类型,sysdate为当前系统时间。格式为08-9月-07。timestamp: 用于存储日期的年、月、日以及时间的时、分和秒。其中秒精确到小数点后6位,systimestamp返回当前日期、时间。格式为08-9月-07 04.08.30.000000 下午。raw: 此数据类型用于存储基于字节的数据,如二进制数据或字节串,该类型最多能存储2000个字节,可以建立索引。long raw: 此数据类型用于可变长度的二进制数据,最多能存储2gb。long数据类型的所有限制对long raw数据类型也同样有效。lob又称为大对象数据类型,最多能存储4gb的非结构化信息。包括: clob: clob代表character lob(字符lob),它能存储大量字符数据。如xml文档。blob: blob代表binary lob(二进制lob),它能存储较大的二进制对象,如图形、视频剪辑和声音剪辑。bfile: bfile代表binary file(二进制文件),它能够将二进制文件存储在数据库外部的操作系统文件中。

伪列:

rowid: select rowid,ename, from scott.emp where empno=7900;rownum: select * from scott.emp where rownum<11;//限制查询返回的行数

语法知识:

desc 表名;//查看表结构

alter table 表名 modify(列名 varchar2(25));//修改列 alter table 表名 add(列名 varchar2(12),列名 number(12));//添加列 alter table 表名 drop column 列名;//删除列 truncate table 表名;//中删除记录而不删除结构,不使用事务处理,因此无法回滚

drop table 表名;//删除表及其全部数据 create table 新表名 as select * from 表名 where 1=2;//用现有的表创建一个新表 select deptno*2 new no,dname,loc from dept;//指定一个含有特殊字符(如空格)的列标题

savepoint 标记名;//标记事务点 rollback;//回滚整个事务处理 rollback to [savepoint] 标记名;//回滚到事务中某个特定的保存点

集合操作符: union(联合): 此操作符返回两个查询选定的所有不重复的行。

语法 select orderno from order_master union select orderno from order_detail;union all(联合所有): 此操作符合并两个查询选定的所有行,包括重复的行。

语法:select orderno,ename from order_master union all select orderno,proname from order_detail order by 2;注意:在两个select语句中指定的列名不必相同,但数据类型必须匹配。也可以对联合查询的结果进行排序,使用order by子句时,它必须放在最后

一个select语句之后,而且必须指定列索引来排序,而不是指定列名,列索引是从1开始的整数。上述语法便是以proname的索引排序 intersect(交集): 此操作符只返回两个查询都有的行。

语法:select orderno from order_master intersect select orderno from order_detail;minus(减集): 此操作符中返回由第一个查询选定但是第二个查询中没有选定的行,也就是在第一个查询结果中排除第二个查询结果中出现的行。

语法:select orderno from order_master minus select orderno from order_detail;查询尚未交付的订单

连接(||)操作符:

语法: select(供应商||venname||的地址是||venadd1|| ||venadd2|| ||venadd3)地址 from vendor_master where vencode=v002;将多个字符串合并为一个字符串。sql函数:

1、日期函数: add_months: 此函数返回给指定的日期加上指定的月数后的日期值。语法为add_months(d,n),其中d是日期,n表示月数。

示例:select add_months(sysdate,2)from dual;将当前时间加上2个月后的日期值。

months_between:

此函数返回两个日期之间的月数。语法为months_between(d1,d2),其中d1和d2是日期,如果d1大于d2,则结果为正数;否则为负数。last_day: 此函数返回指定日期当月的最后一天的日期值,语法为last_day(d),其中d表示日期。

示例:select last_day(sysdate)from dual;返回当前日期的月的最后一天,如果是9月就返回30-09月-07 round: 此函数返回日期值,将日期四舍五入为格式模型指定的单位。语法为round(d,[fmt])。其中d是日期,fmt是格式模型。fmt是一个可选项,日期默认舍入为最靠近的那一天。如果指定格式为年year,则舍入到年的开始,即1月1日;如果格式为月month,则舍入到月的第一日;如果格式为周day,则舍入到最靠近的星期日。

示例:select round(sysdate,month)from dual;返回最接近的一个月。next_day: 此函数返回指定的下一个星期几的日期。语法为next_day(d,day)。其中d表示日期,而day指周内任何一天。

示例:select next_day(sysdate,星期日)from dual;返回下一个星期日的日期,也可以用1表示,以此类推,星期一以2表示。trunc: 此函数将指定日期截断为由格式模型指定的单位日期,与round函数不同的是它只舍不入,语法为trunc(d,[fmt]),与round格式相同。

示例:select trunc(sysdate,year)from dual;返回当前年的第一天,也就是1月1日。示例:select trunc(sysdate,day)from dual;返回紧靠前面的星期日。如果为2005年1月27日就会返回2005年1月23日。extract: 此函数提取日期时间类型中的特定部分。语法为extract(fmt from d),其中d是日期时间表达式,fmt是要提取的部分的格式。格式的取值可以是year,month,day,hour,minute,second,注意此处的格式不使用单引号。

示例:select extract(year from sysdate)from dual;返回当前的年份。

2、字符函数: initcap(char): 首字母大写,示例:select initcap(hello)from dual;输出结果:hello。lower(char): 转换为小写,示例:select lower(fun)from dual;输出结果:fun。upper(char): 转换为大写,示例:select upper(sun)from dual;输出结果:sun。ltrim(char,set): 左剪裁,示例:select ltrim(xyzadams,xyz)from dual;输出结果:adams。rtrim(char,set): 右剪裁,示例:select rtrim(xyzadams,ams)from dual;输出结果:xyzad。

translate(char,from,to): 按字符翻译,示例:select translate(jack,abcd,1234)from dual;输出结果:j13k。replace(char,search_str,replace_str): 字符串替换,示例:select replace(jack and jue,j,bl)from dual;输出结果:black and blue。instr(char,substr[,pos1,pos2]): 查找子字串位置。

示例:select instr(vorldwide,d)from dual;输出结果:5。pos1为可选,表示从第几个位置查找。pos2为可选,表示从第几次出现的位置找。substr(char,pos,len): 取子字符串,示例:select substr(abcdefg,3,2)from dual;输出结果:cd。concat(char1,char2): 连接字符串,示例:select concat(hello,world)from dual;输出结果:helloworld。chr: 此函数根据ascii码返回对应的字符,示例:select chr(45788),chr(53671),chr(50167),chr(65)from dual;输出结果:曹 学 明 a。ascii:

此函数返回gbk编码值,示例:select ascii(曹)cao ,ascii(学)xue,ascii(明)ming from dual;输出结果:45788 53671 50167。lpad和rpad:

示例:select lpad(function,15,=)from dual;输出结果:=======function。而rpad则相反,字符串填充在右边。trim: 此函数从字符串的开头或结尾(或开头和结尾)剪裁特定的字符,默认剪裁空格。如果加上leading选项时与ltrim函数相似。指定trailing时和 rtrim函数相似。示例: select trim(9 from 999992598899)from dual;输出结果:25988。

示例: select trim(leading 9 from 999992598899)from dual;输出结果:2598899。示例: select trim(trailing 9 from 999992598899)from dual;输出结果:9999925988。length: 此函数返回字符串的长度,示例:select length(frances)from dual;输出结果:7。decode: 示例:select deptno,dname,decode(loc,new york,纽约,boston,波士顿)from scott.dept;篇二:oracle数据库学习心得 oracle数据库结课论文

一个好的程序,必然联系着一个庞大的数据库网路...今年我们学习了 oracle数据库这门课程,起初的我,对这个字眼是要多陌生有多陌生,后来上课的时候听一会老师讲课,偶尔再跟上上机课,渐渐的学会了不少东西,但我感觉,我学到的仍是一些皮毛而已,怀着疑惑和求知的心态,我在网上搜索了关于 oracle数据库的一些知识。

1.oracle的特点: 可移植性 oracle采用c语言开发而成,故产品与硬件和操作系统具有很强的独立性。从大型机到微机上都可运行oracle的产品。可在unix、dos、windows等操作系统上运行。可兼容性 由于采用了国际标准的数据查询语言sql,与ibm的sql/ds、db2等均兼容。并提供读取其它数据库文件的间接方法。

可联结性 对于不同通信协议,不同机型及不同操作系统组成的网络也可以运行oraˉcle数据库产品。

2.oracle的总体结构

(1)oracle的文件结构 一个oracle数据库系统包括以下5类文件:oracle rdbms的代码文件。

数据文件 一个数据库可有一个或多个数据文件,每个数据文件可以存有一个或多个表、视图、索引等信息。

日志文件 须有两个或两个以上,用来记录所有数据库的变化,用于数据库的恢复。控制文件 可以有备份,采用多个备份控制文件是为了防止控制文件的损坏。参数文件 含有数据库例程起时所需的配置参数。

(2)oracle的内存结构 一个oracle例程拥有一个系统全程区(sga)和一组程序全程区(pga)。

sga(system global area)包括数据库缓冲区、日志缓冲区及共享区域。pga(program global area)是每一个server进程有一个。一个server进程起动时,就为其分配一个pga区,以存放数据及控制信息。

(3)oracle的进程结构oracle包括三类进程: ①用户进程 用来执行用户应用程序的。

②服务进程 处理与之相连的一组用户进程的请求。

③后台进程 oracle为每一个数据库例程创建一组后台进程,它为所有的用户进程服务,其中包括: dbwr(database writer)进程,负责把已修改的数据块从数据库缓冲区写到数据库中。lgwr(log writer)进程,负责把日志从sga中的缓冲区中写到日志文件中。smon(system moniter)进程,该进程有规律地扫描sag进程信息,注销失败的数据库例程,回收不再使用的内存空间。pmon(process moniter)进程,当一用户进程异常结束时,该进程负责恢复未完成的事务,注销失败的用户进程,释放用户进程占用的资源。arch(archiver)进程。每当联机日志文件写满时,该进程将其拷贝到归档存储设备上。另外还包括分布式db中事务恢复进程reco和对服务进程与用户进程进行匹配的dnnn进程等。3.oracle的逻辑结构

构成oracle的数据库的逻辑结构包括:(1)表空间

(2)5种类型的段(segment)

①数据段;②索引段;③回滚(rollbock)段;④临时段;⑤自举(bootstrap)段。段的分配单位叫范围(extent)

表空间(tablespace)一个数据库划分成的若干逻辑部分称为表空间。一个数据库可以有一个或多个表空间,初始的表空间命名为system,每一个逻辑表空间对应于一个或多个物理文件。dba使用表空间做以下工作: 控制数据库对象,如表、索引和临时段的空间分配。为数据库用户设置空间配额。

利用个别表空间的在线或离线,控制数据的可用性。后备或恢复数据。

通过分配空间,以改进性能。

在每个数据库中都存在system表空间,它在建立数据库时自动建立。在该表空间中,包含数据库的数据字典,其中存储全部数据库对象的名字和位置。system表空间总是在线的,像其它表空间一样,可以通过增加新的数据库文件来扩大。一个表空间可包含许多表和索引。但一个表和索引不能跨越表空间,可跨越组成表空间的文件。在db的打开的情况下,dba利用alter tablespace语句,可以实施表空间的在线或离线。system表空间必须在线。表空间离线有下列原因: 一般为了使部分数据库不能使用,而允许正常存取数据库其余部分。执行表空间离线备份。

一个离线的表空间,不能被应用用户读或编辑。

可以增加数据文件扩大已有的表空间,也可增加新的表空间使数据库容量增大,或分配空间给某个应用。使用alfer tablespace add file语句将另一个数据文件加入到已存在表空间中。使用create tablespace语句可建立一个新的表空间。段(segment)表空间中的全部数据存储在以段划分的数据库空间中。一个段是分配给数据库用于数据存储的范围的集合。数据可以是表、索引或rdbms所需要的临时数据。段是表空间的下一个逻辑存储的级别。一个段不能跨越一个表空间,但可跨越表空间内的文件。一个数据库最多需要五种段类型: 数据段 一个包含一个表(或聚集)的全部数据,一个表(或聚集)总有一个单个数据段。

索引段 一个索引段包含对一个表(或聚集)建立的一个索引的全部索引数据。一个表可以有一个、多个或者没有索引段,取决于它所拥有的索引个数。一个聚集必须至少有一个索引段,即在聚集码上 建立聚集索引。

回滚段 每个db有一个或多个回滚段。一个回滚段是db的一部分,它记录在某一情况下被撤消的动作。回滚段用于事务控制和恢复。

临时段 在处理查询时,oracle需要临时工作空间,用于存储语句处理的中间结果,这个区称为临时段。

自举段 自举段在system表空间中,在数据库建立时建立。它包括数据字典定义,在数据库打开时装入。4.用户数据库对象

由用户建立的对象驻留在表空间中,含有真正的数据。数据库对象有表、视图、聚集、索引、伪列和序号生成器。

(1)聚集(cluster)聚集是存储数据的一种可选择的方法。聚集包括存储在一起的一组表,它们共享公共列并经常一起使用。由于内容相关并且物理地存储在一起,存取时间得到改进,存储空间可以减少。聚集是一种优化措施。

聚集对性能的改进,依赖于数据的分布和sql操作的内容。特别是使用聚集对连接非常有利。可以明显地提高连接的速度。建立聚集命令的基本格式: sql>create cluster〈聚集名〉(列定义[,„]);利用聚集建立表命令基本格式: sql>create table〈新表名〉(列定义[,„]cluster〈聚集名〉(聚集列);篇三:oracle学习心得

oracle rac 学习心得 1.概念 rac,全称real application clusters,译为“实时应用集群”,是oracle新版数据库中采用的一项新技术,是高可用性的一种,也是oracle数据库支持网格计算环境的核心技术。

在oracle9i之前,rac的名称是ops(oracle parallel server)。rac 与 ops 之间的一个较大区别是,rac采用了cache fusion(高速缓存合并)技术。在 ops 中,节点间的数据请求需要先将数据写入磁盘,然后发出请求的节点才可以读取该数据。使用cache fusion时,rac的各个节点的数据缓冲区通过高速、低延迟的内部网络进行数据块的传输。2.优缺点

优点:

oracle rac主要支持oracle9i、10g、11g版本,可以支持24 x 7 有效的数据库应用系统,在低成本服务器上构建高可用性数据库系统,并且自由部署应用,无需修改代码。在oracle rac环境下,oracle集成提供了集群软件和存储管理软件,为用户降低了应用成本。当应用规模需要扩充时,用户可以按需扩展系统,以保证系统的性能。(1)多节点负载均衡;(2)提供高可用:故障容错和无缝切换功能,将硬件和软件错误造成的影响最小化;(3)通过并行执行技术提高事务响应时间----通常用于数据分析系

统;(4)通过横向扩展提高每秒交易数和连接数----通常对于联机事务系

统;(5)节约硬件成本,可以用多个廉价pc服务器代替昂贵的小型机或大

型机,同时节约相应维护成本;(6)可扩展性好,可以方便添加删除节点,扩展硬件资源。缺点:(1)相对单机,管理更复杂,要求更高;(2)在系统规划设计较差时性能甚至不如单节点;(3)可能会增加软件成本(如果使用高配置的pc服务器,oracle一般 按照cpu个数收费)。3.rac 特点

每一个节点的linstance都有自己的sga 每一个节点的linstance都有自己的background process 每一个节点的linstance都有自己的redo logs 每一个节点的linstance都有自己的undo表空间

所有节点都共享一份datafiles和controlfiles 4.rac 组件

5.undo和redo读书笔记

1)redo是什么?oracle的redo是如何工作的 redo是重做日志文件,是oracle数据库的日志文件.oracle的重做日志有两种:在线重做日志以及归档重做日志。

在线重做日志:主要用于由于数据库主机掉电等原因导致实例失败,此时oracle采用在线重做日志在数据库启动时将数据库恢复到断电之前的时间点上。

归档重做日志:主要用于介质失败,比如:磁盘受损。此时需要使用对磁盘上的数据备份的归挡重做日志文件将该磁盘上的数据恢复到该归档文件数据所在的时间点上,然后再使用在线重做日志文件将适合的时间点上。

归档重做日志文件实质是被添满的旧的在线重做日志的副本。归档重做日志文件是数据库的历史数据。

在线重做日志在每个数据库中至少有两个重做日志组,每个日志组中至少有一个重做日志文件,这些在线重做日志组是循环使用的,当日志组1被写到最后时,然后自动切换到日志组2;当日志组2也被写满时,再切换到日志组1。2)undo是什么?oracle的undo是如何工作的 undo与redo相反,redo是恢复数据,用于在事务失败时重放事务,undo是撤消一条语句或者一组语句的作用。undo是存储在数据库内部的段或者表空间中(undo如果是手动管理,则使用undo段来管理;如果undo使用aum管理undo,则undo使用表空间来自动管理)。注意:在undo并不是物理的恢复到执行语句之前或者事务之前的样子,只是逻辑的恢复到原来的样子,所有修改只是逻辑的取消,但是数据结构和数据块在回滚之后也大不相同。原因是在多用户系统中,有很多事务是并发进行的,当一个事务修改一个数据并且被回滚,但是该数据在该用户对该数据做过修改之后也有被其他用户修改,这个时候如果是对该事务修改的数据块回滚到原来数据的物理样子,就有可能将后来的事务所做的修改给覆盖掉。所以回滚不是

一个简单的物理的恢复,而是逻辑恢复。3)undo和redo是如何协作工作的 4)6.篇四:oracle数据库学习总结 oracle数据库学习总结

时间过的还真快,不知不觉中就在这里呆了半个月了。这段时间里都在学习oracle数据库的编程,毕竟这是家软件外包公司。像我们这样的新员工也就只能接触到些curd的操作。废话不多说,赶紧来梳理下这半月来学习的知识点.在来公司之前一直都是使用sql server数据库,用sql server也开发了3个小型项目。所以对sql语句以及在数据库中扮演重要作用的存储过程,触发器,视图,主键/外键约束都很熟。但oracle是一个全新的环境,记得刚装上oracle的时候,我都不知道在哪查看自己已经建立好的表格。还好有师傅的帮忙,要不然我还真没这么快就能入门oracle。学习东西就要学习些能改变自己思维的东西,只有这样才能让自己的眼光比别人更独到,思维比别人更深邃,oracle就是这样的东西。当然做这样的事是要很大的驱动力的呀,如果公司不是都采用oracle来写程序的话,我估计也就懒得学啦。对于一位程序员来说并不需要完全掌握oracle的所有知识,毕竟自己不是dba。在日常开发中也用不到那些命令和工具,但是有些知识点我们还是必须得熟练的掌握它们。比如:一些基本的ddl和dml语句,存储过程,函数,视图,触发器,序列,游标,自定义类型和包。

下面我就把这段时间里学习oracle获得的知识点罗列出来,一是为了方便以后查阅,二是为了和搭档交流学习经验。

要适应的一些细节 从sql server转到oracle进行数据库编程,第一道门槛就是语法问题。很多很多的问题都是因为语法而产生的,现将它们统统集合起来并将它们一网打尽之。pl结构。在sql server中,采用的是批处理执行任务的方式,所以可以将多条sql语句选中批量执行,而不用顾忌要在专门的地方声明变量,在专门的地方进行逻辑编码。在oracle中采用的是pl编程方式,必须在专门的地方声明变

循环结构,要达到循环在oracle中有3种方式,各有各的好处,你懂的。它们分别如下: pl结构中的错误处理

就像c#中的try{} catch{}语句块 能捕获错误。写几个例子: helloworld级别的错误抛出例子 record类型

oracle中的record类型类似于c语言中的结构体,主要用来接收select 语句或游标中返回的数据,下面写个例子: ddl语句

这里的ddl语言主要是指能完成如下工作的ddl语言:创建表,创建表的主/外 键及级联效果,dml语句

select语句。oracle中的select语句的使用方法与 sql server差不多,但还是有些不同之处。篇五:oracle学习体会 oracle学习体会

王岩

2015年,为落实重点开展“完善业务系统,加强统计数据汇总分析”的工作要求,根据协会安排,我由政策信息部调整到统计部,在稳步推进业务系统数据库工作的基础上,努力配合做好网络及其他软硬件管理等工作。对于曾经负责信息宣传工作的我来说,计算机技术还是一个全新的领域。

根据协会安排,我从今年的4月到11月利用周末时间学习专业知识,旨在通过参加学习中心的linux系统和oracle数据库等培训课程,承担协会业务系统数据库的开发和管理工作。在参加专业培训机构课程的同时,臧立副主任也会不定期针对协会的业务系统数据库为我们做一些内训。通过这一年来的学习、回顾和梳理,让我对oracle数据库知识以及协会的业务系统数据库框架有了一定的了解,也对协会的数据库管理工作方面有了一些建议。

一份总结和体会 oracle数据库分两个方面,一块是开发,一块是管理。开发主要是写存储过程、触发器之类的编程工作,类似于程序员,需要有较强的逻辑思维能力和创造能力。数据库管理则是需要对oracle数据库的原理有深刻的认识,有全局操纵的能力和紧密的思维,而协会的业务系统数据库工作则是同时包含了开发和管理的内容。

在有一定的oracle专业知识之后,我开始接手了辽宁省协会和 广东省协会的业务数据分入处理工作。其中,根据每期不同的业务数据,需要对数据导入的操作脚本进行修改,遇到有问题的数据,需要根据错误进行逻辑分析,创建新的脚本来筛选出错误数据,并进行修改整理,最终将正确、完整的业务数据导入到协会业务系统数据库中,为保费结算工作提供了及时可靠的数据支持。

做计算机技术工作的人都知道,专业的知识只能称得上打开这项工作大门的一把钥匙,要想真正迈进协会数据库管理工作这项领域,我们还需要学习掌握协会的业务系统数据库框架。协会的数据库里面承载着一百多类表,包含着一千余个列,我们不仅要知道这些表的逻辑结构和数据类型,还要知道各个表之间的关联,从而在数据库中顺利的实现增、删、改、查我们所需要的数据。

一点不足和建议

协会的数据库建设工作无论是逻辑结构方面,还是软件兼容方面,都做的很好,但是在硬件设备管理上,我们可能还有更好的选择。2015年年末,我接手了一项筛查数据的工作,原因是山东数据库服务器机房出现故障,导致丢失了部分业务数据,我的任务就是要将这些丢失的数据文件名查找出来,以便山东协会后期进行补救工作。事后我对这件事进行了思考,事故的主要原因是因为他们的数据库服务器存放在省协会本部没有专业管理的机房中,由于空调故障室温过热,导致硬盘烧毁,在此方面,国家协会目前的做法和省协会一样,都将服务器存放在本部没有专业管理的机房。2015年7月,由于协会网络供应商硬件设备出现严重故障,导

致我会办公网络以及业务系统全面瘫痪,虽然我部已在第一时间查明原因,但却束手无策,只能敦促网络供应商尽快修复。

根据以上两次实际案例,为了避免这类事故再次发生,我建议尽快将协会数据库迁移至更加专业的托管机房,确保业务系统数据库服务器统一管理、规范管理,还有就是要进一步加强协会机房和大兴托管机房的巡检工作,避免硬件设备出现故障,进而确保业务系统高效、安全运行。

篇2:oracle心得体会

总结

系别: 信 管 院 班级: 姓名: 浦 江 峰 学号: 1132304112 日期: 2012年12月21日

实训总结:

由于感到oracle实训担子很重,而自己的学识、能力和阅历与其任职都有一定的距离,所以总不敢掉以轻心,总在学习,向书本学习、向周围的同学学习,向老师请教,这样下来感觉自己半年来还是有了一定的进步。

颠末一个星期的oracle数据库实训,让我体会到了日常仄凡是很多课堂上所无法实践知晓的,让人收获颇丰,明白如何去应用。而本次数据库实训的目标是让我们把握数据库系统的原理。将理论与实践相结合,利用现有的数据库管理系统硬件、范例、科学地完成一个设计。

这个星期是我们oracle 数据库管理课的实训,经过一个星期的实训,让我领会到了许多平时课堂上所没有接受的课外知识,很让人受益匪浅,懂得如何去运用,而进行的一次分析设计综合的训练。而本次实训的目的是让我们掌握数据库系统的原理、技术。将理论与实际相结合,应用现有的数据库管理系统软件,规范、科学地完成一个设计与实现。这次我们实训的内容是从数据库、数据表的创建和修改开始的,表是建立关系数据库的基本结构,用来存储数据具有已定义的属性,在表的操作过程中,有查看表信息、查看表属性、修改表中的数据、删除表中的数据及修改表和删除表的操作。从实训中让我更明白一些知识,表是数据最重要的一个数据对象,表的创建好坏直接关系到数数据库的成败,表的内容是越具体越好,但是也不能太繁琐,以后在实际应用中多使用表,对表的规划和理解就会越深刻。我们实训的另一个内容是数据库的约束、视图、查询。从中我们了解到查询语句的基本结构,和简单select语句的使用,多表连接查询。而在视图的操作中,也了解到了视图是常见的数据库对象,是提供查看和存取数据的另一种途径,对查询执行的大部分操作,使用视图一样可以完成。使用视图不仅可以简化数据操作,还可以提高数据库的安全性,不仅可以检索数据,也可以通过视图向基表中添加、修改和删除数据。存储过程、触发器也是我们实训的内容之一,在操作中有建立存储过程,执行存储过程,及查看和修改存储过程,这些都是非常基础的东西,但对用户却是非常重要的呢,只有熟悉了t_sql语言,才能更好的掌握更多的东西。我们还学习了,数据库的管理、数据的导入、导出、备份和还原。有oracle 安全访问控制;登录账户的管理;数据库角色的管理;用户权限管理。维护数据库的安全是确保数据库正常运行的重要工作。数据的备份是对oracle数据事务日志进行拷贝,数据库备份记录了在进行备份操作的数据库中所有数据的状态。而数据的备份还分为数据库完整备份、差异备份、事务日志备份、文件及文件组备份。做数据备份就是为了以后的数据库恢复用。在实训内容上我们还做了图书管理数据库,其中的要求包含了许多数据库的对象,综合了我们所学的许多知识,让我们更努力的把所学到的东西运用上去。

实训课是在学习与探索中度过的,短暂的一星期实训是结束了,但其中让我们学到了许多知识,出现许多未知的为什么,如仓库管理数据库的初步设置、数据备份与还原的步骤,如何建立视图、触发器等一系列的问题,正是在老师和同学的共同努力之下,我们才一步步把问题解决了,最终完成了不可能完成的任务。

日期:2012年12月21日篇二:oracle实训总结

oracle数据库管理与应用实训总结

在这一周oracle数据库管理与应用的实训的时间里,实训老师针对我们本学期的学习,有针对性地对我们进行了很有价值的实训工作,从最基础的字段类型,到一般的oracle语句,如创建数据表、视图、存储过程、触发器等,给我们细心讲解,虽然oracle数据库管理与应用的课已经学习了将近一学期,但对其简单的知识点运用的都不是很熟练,没能真正去融会贯通。

不过,经过为期一周的针对性实训,我学到了很多知识,把以前学的所有知识点都贯穿到一起,又温习了一遍,让我们能从真正意义上了解到oracle数据库的用处。

不论再用到什么软件编写网站,都会用到数据库连接,都要从那个数据库中调用数据,这说明了数据库的重要性,认识到学习数据库的必要性。oracle数据库是很重要的数据库系统。在数据库实训过程中,难免会出现小错误,但经过我们的讨论研究,加上老师认真的辅导,我们会解决这些错误,从而更加熟练掌握oracle数据库。这一周不仅学到了oracle数据库的知识,还培养了我们的团队合作精神,互相帮助,讨论研究,解决问题。实训一周,收获颇多,更是受益匪浅。篇三:oracle实训报告

oracle数据库管理 与应用实训报告

姓名:张** 班级:软件技术 学号:113230**** 班级序号:**1号 指导老师:龙** 实训地点:b10-509 oracle数据库管理与应用实训项目

一、实训目的

1.知识目标

通过综合实训进一步巩固、深化和扩展大家的oracle 11g数据库管理和开发的基本知识和技能。

(1)熟练掌握oracle 11g数据库的操作;(2)熟练掌握oracle 11g表的操作;

(3)熟练掌握oracle 11g视图的操作和应用;(4)掌握oracle 11g索引的操作;

(5)熟练掌握pl/sql编程技术和oracle 11g存储过程的操作和使用;(6)熟练掌握oracle 11g触发器的操作和应用;(7)掌握oracle 11g数据库安全性操作;(8)熟练掌握oracle 11g数据管理操作;(9)了解oracle 11g数据库程序开发技术。

2.能力目标

培养学生运用所学的知识和技能解决oracle 11g数据库管理和开发过程中所遇到的实际问题的能力、掌握基本的sql脚本编写规范、养成良好的数据库操作习惯。

(1)培养学生通过各种媒体搜集资料、阅读资料和利用资料的能力;(2)培养学生基本的数据库应用能力;(3)培养学生基本的编程逻辑思想;

(4)培养学生通过各种媒体进行自主学习的能力。

二、实训内容

studentmis教务管理系统是用来实现学生学籍的管理、学生成绩的管理、课程的管理、学生选课管理等功能的信息系统。该系统采用oracle 11g为关系型数据库管理系统,该系统主要满足来自3方面的需求,这3方面分别是学生、教务管理人员和系统管理员。

学生:

·注册入学;

·选择每学期学习的课程; ·查询每学期课程考试成绩; 教务管理人员:

·管理学生学籍信息异动; ·管理学生选课信息;

·管理每学期课程考试成绩; 系统管理员: ·管理系统用户; ·管理课程; ·管理部门; ·管理专业; ·管理班级;

作为一个数据库管理员或数据库程序开发人员,需要从以下几个方面完成数据库的管理操作。

(一)数据库对象的管理 1.数据库

数据库实例名称:student。

2.表 创建student数据库中的所有表。添加样本数据到所创建的表中。--==========================--1.创建学生信息表 studentinfo--========================== create table scott.studentinfo(s_id char(15)primary key not null,--学号

--姓名

--性别

s_name varchar2(30)unique not null, s_cardid varchar2(18)not null, s_address char(30)not null, s_gender char(2)not null check(s_gender=男or s_gender=女),--身份证号

c_id char(10)not null references scott.classinfo(c_id),--班级编号

--籍贯

--学籍

--民族编号--出生年月

s_xj varchar2(10)not null, s_birth date not null, s_mz varchar2(6)not null);insert into scott.studentinfo values(1132304131,张**,女,***449,2011031001,江苏省,在籍,to_date(1989-08-20,yyyy-mm-dd),01);insert into scott.studentinfo values(1132304134,赵*,女,***432,2011031001,江苏省,在籍,to_date(1991-10-20,yyyy-mm-dd),01);insert into scott.studentinfo values(1132304124,王**,女,***445,2011031001,江苏省,在籍,to_date(1992-08-20,yyyy-mm-dd),01);insert into scott.studentinfo values(200503100101,苑俊芳,女,***535,2005031001,湖南省,在籍,to_date(1982-05-18,yyyy-mm-dd),01);insert into scott.studentinfo values(200503100104,苑芳,女,***256,2005031001,湖南省,在籍,to_date(1994-05-18,yyyy-mm-dd),01);--==========================--2.创建班级信息表 classinfo--========================== create table scott.classinfo(c_id char(10)primary key not null,);insert into scott.classinfo values(2005031001,软件051,03,0310);insert into scott.classinfo values(2010031001,软件101,03,0310);--班级编号

--班级名称

--专业编号

c_name varchar2(30)unique not null, b_id char(2)not null references scott.bumeninfo(b_id),--部门编号 z_id char(5)not null references scott.zhuanyeinfo(z_id)--==========================--3.创建部门信息表 bumeninfo--========================== create table scott.bumeninfo(b_id char(2)primary key not null,--部门编号

--部门名称

b_name varchar2(30)unique not null, b_tel char(9)not null b_fzr char(10)not null,--部门负责人

--联系电话);insert into scott.bumeninfo values(03,信息工程系,彭勇,2783857);--==========================--4.创建专业信息表 zhuanyeinfo--========================== create table scott.zhuanyeinfo(z_id char(5)primary key not null,--专业编号

--专业名称

z_name varchar2(30)unique not null, z_tel char(9)not null, z_fzr char(10)not null,--专业负责人

--联系电话

--部门编号

z_xz char(10)not null,--学号

b_id char(2)not null references scott.bumeninfo(b_id), z_ksnf char(5)not null);insert into scott.zhuanyeinfo values(0310,软件技术,刘志成,8208290,3,03,2003);insert into scott.zhuanyeinfo values(0311,计算机应用,尚**,8208291,3,03,2004);--开设年份

--==========================--5.创建课程信息表 courseinfo--========================== create table scott.kechenginfo(k_id char(10)primary key not null,--课程编号

--课程名称

--专业编号

k_name varchar2(30)unique not null, z_id char(5)not null references scott.zhuanyeinfo(z_id), k_xf char(10)not null,--学分 k_zks char(10)not null,--总课时--授课形式编号

k_kclx char(10)not null,--课程类型 k_skxs char(10)not null);--==========================--6.创建学生成绩信息表 xchengjiinfo--========================== create table scott.xchengjiinfo(s_id char(15)not null references scott.studentinfo(s_id),--学号篇四:oracle实训总结

1.用户的权利与权限

权利是指执行某种操作和管理的能力,如能否更改系统时间,能否登陆一台计算机,能否关机等。

权限是指某个对象(如:文件夹、文件、打印机)的访问限制,如:是否能读取、写入或删除某个文件夹,权限被附加给特定的对象,设置权限是为组合用户设置访问级别,所以用户权利影响的范围是整个计算机,用户的影响的范围是计算机中操作的某个对象。

2.如何测试网络连通性

点击开始→运行→输入cmd命令

ipconfig 用于查看网络配置

ping 用于测试网络连通性

ping 127.0.0.1 是测试本机网卡是否正常

ping 本机ip 测试本机网络配置

ping 其他ip 测试与其网络连通性

3.简述工作组和域

工作组模式又称对等网络模式,在这种网络中,每台计算机的地位是平等的,没有主次之分,没有特定计算机做服务器并且,每台计算机保存自己的账户信息,在管理是也只能分别管理,不能统一管理,因此对等网络只是用户规模较小的网络

域模式又称c/s(客户机/服务器)模式,这种网络中至少有一台计算机充当域控制服务器的角色,其他计算机充当客户机角色,而整个网络掌握在服务器上,当用户要从客户机等咯与域是,客户机必须加入域并提供正确的雨用户账户,否则不得访问域资源忧郁账户信息统一储存,是管理员可以对网络实施集中管理,域模式的网络适用于计算机较多,安全性较高的网络环境

3.简述什么是活动目录域树之间的关系

活动目录简称ad,是以中共用于组织,管理和定位网络资源的目录,它建立在域的基

础上,由域控制器对网络网络中的资源进行集中控制,域是ad的基本单位和核心但愿是ad的分区单位,ad张至少有一个域域的一下3种计算机,域控制器,成员服务器和工作站,ad是以域为基础,具有伸缩性,以满足网络的需要包含一个或多个域。

4.动态ip的优点:减少网络管理员管理,工作量,提高ip地址使用率,节约ip地址。缺

点:主机获得的ip地址 不确定,提供的网络服务器不适用。

5.适用于dhcp。dhcp客户机法定送客户请求,dhcp 服务器提供网络ip地址;dhcp进

行租用选择dhcp ip租用认可。

6.ftp服务器20.20端口。21用来用来发送发ftp数据,一旦建立会话,端口21的连接始

终保持打开,端口2用来发送和接收ftp数据,只在传输数据石达开,传输完后关闭。

篇五:oracle实验总结

oracle实验总结

近日做了基于oracle的数据库安全、对象——sql数据库,xml数据库的实验,其中遇到很多问题,先总结如下。

1、安装oracle的过程中可以‘选择建立数据库’,也可以选择‘只安装软件’,后者可在安装好软件后,建立数据库,可参考网上的很多安装步骤。

2、oracle的默认用户有sys和system,在命令行或者sql*plus中登陆时,写法如下:

connect sys/123456 as sysdba;其中123456是密码,在创建数据库的时候设置的。

普通用户登录,connect zhangsan/123456;

3、grant select不支持对表中选定的几列授权,只能将整个表的select权限授权出去。所以实验中先建立了基于选课信息表的视图selectiveinfo1,视图中包含成绩列,学号列以及班级列(不包含其他的列),再将对视图selectiveinfo1的select权限授予角色teacher。

4、创建用户的时候,一定要说明该用户对表空间的权限即(quota unlimited on tablespace或者具体限定大小的句子),否则该用户即使被授予了建表权限,也不能建表。

创建用户的时候必须给用户授予create session的权限,这是最基本的权限。

5、不同的用户可以创建相同的表格,例如,teacher用户创建了table1,student用户也创建了table1,且这两个表格式完全相同的,那么其他用户需要用这两个表格时,可以用teacher.table1和student.table1加以区分。系统用户创建的表,和用户自己创建的表,本用户引用是可不加前缀。

6、oracle有自带的密码验证函数,默认情况下是不启用的,可以用下面的语句启用,注意必须以connect sys/123456 as sysdba的身份登陆(其他dba身份的用户可不可以,本人没有试过)才能启用密码函数,启用方式如下

篇3:浅析Oracle事务

一、事务及特性

(一) 事务

事务是用户定义的由一条或多条SQL语句组成的逻辑操作单位, 是数据库应用程序的基本逻辑单位。事务是保证数据库一致性和完整性的机制。一个事务中的SQL语句, 全部执行时, 就是提交事务, 对数据库的修改会永久的保存到数据库;全部取消执行时, 即撤销事务, 回到执行前的数据库状态。

(二) 事务的ACID特性

对一组SQL语句操作构成事务, 数据库操作系统必须确保这些操作的原子性、一致性、隔离性、持久性。

1. 原子性 (Atomicity)

事务的原子性是指事务中包含的所有操作要么全做, 要么不做, 也就是说所有的活动在数据库中要么全部反映, 要么全部不反映, 以保证数据库的一致性。

2. 一致性 (Consistency)

事务的一致性是指数据库在事务操作前和事务处理后, 其中数据必须满足业务的规则约束。事务执行的结果必须是使数据库从一个一致性状态变到另一个一致性状态。

3. 隔离性 (Isolation)

隔离性是指数据库允许多个并发的事务同时对其中的数据进行读写或修改的能力, 隔离性可以防止多个事务的并发执行时, 由于它们的操作命令交叉执行而导致数据的不一致性。

4. 持久性 (durability)

事务的持久性也称永久性, 是指一个事务一旦提交, 它对数据库中数据的改变就应该是永久性的。接下来的其他操作不应该对其执行结果有任何影响。即便是系统在遇到故障的情况下也不会丢失, 这是数据的重要性决定的。

二、事务控制语句

在Oracle数据库中, 没有提供开始事务处理语句, 所有的事务都是隐式开始的, 也就是在Oracle中, 用户不可以显示使用命令来开始一个事务。oracle任务第一条修改数据库的语句, 或者一些要求事务处理的场合都是事务的隐式开始。但是当用户想要终止一个事务处理时, 必须显示使用commit和rollback语句结束。

根据事务ACID属性, Oracle提供了如下的事务控制语句:

(一) Set transaction设置事物属性

set transaction语句可用来设置事物的各种属性。该语句必须放在事务处理的第一个语句。也就是说, 必须在任何insert、update、delete语句以及其他的事务处理。

Set transaction的语句可以让用户对事务的以下属性进行设置:

1. 指定事务的隔离层

2. 规定回滚事务所使用的存储空间

3.命名事务

值得注意的一点是:set transaction只对当前事务有效;事务终止, 事务当前的设置将会失效。

(二) Set constrains设置事物的约束模式

约束模式是指:在事务中修改数据时, 数据库中的约束立即应用于数据, 还是将约束推迟到当前事务结束后应用。

(三)

Commit提交事务对数据库的操作做持久的保存

(四)

Rollback回滚事务取消对数据库所作的任何操作

(五) Savepoint在事务中建立一个存储的点。

当事务处理发生异常而回滚事务时, 可指定事务回滚到某存储点, 然后从该存储点重新执行。

(六) Release savepoint删除存储点

回滚的含义是撤销一个未提交事务中已执行的SQL语句对数据的修改。Oracle使用undo tablespace (或rollback segment) 来存储被修改的数据的原始值。而redo log内则保存了对数据修改操作的记录。

用户可以回滚整个未提交事务。除此之外, 用户还可以部分回滚未提交事务, 即从事务的最末端回滚到事务中任意一个被称为保存点的标记处。

通过本文的分析, 可以看到事务从开始到结束的完整过程, 事务处理技术是数据管理系统的重要组成部分, 如何正确合理的应用以保证数据库的安全性和完整性还需要每个使用者认真的研究。

参考文献

[1]王珊, 萨师煊.数据库系统概论 (第四版) .北京:高等教育出版社, 2006.

[2]《国家人力资源和社会保障部、国家工业和信息化部信息专业技术人才知识更新工程 (“653工程”) 指定教材》丛书编委会.Oracle数据库管理与应用教程.北京:中国电力出版社, 2009.

篇4:oracle数据库迁移

摘 要:本文介绍了Oracle数据库基于Linux系统迁移的研究问题。在数据库领域一直处于领先地位的Oracle数据库以其良好的可移植性、可靠性和高效性,倍受各级用户的推崇和喜爱。随着Oracle数据库的不断更新和发展,其使用用户的群体也在不断的增加,因此对Oracle数据库的存储迁移技术的研究在国内外如雨后春笋般不断发展。

关键词:oracle,数据迁移,跨平台

中图分类号: TP391 文献标识码: A 文章编号: 1673-1069(2016)25-195-2

0 引言

伴随着IT行业的迅速发展,IT系统中数据的安全性,已经是对企业运营产生了重大影响。而数据库的安全迁移也为IT系统的可持续运行和数据安全提供一道保护屏障。而且近年来频繁出现的自然灾害或者突发事件也让越来越多的人们意识到,原有的数据存储方式已经无法满足企业的需要。本文正是从数据库迁移的实际操作中总结整理而成。

1 oracle数据库文件构成

数据库是一种物理的存储结构,它是由多种物理文件组成的,在Oracle数据库系统中分为,核心文件和非核心文件两大类[1]。其中核心文件由数据文件,控制文件,日志文件,参数文件组成,非核心文件由密码文件,告警日志文件,各种跟踪文件组成。

控制文件:控制文件是一个二进制的文件,它描述了数据库当前的物理状态,记录了RMAN备份的元数据。控制文件包含有数据库的名称、数据库的创建信息、表空间的信息、数据文件的状态、日志文件的信息、备份的信息、检查点的信息等。

数据文件:,一个数据库中一定至少有一个数据文件(system01.dbf),如果一个数据库存在多个数据文件,应该分别把它们存放在不同的磁盘上,这样做不仅可以提高数据的存取速度,有利于提高数据库的性能,而且还能防止数据文件同时被损坏,实现高度容灾。

日志文件:数据库日志文件包括归档日志和非归档日志,记录了数据库的所有修改信息,归档日志会在数据库切换日志时,备份历史日志,日志记录的是数据库改变的信息、因此当数据库损坏时可以通过日志文件实现数据库的完全恢复、不完全恢复,而非归档日志不会备份历史日志,只能恢复到数据库最后一次备份时的状态[2]。

临时文件:创建数据库对象的时候指定的是使用表空间,一个表空间至少包含一个数据文件,临时文件是临时表空间对应的数据文件,并不是已用完就被删除的,而是指这个文件存储的对象是临时存在的对象。临时文件主要用于大量的排序的时候,如果不能在数据库的内存中做排序,就会把临时文件作为中转。

参数文件:参数文件是记录数据库系统配置的文件,每次数据库一启动,Oracle就会自动地从参数文件中读取系统参数的设置来配置并启动数据库。如内存的大小分配,此次启动可以打开的进程数和会话数等。

2 Oracle数据库迁移的迁移方案

oracle数据库状态分类:

nomount:此状态可以读取初始化参数文件,启动实例,可以进行数据库的创建。

mount:数据库维护状态,读取控制文件。

open: 打开数据文件,日志文件,是数据库可以对全体用户提供服务了。

数据库物理迁移过程大体可分为以下四个步骤:

第一步:加载初始化文件

oracle启动后,数据库默认会读取一个二进制的初始化文件spfile.ora,可在系统启动时指定初始化文件的路径,如startup pfile="pfilesid.ora" nomount或者startup spfile="spfilesid.ora" nomount。初始化过程可根据系统错误提示内容,用pfile进行编辑处理,然后重新startup就可以了。

第二步:加载控制文件,保证在初始化文件中,控制文件的路径正确

在初始化文件中定义控制文件的位置,在确保控制文件路径正确的情况下,才能对控制文件进行加载,其命令是alter database mount。

第三步:加载数据库,包括重做日志文件

加载控制文件之后,执行命令alter database open对数据库进行开启,整个数据库启动过程完成了。

第四步:启动数据库成功之后,就说明迁移成功,可以观察数据是否丢失,然后启动监听和配置文件等。

3 Oracle数据库迁移具体实践

下面以把数据库从文件系统迁移到ASM磁盘组为例进行演示步骤:

首先,ASM是把多个磁盘组织为一个磁盘组,作为Oracle的逻辑卷管理器,利用ASM技术可以把数据均匀分布在这些磁盘上来解决从文件区到物理磁盘块的映射问题。这种设计除了定位文件区非常快速之外,还在增加或删除磁盘时有所帮助,因为文件区的位置不需要调整[3]。

把数据库从文件系统迁移到ASM磁盘组主要是把数据库的控制文件,数据文件和日志文件分别放在不同的磁盘组上,实现对这些文件的一个冗余放置,还简化了对数据文件的管理。

3.1 迁移数据库

①迁移数据库前先在RMAN下备份数据库,设置系统冗余度,并打开优化器和控制文件的自动备份功能

②创建迁移的控制文件存放的目录

③修改参数文件把控制文件的默认位置修改到ASM磁盘组上,然后用Pfile来生成spfile文件

SQL> create pfile from spfile;

④利用RMAN工具恢复控制文件,将数据库启动到mount状态;加载控制文件,如果出现错误,就说明控制文件所在的路径和参数文件路径不一致,要修改初始化参数,文件中控制文件的参数,然后重新加载。

4 总结与展望

数据库管理技术是现今社会中信息科学与技术的重要组成部分,数据库迁移技术的研究保证了数据安全以及高效的存储[4][5]。在实际操作过程中,Oracle数据库基于Linux系统的迁移过程中会出现各种各样的情况,如果想要安全完整的迁移数据库,一定要先做好备份,然后反复的实验验证,最终才能保证数据库完整安全的迁移。

参 考 文 献

[1] 张敏.数据库安全研究现状与展望[J].中国科学院院刊,2011.03.

[2] 赵钦,周丹.政府办公自动化信息系统数据迁移解决方案[J].广西科学院学报,2008.24.

[3] 段卫国,李俊春.Oracle 数据库数据迁移技术研究[J].信息技术,2015.8.

[4] Kathy Rich.Oracle Data Pump,10g Release 2 (10.2)[M].Oracle Database Utilities, 2005.

篇5:oracle学习心得

oracle分两大块,一块是开发,一块是管理。开发主要是写写存储过程、触发器什么的,还有就是用Oracle的Develop工具做form。有点类似于程序员,需要有较强的逻辑思维和创造能力,个人觉得会比较辛苦,是青春饭J;管理则需要对oracle数据库的原理有深刻的认识,有全局操纵的能力和紧密的思维,责任较大,因为一个小的失误就会down掉整个数据库,相对前者来说,后者更看重经验。

因为数据库管理的责任重大,很少公司愿意请一个刚刚接触oracle的人去管理数据库。对于刚刚毕业的年轻人来说,可以先选择做开发,有一定经验后转型,去做数据库的管理。当然,这个还是要看人个的实际情况来定。

二、学习方法

我的方法很简单,就是:看书、思考、写笔记、做实验、再思考、再写笔记

看完理论的东西,自己静下心来想想,多问自己几个为什么,然后把所学和所想的知识点做个笔记;在想不通或有疑问的时候,就做做实验,想想怎么会这样,同样的,把实验的结果记下来。思考和做实验是为了深入的了解这个知识点。而做笔记的过程,也是理清自己思路的过程。

学习的过程是使一个问题由模糊到清晰,再由清晰到模糊的过程。而每次的改变都代表着你又学到了一个新的知识点。

学习的过程也是从点到线,从线到网,从网到面的过程。当点变成线的时候,你会有总豁然开朗的感觉。当网到面的时候,你就是高手了

很多网友,特别是初学的人,一碰到问题就拿到论坛上来问,在问前,你有没有查过书,自己有没有研究过,有没有搜索一下论坛?这就叫思维惰性,没有钻研的学习态度,不管学什么东西,都不会成功的。

三、oracle的体系

oracle的体系很庞大,要学习它,首先要了解oracle的框架。在这里,简要的讲一下oracle的架构,让初学者对oracle有一个整体的认识。

1、物理结构(由控制文件、数据文件、重做日志文件、参数文件、归档文件、密码文件组成)

控制文件:包含维护和验证数据库完整性的必要信息、例如,控制文件用于识别数据文件和重做日志文件,一个数据库至少需要一个控制文件

数据文件:存储数据的文件

重做日志文件:含对数据库所做的更改记录,这样万一出现故障可以启用数据恢复。一个数据库至少需要两个重做日志文件

参数文件:定义Oracle 例程的特性,例如它包含调整SGA 中一些内存结构大小的参数

归档文件:是重做日志文件的脱机副本,这些副本可能对于从介质失败中进行恢复很必要。

密码文件:认证哪些用户有权限启动和关闭Oracle例程

2、逻辑结构(表空间、段、区、块)表空间:是数据库中的基本逻辑结构,一系列数据文件的集合。段:是对象在数据库中占用的空间

区:是为数据一次性预留的一个较大的存储空间

块:ORACLE最基本的存储单位,在建立数据库的时候指定

3、内存分配(SGA和PGA)

SGA:是用于存储数据库信息的内存区,该信息为数据库进程所共享。它包含Oracle 服务器的数据和控制信息, 它是在Oracle 服务器所驻留的计算机的实际内存中得以分配,如果实际内存不够再往虚拟内存中写。

PGA:包含单个服务器进程或单个后台进程的数据和控制信息,与几个进程共享的SGA 正相反PGA 是只被一个进程使用的区域,PGA 在创建进程时分配在终止进程时回收

4、后台进程(数据写进程、日志写进程、系统监控、进程监控、检查点进程、归档进程、服务进程、用户进程)

数据写进程:负责将更改的数据从数据库缓冲区高速缓存写入数据文件

日志写进程:将重做日志缓冲区中的更改写入在线重做日志文件

系统监控:检查数据库的一致性如有必要还会在数据库打开时启动数据库的恢复进程监控:负责在一个Oracle 进程失败时清理资源

检查点进程:负责在每当缓冲区高速缓存中的更改永久地记录在数据库中时,更新控制文件和数据文件中的数据库状态信息。

归档进程:在每次日志切换时把已满的日志组进行备份或归档

服务进程:用户进程服务。

用户进程:在客户端,负责将用户的SQL 语句传递给服务进程,并从服务器段拿回查询数据。

5、oracle例程:Oracle 例程由SGA 内存结构和用于管理数据库的后台进程组成。例程一次只能打开和使用一个数据库。

6、SCN(System Change Number):系统改变号,一个由系统内部维护的序列号。当系统需要更新的时候自动增加,他是系统中维持数据的一致性和顺序恢复的重要标志。

四、深入学习

管理:可以考OCP证书,对oracle先有一个系统的学习,然后看Oracle Concepts、oracle online document,对oracle的原理会有更深入的了解,同时可以开始进行一些专题的研究如:RMAN、RAS、STATSPACT、DATAGUARD、TUNING、BACKUP&RECOVER等等。

开发:对于想做Oracle开发的,在了解完Oracle基本的体系结构之后,可以重点关注PL/SQL及Oracle的开发工具这一部分。PL/SQL主要是包括怎么写SQL语句,怎么使用Oracle本身的函数,怎么写存储过程、存储函数、触发器等。Oracle的开发工具主要就是Oracle自己的Developer Suite(Oracle Forms Developer and Reports Developer这些),学会如何熟练使用这些工具。

篇6:oracle心得体会

这一部分主要使读者熟悉 APEX 的基本概念、环境和使用。本部分介绍了APEX 主要特性,三个组件(应用程序构建器、SQL 工作室、实用工具)和四类用户。本部分回答了以下问题:什么是 APEX? 用 APEX可以做什么?何时使用 APEX?

(所有贴出来的例子均可在http://apex.oracle.com登录jjl/jjl.soft@gmail.com/jjl.soft查看)什么是APEX? 刚刚来到上海,叫我们研究学习一个APEX的东西,一听很新鲜,画面也比form好看,因为是在浏览器看,当时第一反应就是浏览器,那这个是个什么架构,数据会慢嘛 ?结果一看官方文档发现

架构原来是这样,看来担心似乎多余了.Oracle 推荐的环境配置

查阅其他资料得到一下对于APEX的阐释: ,APEX是一个用于 Oracle 数据库的快速 Web 应用程序开发工具。APEX 结合了个人数据库的品质如生产效率、易用性和灵活性,企业数据库的品质如安全性、集成性、可伸缩性和可用性,以及针对Web构建三个方面的优点。APEX 是一个构建 Web 应用程序的工具,而且应用程序开发环境也基于 Web,非常方便。只需在 apex.oracle.com 注册一个帐户即可试用 APEX。开发、部署或运行 APEX 应用程序无需客户端软件。

APEX 提供三大工具:

应用程序构建器(Application Builder)— 创建数据库驱动的动态 web 应用程序。SQL工作室(SQL Workshop)— 浏览数据库对象,运行 SQL 查询、PL/SQL程序以及图形化的查询构建器。

实用程序(Utilities)— 允许从纯文本和电子表格上载和下载数据。所谓上载数据是指将文本文件或电子表格中的数据导入到数据库中。所谓下载数据是指将数据库中的数据保存到文本文件或电子表格中。

APEX可以做什么?

当然,看了一天文档就在想APEX能做的东西能具体到哪儿,于是就开始做一些demo,最开始做的当然就是APEX很强大的报表,以及单一表的表单,以及一些列表啊.日期控件,还有就是关于对这个APEX的布局.这些都很简单,只需要自己动手做做基本就可以了.比stepbysetp还要简单,(所有贴出来的例子均可在http://apex.oracle.com登录jjl/jjl.soft@gmail.com/jjl.soft查看,此处程序名称是zhengwu_demo1)

接下来就在想 要是我是一个头行结构的表单应该怎么弄,于是就把之前项目上的一个简单的头行的form拿来放在这apex环境下来实现.最后也勉强做出来,存在的问题和form的比较有 : 1,值列表的返回,APEX只支持返回单个值,且select语句必须有且只有2个字段,当然显示字段可以通过’||’拼接.2,没有form那么丰富的触发器,只能实现form的简单基本的功能.(所有贴出来的例子均可在http://apex.oracle.com登录jjl/jjl.soft@gmail.com/jjl.soft查看,此处程序名称是主从_demo1)

做到这里就开始想,这个APEX能否处理复杂的逻辑或者其他的什么跟plsql相关的呢, 于是就又开始着手做了一个模拟plsql界面的sql_window.也就是我们做一个报表,上面开个文本框,我们可以在里面写sql语句,对这个表的数据控制.支持批量执行insert,update,delete语句.(所有贴出来的例子均可在http://apex.oracle.com登录jjl/jjl.soft@gmail.com/jjl.soft查看,此处程序名称是bruce_sqlcommand)

最后发现是可以的,具体就是,写一个包写好,包的内容是关于如何处理这个文本框中文本,然后在点下’执行sql’button的时候,调用下,就ok了.做完感觉貌似APEX还是很强大的.应该能够支持动态sql来生成程序.查阅其他资料还有相关如下 : APEX 是构建数据库数据报表应用程序的有效工具。报表通常与其他报表进行超文本链接,允许用户以web 站点的导航方式浏览数据库数据。报表中的列可轻松链接到其他报表、图表和数据项表单,这都是以声明方式完成的。一个全面的图表引擎允许以图形方式表示 SQL 查询,从而可以更有效地进行数据通信。APEX 还非常适合编辑数据库数据并支持大量声明性表单控件,包括单选按钮组、复选框、选择列表、梭形按钮、文本编辑器和日期选择器。

何时使用APEX?

犹豫在这边具体的开发项 还有具体的开发环境,所以一直推迟着,关于什么时候使用,也是模糊的.查阅其他资料 : 由于其易用性,APEX 旨在快速构建机会性和部门级应用程序。这些应用程序部署在web 上,具有优越性能。以前,部门、原型和小项目依赖桌面数据库提供快速的开发工具,以满足这些规模较小的或部门级应用程序开发的需求。桌面数据库可能非常零散,因为它们在多处保存数据,它们可能非常脆弱或者不适用于敏感信息,而且它们通常不是 web 友好

的。基于浏览器的设计时界面(声明式编程框架)和简单的向导使 APEX 成为多用户桌面数据库应用程序(例如,Microsoft Access)的理想替代品。

SQL Savvy 应用程序开发人员还可以体会到易用性,因为您即使具有很少的 web 体验甚至没有该体验也可以创建数据库应用程序。无需学习脚本语言或复杂的部署框架,只需编写几个查询并从已经构建好的用户界面主题和表单控件中选择即可创建高度专业、安全且可伸缩的应用程序。

使用 APEX,开发是高度声明式的。这意味着很多情况下,您不需要编写任何代码,而由您与向导和属性表进行交互,就可完成程序开发。SQL 语言用于定义报表和图表,因此懂一些 SQL 知识很有帮助。可选择使用 PL/SQL 编写代码段(如果需要过程逻辑)。声明式开发给开发人员带来较少的差异,该一致性使 APEX 应用程序易于维护和管理。

APEX 引擎从存储在数据库表中的数据实时呈现应用程序。当您创建或扩展应用程序时,APEX 创建或修改存储在数据库表中的元数据。当应用程序运行时,APEX 引擎读取元数据并显示应用程序。APEX 完全驻留在 Oracle 数据库中。它仅由表中的数据和大量 PL/SQL 代码组成。APEX 大约由 215 个表和 200 个 PL/SQL 对象(包含 300,000 多行代码)组成。

为了在应用程序内提供有会话状态行为,APEX 以透明的方式在数据库中管理会话状态。应用程序开发人员可以使用简单的替换以及标准的 SQL 绑定变量语法获取和设置会话状态。

APEX 主要特性

以下几部分介绍了 APEX 的主要特性。

报表:使用 APEX,可快速生成显示 SQL 查询的 HTML 报表。还能以 HTML、PDF、RTF(兼容 Microsoft Word)和 XLS(兼容 Microsoft Excel)格式下载和打印报表。

可通过声明方式将各个报表链接在一起提供下钻报表,并使用绑定变量将信息从会话状态传递至报表。报表支持声明式列标题排序、分组控制、汇总以及分页。报表排序和分页可以使用部分页面刷新(PPR)技术来避免刷新整个页面。还可以向报表添加声明式链接,以将报表数据下载为 CSV 或 XML 格式。此外,您可以使用模板对报表外观进行自定义。

表单:使用向导,可以基于表或存储过程轻松创建表单。基于表创建表单时,这些向导将自动管理插入、更新、删除以及缺失更新检测等操作。一旦创建了表单,就可使用直观显示的界面重新排列表单域(称为表单项),以快速获得想要的布局。表单项提供了丰富的显示选项,包括文本域、文本区、单选按钮组、选择列表、复选框、日期选 择器、弹出式值列表等。

图表:还可使用向导创建 HTML、SVG 或 Flash 图表。此外,可创建图表来支持用户从一个图表下钻至另一个图表或报表。可使用部分页面刷新(PPR)技术刷新图表以避免刷新整个页面。也可将图表配置为按指定间隔刷新。此外,还可利用报表列模板向任意报表添加简单的 HTML 条形图。

电子表格上载:使用电子表格向导中的 Create Application 可快速地将电子表格数据直接上载至数据库中。您可以选择将数据存储在新的数据库表中,或将其添加至现有数据库表。一旦上载了数据,就可以快速创建应用程序了。通过这个方便的向导,只需单击几下,就可以实现电子表格与共享应用程序之间的切换。

会话状态管理:APEX 以透明的方式管理数据库中的会话状态(或应用程序上下文)。表单将自动保存会话状态,记住会话中应用程序的上下文。在 SQL 和 PL/SQL 内引用会话状态就像使用绑定变量般简单。例如,请看以下 SELECT 语句:

SELECT * FROM EMP WHERE EMPNO = :P1_ID 在本例中,P1_ID 项中的值在运行查询时自动进行绑定。还可通过给项名称加上前缀 & 符号和后缀句点(.)在静态上下文内引用会话状态,例如:&P1_NAME.对于二维数据集的管理,APEX 提供了一个强健的集合基础架构。最值得一提的是,会话管理是无会话状态的,不会消耗内存。

用户界面主题:APEX 将显示(或用户界面主题)与应用程序逻辑相分离。您可以用一个主题设计应用程序,然后更改为另一个附带主题,或者创建和使用自己的自定义的主题。通过将应用程序逻辑(如查询、流程以及分支)与 HTML 呈现分离,应用程序可在第一时间利用新设计和其他技术,而无需重写应用程序。

流控制和导航:每个 Web 应用程序都需要导航,而每个动态应用程序都需要流控制。APEX 提供了内置的组件,简化了导航控件的开发和维护。导航是通过使用声明式选项卡(一级或二级)、路径式导航项、树控件以及链接列表来进行控制的。而流控制是通过使用可在特定事件以及一定条件下起作用的声明式分支来实现的。由于导航控件的外观通过模板控制,因此可轻松更改导航控件的外观。

所有组件上的条件控制:创建动态 Web 应用程序时,许多应用程序组件和处理都是具有条件的。换言之,您只能基于应用程序上下文、数据、事件或权限显示或处理特定的信息。APEX 使您能够以声明方式指定所有组件的条件性。这使得您可以精确控制用户可在选项卡、按钮、项目、列表项等上看到的内容。

外部接口和可扩展性:尽管 APEX 为构建应用程序提供了强健的声明式环境,但您还是可以选择开发自定义界面或控件。例如,如果一个组件不符合环境需要,您可以使用 PL/SQL 生成自己的自定义 HTML。您还可以使用 Web 服务调用外部服务。APEX 包含的 API 可以方便将电子邮件警报集成到应用程序中。此外,因为 APEX 驻留在 Oracle 数据库中,所以您可以利用数据库本身的功能,如外部表、PL/SQL、数据库链接、网关以及数据库 Java 来扩展应用程序功能。APEX中也允许使用JavaScript、CSS以及AJAX等技术。

安全性:利用 APEX,您可以创建无需用户登录的公共应用程序,或创建要求身份验证的安全应用程序。APEX 提供了许多内置的身份验证模式(包括一次性登录、数据库帐户证书)和一个易于使用的用户管理系统。您还可使用可与任何身份验证服务(包括 Microsoft Active Directory 和 Oracle Applications)交互的自定义模式。

此外,您可自定义身份验证以满足环境要求,并选择性地对整个应用程序、页面或页面组件应用身份验证。最后,您还可利用创新的会话状态保护特性来防止 URL 篡改,利用内置特性来保护应用程序免受 SQL 注入攻击和跨站点脚本编写(XSS)攻击。

SQL Workshop 工具:SQL Workshop 提供的工具支持从 Web 浏览器查看和管理数据库对象。使用 SQL 命令运行 SQL 和 PL/SQL 语句。Query Builder 支持通过拖放表格定义查询,轻松创建对象间的关联。Object Browser 提供了一个易于使用的图形用户界面,可用于查看、创建、浏览以及删除数据库对象。最后,您可使用 SQL 脚本工具创建、编辑、查看、运行以及删除脚本文件。Supporting Objects 实用程序:通过创建一个打包应用程序,您可以简化在另一个 APEX 中导出和安装应用程序所需的步骤。使用 Supporting Objects 实用程序,您可以通过脚本处理应用程序定义,以创建数据库对象、种子数据、图像、层叠样式表和 JavaScript。

打包的应用程序的创建可向应用程序用户提供类似于安装程序的体验,并使在另一个开发、测试甚至是生产实例中导入并安装应用程序的过程自动化。

性能:APEX 可为应用程序开发人员和应用程序用户提供极高级别的性能。因为 APEX 驻留在 Oracle 数据库中,所以其对网络流量影响甚小。此外,Application Builder 还有许多监视报表,使你能够识别并调整应用程序性能。

打包的应用程序:打包的应用程序是一个可以使用和自定义的功能齐全的应用程序。打包的应用程序不仅阐释 APEX 应用程序的有趣示例,还提供立即有用的战术性业务应用程序。打包的应用程序可立即运行 — 它们提供数据库模式、种子数据、图像、应用程序定义以及您所需的一切,安装只需使用向导即可完成。

托管开发:APEX 支持在单个数据库中托管大量用户。用户在一个称为工作区的专用工作区域中工作。这种灵活的体系结构使单个数据库实例可以管理数千个应用程序。您可确定供应(或创建)工作区的过程的工作方式。在请求供应模式下,用户在登录页面上使用链接来请求一个工作区。工作区请求批准后,用户会收到一封包含链接的电子邮件,用户必须单击链接来验证其电子邮件地址的有效性。然后他们收到一封具有其登录凭据的电子邮件。

APEX 工作区和用户类型

应用APEX来开发应用程序的准备工作可按如下步骤进行:

1)安装Oracle数据库

2)安装 APEX,参见附录1 3)登录APEX管理界面,创建工作区,创建工作区用户 4)登录APEX工作区,开发应用程序

现在假设Oracle数据库和Oracle APEX 已经安装,我们来看一下如何创建工作区及工作区用户。

那么,什么是工作区(workspace)?简单的说,工作区就是用户用来开发应用程序的地方。工作区是一个虚拟的私有数据库,它能使多个用户同时使用相同的APEX实例,而能保持其数据库对象和应用程序为私有,互不影响,互相看不到对方的工作从而也不会影响互相的工作。每一个工作区都有一个唯一的ID和名称。

在一个APEX实例中,可以只创建一个工作区,由所有开发人员共享使用。也可以创建多个工作区,在每个工作区内完成指定项目,并且只允许项目开发人员访问其项目所在的工作区。项目开发人员要使用工作区,必须先要有APEX用户帐号,并且使用此用户帐号登录到工作区。

APEX用户帐号分为4种不同的类型:

 APEX管理员:这是超级用户,负责管理整个的APEX实例,其中既包括服务的管理,也包括工作区的管理。在安装APEX时,默认创建了一个这样的用户,名为admin,口令是安装APEX时设置的。 APEX开发人员:这是可以创建和修改应用程序的用户。开发人员属于某个工作区。一个工作区可以有多个开发人员。 APEX工作区管理员:当一个开发人员被授予对他所属的工作区的管理权限时,他就成为了工作区管理员。工作区管理员可以在他的工作区中添加新的用户、创建新的用户组和查看使用报告。 APEX最终用户:这是没有开发和管理权限的用户,只有运行应用程序的基本权限。要注意区分APEX用户和Oracle数据库用户。这是完全不同的概念。Oracle数据库用户经适当授权(用GRANT语句)后,可以登录数据库,创建、使用各种数据库对象。但Oracle数据库不能够登录APEX环境。APEX用户也无权直接登录数据库(例如,使用CONNECT命令)。但是,APEX开发人员可以在自己的工作区内通过SQL工作室访问和使用工作区关联模式(schema,有的书上也称为方案)内的数据库对象。

首先,登录APEX管理界面。在浏览器中输入URL:http://127.0.0.1:8080/apex/apex_admin(参见附录11.4确认安装成功)。此时,会显示登录画面:

使用admin用户登录APEX,可见下图:

点击“管理工作区”,可见下图:

工作区是多个开发者创建应用程序的共享工作区域。每个工作区都具有作为一个或多个数据库方案进行语法分析的权限。使用上图中的“创建工作区”、“删除工作区”链接,可进行工作区的创建和删除。一个工作区可以关联到一个或多个数据库方案,使用上图中的“管理工作区到方案的分配” 链接可以添加更多方案到工作区。使用上图中的“管理开发者和用户” 链接可以创建、删除APEX用户,也可重设APEX用户口令,解锁APEX用户帐号。

以上操作都是基于向导来完成的,或直接通过页面操作完成,比较简单,在这里就不再赘述,由读者自己来探索完成。

安装、运行演示程序

由于开发没有具体的环境,所以项目经理叫我们研究如何把apex安装到一个新环境,但是由于没有测试环境,所以这个任务我暂时就是在自己的虚拟机(培训的时候用的syfdemo.ml.com),最后安装失败了,但是我觉得跟我的虚拟机有关.真想有个环境在弄一把,目前这个可怜的虚拟机被弄的面目全非了

安装心得如下:总共我安装了3次,前2次非常失败,后面一次算好的,在第三次的基础上又重新配置了5,6次rest data service.最后都是没有成功,总结了下,前2次失败的原因是因为 第一,原先自带的apex删掉比较好

第二,安装apex的时候,还是强烈建议自己定义表空间

第三,在我的虚拟机安装jdk(6.0以上,原本自带的应该是4.0)之后,应该要删掉原来的版本.否则java –version不对,而且最后执行jar也会报错

---参考文档http://blog.sina.com.cn/s/blog_828efd6501019rl3.html---Application Express Installation Guide(e21673)(较详细)---APEX_EBS_Extension_White_Paper_-_Revision_1b(概括性的)<都需要先切到apex所在目录,因为这些脚本都在那里,如果默认装了3.0,需要找到目录,或者解压一个其他版本运行相关脚本> 1,10g自带3.0的apex, remove掉 @apxremov.sql

2,安装: CONNECT SYS/SYS_password as SYSDBA @apexins.sql SYSAUX SYSAUX TEMP /i/ <此处强烈建议自己建立相应的表空间,否则可能会出现如下错误> //error WWV_FLOW_API.ERR_PAGE_CREATE ORA-01400: cannot insert NULL into(“APEX_040200”.“WWV_FLOW_STEPS”.“SECURITY_GROUP_ID”)declare * ERROR at line 1: ORA-02291: integrity constraint(APEX_040200.WWV_FLOW_PLUG_TO_PAGE_FK)violated-parent key not found ORA-06512: at “APEX_040200.WWV_FLOW_API”, line 9434 ORA-06512: at line 11

3,修改admin密码(apex)@apxchpwd.sql(有复杂规则)4,此处应该有restartProcess(没有做出来)

5,配置RESTful Services@apex_rest_config.sql(该命令让你配置APEX_LISTENER和APEX_REST_PUBLIC_USER的密码)可能会报错<跟之前第二步有关> //ERROR at line 1: ORA-01400: cannot insert NULL into(“APEX_040200”.“WWV_FLOW_FND_USER_GROUPS”.“ID”)ORA-06512: at “APEX_040200.WWV_FLOW_LISTENER”, line 382 ORA-06512: at “APEX_040200.WWV_FLOW_LISTENER”, line 457 ORA-06512: at line 3 //

6,解锁更改APEX_PUBLIC_USER的密码

ALTER USER APEX_PUBLIC_USER ACCOUNT UNLOCK ALTER USER APEX_PUBLIC_USER IDENTIFIED BY SYS_bruce1

should be 6.5 安装jdk.并设置路径

7,安装apex listener

java –jar apex.war(具体原因是因为漏掉一步,我们需要在对应的服务器安装6.0以上的jdk,并设置路径否则报错如下)// Exception in thread “main” java.lang.NoClassDefFoundError: 篓Cjar

at gnu.gcj.runtime.FirstThread.run()(/usr/lib/libgcj.so.5.0.0)

at _Jv_ThreadRun(java.lang.Thread)(/usr/lib/libgcj.so.5.0.0)

at _Jv_RunMain(java.lang.Class, byte const, int, byte const, boolean)(/usr/lib/libgcj.so.5.0.0)

at __gcj_personality_v0(/home/oracle/java.version=1.4.2)

at __libc_start_main(/lib/tls/libc-2.3.4.so)

at _Jv_RegisterClasses(/home/oracle/java.version=1.4.2)// 8按照官方文档应该如下: 9,Enable Network Services in Oracle Database 11g ■

我应该是坐到这里了

最后出现了GLASSFISh SERVERok的画面

但是就是另外一个需要配置

另外一个我参照oracle官方文档试了N多次 最后还是一个效果…不得其解(关于好多unix的都不是很懂,看来需要加强学习,等经理安装好了,一定要问问,how,why)

10,Security Considerations ■

11,About Running Oracle Application Express in Other Languages ■

12,About Managing JOB_QUEUE_PROCESSES ■

本文来自 360文秘网(www.360wenmi.com),转载请保留网址和出处

【oracle心得体会】相关文章:

oracle的入门心得05-24

ORACLE认证基础:ORACLE系统概述05-08

Oracle经验05-08

oracle常用语句09-20

oracle培训记录04-23

oracle语法大全04-30

oracle相关语法06-20

oracle常用笔记07-16

Oracle技术题09-08

ORACLE存储过程07-15

上一篇:父母小学作文下一篇:立足本职务实创新