oracle 存储图片的存储过程[转]
C:\>sqlplus /nolog
SQL*Plus: Release 9.2.0.1.0 - Production on 星期三 1月 19 14:46:21 2005
Copyright (c) 1982, 2002, Oracle Corporation. All rights reserved.
SQL> connect chanet/chanet@oradb;
已连接。
SQL> CREATE TABLE IMAGE_LOB (T_ID VARCHAR2 (5) NOT NULL,T_IMAGE BLOB NOT NULL);
表已创建。
SQL> CREATE OR REPLACE DIRECTORY IMAGES AS 'C:\Oracle'; --图片目录
目录已创建。
SQL> CREATE OR REPLACE PROCEDURE IMG_INSERT (TID VARCHAR2,FILENAME VARCHAR2) AS
2 F_LOB BFILE;
3 B_LOB BLOB;
4 BEGIN
5 INSERT INTO IMAGE_LOB (T_ID, T_IMAGE)
6 VALUES (TID,EMPTY_BLOB ()) RETURN T_IMAGE INTO B_LOB;
7 F_LOB:= BFILENAME ('IMAGES', FILENAME);
8 DBMS_LOB.FILEOPEN (F_LOB, DBMS_LOB.FILE_READONLY);
9 DBMS_LOB.LOADfromFILE (B_LOB, F_LOB, DBMS_LOB.GETLENGTH (F_LOB));
11 DBMS_LOB.FILECLOSE (F_LOB);
12 COMMIT;
13 END;
14 /
过程已创建。
SQL>-- 示例
SQL> EXEC IMG_INSERT('1','f_TEST.jpg');
PL/SQL 过程已成功完成。
相关文档:
以system登录进去之后,执行下面的命令:
SQL> alter user scott account unlock; (完成解锁的操作)
用户已更改。
SQL> alter user scott identified by tiger; (重新给scott这个用户设定密码)
用户已更改。
SQL> conn scott/tiger
已连接。 ......
方法一:最简单的方法(需建库)
备份:
直接拷贝oracle目录下的admin、oradata两个文件夹,ora92目录下database,到其他存储实现备份。
恢复:
1.创建一个和原来一样的数据库。(安装路径和数据库名必须和原来一致)
2.用管理员连入数据库后停止数据库。
3.把安装目录下的admin和oradata复制过去覆盖(如果存在 ......
1.2 管理Jobs
1.2.1 启用Jobs
前面创建JOB时,由于未显式的指定ENABLED参数,因此即使指定了START_DATE,不过默认情况下JOB不会自动执行。对于这种情况,DBMS_SCHEDULER包中提供了一个过程ENABLE,可以用来修改JOB的启用状态,调用方式非常简单,例如:
SQL> exec dbms_scheduler.enable(¨INSERT_TEST_TBL& ......
创建job
job是什么呢? 简单的说就是计划(schedule)加上任务说明. 另外还有一些必须的参数.
这里提到的"任务"可以是数据库内部的存储过程,匿名的PL/SQL块,也可以是操作系统级别的脚本.
可以有两种方式来定义"计划":
1) 使用DBMS_SCHDULER.CREATE_SCHEDULE 定义一个计划;
2) 调用DBMS_SCHDULER.CREATE_JOBE过程直接指定 ......
带UNION ALL物化视图的快速刷新
1. 定义的查询的union all操作必须在最顶等级(查询重写后)
2. 物化视图日志指定rowid和including new values
3. 如果表设涉及到一个大量的insert或者直接路径加载,deletes,update,指定sequencea
4. from列表 ......