Oracle对目录文件(directory)的读写操作
Create directory让我们可以在Oracle数据库中灵活的对文件进行读写操作,极大的提高了Oracle的易用性和可扩展性。
其语法为:
create or replace directory exp_dir as '/tmp';
目录创建以后,就可以把读写权限授予特定用户,例如:
grant read, write on directory exp_dir to eygle;
此时用户eygle就拥有了对该目录的读写权限。
例如:
当用SCOTT进行目录创建的时候,首先应该赋给SCOTT创建目录的权限,如果没有则会报一下错误
SQL> create or replace directory MY_DIR as 'd:\test';
create or replace directory MY_DIR as 'd:\test'
ORA-01031: 权限不足
SQL> GRANT CREATE ANY DIRECTORY TO scott;--授权给SCOTT用户创建目录权限
Grant succeeded
SQL>create or replace directory MY_DIR as 'd:\test';--创建了一个目录名为'MY_DIR'的目录,他的路径是'd:\test'
Directory created.
SQL>select * from all_directories;--查看创建的目录
OWNER DIRECTORY_NAME DIRECTORY_PATH
SYS MY_DIR d:\test
SQL> drop directory my_dir;--删除目录
Directory dropped
写入文件:
SQL> DECLARE
2 filehandle utl_file.file_type;
3 begin
4 filehandle := utl_file.fopen('MY_DIR','test.txt','w');
5 utl_file.put_line(filehandle,'test 1 write one.');
6 utl_file.put_line(filehandle,'你好!');
7 utl_file.fclose(fil
相关文档:
完全干掉Oracle死锁进程
1.查哪个过程被锁:
查V$DB_OBJECT_CACHE视图:SELECT * from V$DB_OBJECT_CACHE WHERE OWNER='过程的所属用户' AND CLOCKS!='0';
2. 查是哪一个SID,通过SID可知道是哪个SESSION:
查V$ACCESS视图:SELECT * from V$ACCESS WHERE OWNER='过程的所属用户' AND NAME='刚才查到的过程名';
3. 查出SI ......
手头正在进行一个项目,需要全文检索,经过同事仔细搜索发现:oracle提供oracle text的全文检索功能。
oracle text的简单应用经同事测试结果正常,按照项目要求(项目预定方案word文档存入数据库(blob类型))使用oracle text查询结果确是为空,同事研究到此中断。
  ......
最近工作稍微比较空闲,便把使用DBCA 创建数据库时的输出的脚本拿来研究研究,并参照脚本文件,手动实现一个数据库的创建过程。首先使用DBCA工具创建一份建库脚本,整个脚本文件包含如下文件,
感觉应该是从BAT文件开始入手,打开BAT文件查看内容如下:
mkdir f:\oracle\product\10.2.0\admin\test\adump
mkdir f:\oracl ......
在SQL语句优化过程中,经常会用到hint,
以下是在SQL优化过程中常见Oracle中"HINT"的30个用法1. /*+ALL_ROWS*/
表明对语句块选择基于开销的优化方法,并获得最佳吞吐量,使资源消耗最小化.
例如:
SELECT /*+ALL+_ROWS*/ EMP_NO,EMP_NAM,DAT_IN from BSEMPMS WHERE EMP_NO='SCOTT';
2. /*+FIRST_ROWS*/
表明对语句块选择 ......
ADO 使用 ORACLE provider FOR OLE DB 驱动时
调用存储过程需要返回游标时,在连接字符串中增加
PLSQLRSet=1 参数。
存储过程中的游标不需要付初始值
如:
sp1: TADOStoredProc;
sp1.Close;
sp1.ProcedureName := 'pkg_ScanList_By_JobNo.sp_GetScanList';& ......