扫二维码与项目经理沟通
我们在微信上24小时期待你的声音
解答本文疑问/技术咨询/运营咨询/技术建议/互联网交流
oracle
创新互联2013年开创至今,先为玛曲等服务建站,玛曲等地企业,进行企业商务咨询服务。为玛曲企业网站制作PC+手机+微官网三网同步一站式服务解决您的所有建站问题。
存储过程的基本语法
1.基本结构
CREATE
OR
REPLACE
PROCEDURE
存储过程名字
(
参数1
IN
NUMBER,
参数2
IN
NUMBER
)
IS
变量1
INTEGER
:=0;
变量2
DATE;
BEGIN
END
存储过程名字
2.SELECT
INTO
STATEMENT
将select查询的结果存入到变量中,可以同时将多个列存储多个变量中,必须有一条
记录,否则抛出异常(如果没有记录抛出NO_DATA_FOUND)
例子:
BEGIN
SELECT
col1,col2
into
变量1,变量2
FROM
typestruct
where
xxx;
EXCEPTION
WHEN
NO_DATA_FOUND
THEN
xxxx;
END;
...
3.IF
判断
IF
V_TEST=1
THEN
BEGIN
do
something
END;
END
IF;
4.while
循环
WHILE
V_TEST=1
LOOP
BEGIN
XXXX
END;
END
LOOP;
5.变量赋值
V_TEST
:=
123;
6.用for
in
使用cursor
...
IS
CURSOR
cur
IS
SELECT
*
FROM
xxx;
BEGIN
FOR
cur_result
in
cur
LOOP
BEGIN
V_SUM
:=cur_result.列名1+cur_result.列名2
END;
END
LOOP;
END;
7.带参数的cursor
CURSOR
C_USER(C_ID
NUMBER)
IS
SELECT
NAME
FROM
USER
WHERE
TYPEID=C_ID;
OPEN
C_USER(变量值);
LOOP
FETCH
C_USER
INTO
V_NAME;
EXIT
FETCH
C_USER%NOTFOUND;
do
something
END
LOOP;
CLOSE
C_USER;
8.用pl/sql
developer
debug
连接数据库后建立一个Test
WINDOW
在窗口输入调用SP的代码,F9开始debug,CTRL+N单步调试
Oracle数据库的三种标准的备份方法:
1.导出/导入(EXP/IMP)。
2.热备份。
3.冷备份。
注释:导出备件是一种逻辑备份,冷备份和热备份是物理备份。
一、导出/导入(Export/Import)
利用Export可将数据从数据库中提取出来,利用Import则可将提取出来的数据送回到Oracle数据库中去。
1、简单导出数据(Export)和导入数据(Import)
Oracle支持三种方式类型的输出:
(1)、表方式(T方式),将指定表的数据导出。
(2)、用户方式(U方式),将指定用户的所有对象及数据导出。
(3)、全库方式(Full方式),瘵数据库中的所有对象导出。
数据导入(Import)的过程是数据导出(Export)的逆过程,分别将数据文件导入数据库和将数据库数据导出到数据文件。
2、增量导出/导入
增量导出是一种常用的数据备份方法,它只能对整个数据库来实施,并且必须作为SYSTEM来导出。在进行此种导出时,系统不要求回答任何问题。导出文件名缺省为export.dmp,如果不希望自己的输出文件定名为export.dmp,必须在命令行中指出要用的文件名。
增量导出包括三种类型:
(1)、“完全”增量导出(Complete)
即备份三个数据库,比如:
expsystem/managerinctype=completefile=040731.dmp
(2)、“增量型”增量导出
备份上一次备份后改变的数据,比如:
expsystem/managerinctype=incrementalfile=040731.dmp
(3)、“累积型”增量导出
累计型导出方式是导出自上次“完全”导出之后数据库中变化了的信息。比如:
expsystem/managerinctype=cumulativefile=040731.dmp
数据库管理员可以排定一个备份日程表,用数据导出的三个不同方式合理高效的完成。
比如数据库的被封任务可以做如下安排:
星期一:完全备份(A)
星期二:增量导出(B)
星期三:增量导出(C)
星期四:增量导出(D)
星期五:累计导出(E)
星期六:增量导出(F)
星期日:增量导出(G)
如果在星期日,数据库遭到意外破坏,数据库管理员可按一下步骤来回复数据库:
第一步:用命令CREATEDATABASE重新生成数据库结构;
第二步:创建一个足够大的附加回滚。
第三步:完全增量导入A:
impsystem/managerinctype=RESTOREFULL=yFILE=A
第四步:累计增量导入E:
impsystem/managerinctype=RESTOREFULL=YFILE=E
第五步:最近增量导入F:
impsystem/managerinctype=RESTOREFULL=YFILE=F
二、冷备份
冷备份发生在数据库已经正常关闭的情况下,当正常关闭时会提供给我们一个完整的数据库。冷备份时将关键性文件拷贝到另外的位置的一种说法。对于备份Oracle信息而言,冷备份时最快和最安全的方法。冷备份的优点是:
1、是非常快速的备份方法(只需拷文件)
2、容易归档(简单拷贝即可)
3、容易恢复到某个时间点上(只需将文件再拷贝回去)
4、能与归档方法相结合,做数据库“最佳状态”的恢复。
5、低度维护,高度安全。
但冷备份也有如下不足:
1、单独使用时,只能提供到“某一时间点上”的恢复。
2、再实施备份的全过程中,数据库必须要作备份而不能作其他工作。也就是说,在冷备份过程中,数据库必须是关闭状态。
3、若磁盘空间有限,只能拷贝到磁带等其他外部存储设备上,速度会很慢。
4、不能按表或按用户恢复。
如果可能的话(主要看效率),应将信息备份到磁盘上,然后启动数据库(使用户可以工作)并将备份的信息拷贝到磁带上(拷贝的同时,数据库也可以工作)。冷备份中必须拷贝的文件包括:
1、所有数据文件
2、所有控制文件
3、所有联机REDOLOG文件
4、Init.ora文件(可选)
值得注意的使冷备份必须在数据库关闭的情况下进行,当数据库处于打开状态时,执行数据库文件系统备份是无效的。
下面是作冷备份的完整例子。
(1)关闭数据库
sqlplus/nolog
sqlconnect/assysdba
sqlshutdownnormal;
(2)用拷贝命令备份全部的时间文件、重做日志文件、控制文件、初始化参数文件
sqlcpfilebackupdirectory
(3)重启Oracle数据库
sqlstartup
三、热备份
热备份是在数据库运行的情况下,采用archivelogmode方式备份数据库的方法。所以,如果你有昨天夜里的一个冷备份而且又有今天的热备份文件,在发生问题时,就可以利用这些资料恢复更多的信息。热备份要求数据库在Archivelog方式下操作,并需要大量的档案空间。一旦数据库运行在archivelog状态下,就可以做备份了。热备份的命令文件由三部分组成:
1.数据文件一个表空间一个表空间的备份。
(1)设置表空间为备份状态
(2)备份表空间的数据文件
(3)回复表空间为正常状态
2.备份归档log文件
(1)临时停止归档进程
(2)log下那些在archiveredelog目标目录中的文件
(3)重新启动archive进程
(4)备份归档的redolog文件
3.用alterdatabasebachupcontrolfile命令来备份控制文件
热备份的优点是:
1.可在表空间或数据库文件级备份,备份的时间短。
2.备份时数据库仍可使用。
3.可达到秒级恢复(恢复到某一时间点上)。
4.可对几乎所有数据库实体做恢复
5.恢复是快速的,在大多数情况下爱数据库仍工作时恢复。
热备份的不足之处:
1.不能出错,否则后果不堪设想。
2.假如热备份不成功,所得结果则不能用于时间点的恢复。
3.因为难于维护,所以需要特别仔细小心,不允许在操作时半途而废。
关于Oracle数据库的备份方式就为大家讲解到这里,以后大家需要进行数据库备份工作时可以参照上文中讲解的,从上文中任选一种,就可以完成Oracle数据库的备份,希望上文中涉及到的内容对大家能够有所帮助。
oracle中执行了insert、update、delete这三个DML语句后,结果在未提交前实际上是保存在undo空间内,只有提交之后,才会真正写入到表中。所以会发生你的问题。在未做提交前,其他人是无法select到你处理的数据的,看到的是未处理前的数据。在一个用户下update了表,但没有commit的时候, 用另一个用户登录查看该表应该是没有修改前的 注意上面写的,用另一个用户登录 估计你是update后,直接又运行select了吧 在同一个窗口,运行的sql是属于同一个事务的,所以虽然没有提交,但是看见了也是改后的数据。
Oracle公司是全球最大的信息管理软件及服务供应商,成立于1977年,总部位于美国加州 Redwood shore。2000财年(99年6月到2000年5月)营业额达101亿美元,再创Oracle公司销售额历史新高,比去年增长了13亿美元,盈利增长61%,达到21亿美元。Oracle公司现有员工超过三万六千人,服务遍及全球145个国家。Oracle公司拥有世界上唯一一个全面集成的电子商务套件Oracle Applications R11i,它能够自动化企业经营管理过程中的各个方面,深受用户的青睐,促使Oracle应用软件在2000财年第四季度的销售额达4.47亿美元,与SAP公司的同期应用软件销售额3.52亿美元相比,多出近1亿美元,这一事实表明,Oracle已经是世界最大的应用软件供应商。
Oracle电子商务套件涵盖了企业经营管理过程中的方方面面,虽然它在不同的方面分别面对不同的竞争对手,而Oracle电子商务解决方案的核心优势就在于它的集成性和完整性,用户完全可以从Oracle公司获得任何所需要的应用功能,更重要的是,它们具有一致的基于Internet技术的应用体系结构,而如果用户想从其它厂商处获得Oracle电子商务所提供的完整功能,不仅需要从多家厂商分别购买不同的应用,而且需要另请咨询公司把这些不同的应用装配起来,还必须确保它们能够协同地工作。
先进的产品和高效率的企业运作,是Oracle公司利润得以继续增长的重要原因,一年前,Oracle公司确定了通过采用自身的Internet电子商务解决方案,实现每年节省10亿美元企业日常运作费用的目标,这一数据相当于将年度利润率提高10%。
sqlplus 中直接敲入存储过程代码(create or replace procedure ...), / 结束,\x0d\x0a如果代码没有错误,该过程就被保存到数据库中。 \x0d\x0a可以用 exec 过程名 运行。\x0d\x0a\x0d\x0a如果是plsql developer之类的工具,那更简单,编辑完存储过程后,有运行按钮,点击即可。
先确认oracle服务器上oracle如下截图中标红的相关的服务是否已经正常启动。
请点击输入图片描述
要断开数据库的所有连接,如果数据库中有正在连接客户端,备份的时候可能会出现异常,比如PLSQL的连接先退出一下。
请点击输入图片描述
在开始菜单中输入“cmd”命令后回车,打开dos命令窗口,如下截图1和2所示。
请点击输入图片描述
请点击输入图片描述
在cmd窗口中,输入以下命令:
exp 用户名/密码@SID file=d:\xx.dmp owner=用户名,按下回车键,界面如下截图所示。
请点击输入图片描述
导出的时间是根据数据库的大小决定的,如果数据库中表比较多,数据量比较大速度就会比较慢,请耐心等待。当数据完成导出之后,cmd窗口中会出现如下图所示的提示语,这就表示已经完成了数据库备份导出的动作。
请点击输入图片描述
这时候在计算机中找到第四步中设定的文件保存路径,如下截图,你会发现多了一个dmp的文件,这个文件就是我们需要的备份文件了。
请点击输入图片描述
可以在控制面板的管理工具中,找到任务计划程序,设置一个定时任务,每天执行一遍exp 用户名/密码@SID file=d:\xx.dmp owner=用户名这个命令,这样就能实现数据库数据的定时备份了。
请点击输入图片描述
请点击输入图片描述
1、首先先确认oracle服务器上oracle中标红的相关的服务是否已经正常启动。
2、然后要把PLSQL关闭,让连接先退出一下,确保断开数据库的所有连接,如果数据库中有正在连接客户端,备份的时候可能会出现异常。
3、接着打开cmd命令提示符窗口,输入备份数据库的命令,xp命令的后面跟用户名和密码,file是备份的路径,owner则是数据库的用户名,按下回车键等待备份。
4、耐心等待。当数据完成导出之后,cmd窗口中会出现的提示语,这就表示已经完成了数据库备份导出的动作。
5、这时候在计算机中找到第四步中设定的文件保存路径,如下截图,你会发现多了一个dmp的文件,这个文件就是我们需要的备份文件了。
我们在微信上24小时期待你的声音
解答本文疑问/技术咨询/运营咨询/技术建议/互联网交流