oracle 系统权限表中函数调用系统包没权限

Oracle给存储增加调试权限 - IT男的地盘 - ITeye技术网站
博客分类:
给Function增加调试权限
GRANT debug any procedure, debug connect session TO 用户;
GRANT debug any function, debug connect session TO 用户;
grant debug connect session to&& 用户
ALTER FUNCTION DAY COMPILE DEBUG
去除函数DAY的调试信息,执行ALTER FUNCTION DAY COMPILE。
上面两条就是在PLSQL中点右键添加或者去除调试信息
查看某对象是否处于调试状态:
SELECT debuginfo
& FROM SYS.ALL_PROBE_OBJECTS PO
WHERE PO.OWNER = ' 用户'
&& AND PO.OBJECT_NAME = 'FN_T_TEST'
&& AND PO.OBJECT_TYPE = 'FUNCTION';
浏览: 115618 次
来自: 北京
Sorry,实际计算和的次数为9
实际计算和的次数为7
* @author Kaqike
傲世凡尘 写道rensanning 写道最好是在${tomca ...
rensanning 写道最好是在${tomcat}/bin/ ...我的oracle笔记三(系统函数和系统包使用方面)
我的图书馆
我的oracle笔记三(系统函数和系统包使用方面)
1.十进制和十六进制转换(oracle 8i以后)select to_char(125,'XXXXX') from dual-----------&7Dselect to_char(125,'xxxxx') from dual-----------&7d
select to_number('7D','XXXXX') from dual-----------125
2. ORACLE产生随机函数DBMS_RANDOM.RANDOM
3、调度程序& DBMS_JOB&& &&& broken&&&&&& 中止一个任务调度&&& change&&&&&& 修改任务的属性&&& internal&&&& 改变间隔&&& submit&&&&&& 任务发送到任务队列中去&&& next_date&&& 改变任务的运行时间&&& remove&&&&&& 删除一个任务&&& run&&&&&&&&& 立即执行一个任务&&& submit&&&&&& 提交一个任务&&& user_export& 任务说明&&& what&&&&&&&& 改变任务运行的程序查询 && select * from user_&& 建立一存储过程&& create or replace procedure log_proc& as &&&& begin&&&&& insert into test(aa) values(sysdate);&&&&&&&&&&&& 提交一个任务&&&& declare &&&&&& job_num&&&&& begin&&&&&& dbms_job.submit(job_num,'log_',sysdate,sysdate+5/(24*60*60),false);&&&&&& dbms_output.put_line('Job numer='||to_char(job_num));&&&&&&&& &1& 上面程序从当前开始,间隔5秒执行一次。&&&& &2& 如果每天几点执行,可以写为(比如从开始执行,每天7点执行)&&&&&&&&&&&&&&&&&&&&& next_date =& to_date('13-09-:00', 'dd-mm-yyyy hh24:mi:ss'),&&&&&&&&&&&&&&&&&&&&& interval =& 'trunc(sysdate)+(7+24)/24')&&&&&&& 3& 如果是每个月几号开始执行。比如每月2号21点执行。&&&&&&& &add_months(trunc(sysdate,'MONTH'),1) + 2-1 + 21/24&&&& &&&& 移走任务&&&& begin&&&&&& dbms_job.remove(1);&&&&&&& 中止任务&&&&& begin&&&&&&& dbms_job.broken(1,true);&&&&&&&& 查询正在执行的job&& &select * from dba_jobs_running && &如果运行比较慢,加&& &select /*+ rule */* from dba_jobs_running4.UTL_FILE包&在PL/SQL 3.3以上的版本中,UTL_FILE包允许用户通过PL/SQL读写操作系统文件。如下:
DECALRE FILE_HANDLE UTL_FILE.FILE_TYPE; BEGIN FILE_HANDLE:=UTL_FILE.FOPEN('C:\','TEST.TXT','A'); UTL_FILE.PUT_LINE(FILE_HANDLE,'HELLO,IT iS A TEST TXT FILE'); UTL_FILE.FCLOSE(FILE_HANDLE); END;
比如:怎么样在Oracle中写操作系统文件,如写日志可以利用utl_file包,但是,在此之前,要注意设置好Utl_file_dir初始化参数/***************************************************parameter:textContext in varchar2 日志内容desc: ·写日志,把内容记到服务器指定目录下·必须配置Utl_file_dir初始化参数,并保证日志路径与Utl_file_dir路径一致或者是其中一个****************************************************/ CREATE OR REPLACE PROCEDURE sp_Write_log(text_context VARCHAR2)ISfile_handle utl_file.file_Write_content VARCHAR2(1024);Write_file_name VARCHAR2(50);BEGIN--open filewrite_file_name := 'db_alert.log';file_handle := utl_file.fopen('/u01/logs',write_file_name,'a');write_content := to_char(SYSDATE,'yyyy-mm-dd hh24:mi:ss')||'||'||text_--write fileIF utl_file.is_open(file_handle) THENutl_file.put_line(file_handle,write_content);END IF;--close fileutl_file.fclose(file_handle);EXCEPTIONWHEN OTHERS THENBEGINIF utl_file.is_open(file_handle) THENutl_file.fclose(file_handle);END IF;EXCEPTIONWHEN OTHERS THENNULL;END;END sp_Write_
5.SYS_CONTEXT的详细用法selectSYS_CONTEXT('USERENV','TERMINAL') terminal,SYS_CONTEXT('USERENV','LANGUAGE') language,SYS_CONTEXT('USERENV','SESSIONID') sessionid,SYS_CONTEXT('USERENV','INSTANCE') instance,SYS_CONTEXT('USERENV','ENTRYID') entryid,SYS_CONTEXT('USERENV','ISDBA') isdba,SYS_CONTEXT('USERENV','NLS_TERRITORY') nls_territory,SYS_CONTEXT('USERENV','NLS_CURRENCY') nls_currency,SYS_CONTEXT('USERENV','NLS_CALENDAR') nls_calendar,SYS_CONTEXT('USERENV','NLS_DATE_formAT') nls_date_format,SYS_CONTEXT('USERENV','NLS_DATE_LANGUAGE') nls_date_language,SYS_CONTEXT('USERENV','NLS_SORT') nls_sort,SYS_CONTEXT('USERENV','CURRENT_USER') current_user,SYS_CONTEXT('USERENV','CURRENT_USERID') current_userid,SYS_CONTEXT('USERENV','SESSION_USER') session_user,SYS_CONTEXT('USERENV','SESSION_USERID') session_userid,SYS_CONTEXT('USERENV','PROXY_USER') proxy_user,SYS_CONTEXT('USERENV','PROXY_USERID') proxy_userid,SYS_CONTEXT('USERENV','DB_DOMAIN') db_domain,SYS_CONTEXT('USERENV','DB_NAME') db_name,SYS_CONTEXT('USERENV','HOST') host,SYS_CONTEXT('USERENV','OS_USER') os_user,SYS_CONTEXT('USERENV','EXTERNAL_NAME') external_name,SYS_CONTEXT('USERENV','IP_ADDRESS') ip_address,SYS_CONTEXT('USERENV','NETWORK_PROTOCOL') network_protocol,SYS_CONTEXT('USERENV','BG_JOB_ID') bg_job_id,SYS_CONTEXT('USERENV','FG_JOB_ID') fg_job_id,SYS_CONTEXT('USERENV','AUTHENTICATION_TYPE') authentication_type,SYS_CONTEXT('USERENV','AUTHENTICATION_DATA') authentication_datafrom dual
6.怎么样在过程中暂停指定时间DBMS_LOCK包的sleep过程如:dbms_lock.sleep(5);表示暂停5秒。
7.怎么在Oracle中发邮件可以利用utl_smtp包发邮件,以下是一个发送简单邮件的例子程序/****************************************************parameter: Rcpter in varchar2 接收者邮箱Mail_Content in Varchar2 邮件内容desc: ·发送邮件到指定邮箱·只能指定一个邮箱,如果需要发送到多个邮箱,需要另外的辅助程序*****************************************************/CREATE OR REPLACE PROCEDURE sp_send_mail( rcpter IN VARCHAR2,mail_content IN VARCHAR2)IS conn utl_smtp.
--write titlePROCEDURE send_header(NAME IN VARCHAR2, HEADER IN VARCHAR2) ASBEGINutl_smtp.write_data(conn, NAME||': '|| HEADER||utl_tcp.CRLF);END;
BEGIN--opne connectconn := utl_smtp.open_connection('');utl_smtp.helo(conn, 'oracle');utl_smtp.mail(conn, 'oracle info');utl_smtp.rcpt(conn, Rcpter);utl_smtp.open_data(conn);--write titlesend_header('From', 'Oracle Database');send_header('To', '"Recipient" ');send_header('Subject', 'DB Info');--write mail contentutl_smtp.write_data(conn, utl_tcp.crlf || mail_content);--close connect utl_smtp.close_data(conn);utl_smtp.quit(conn);EXCEPTION&WHEN utl_smtp.transient_error OR utl_smtp.permanent_error THEN&BEGIN&&utl_smtp.quit(conn);&EXCEPTION&&WHEN OTHERS THEN&&&NULL;&END;&WHEN OTHERS THEN&NULL;END sp_send_
8.怎么样获取对象的DDL语句第三方工具就不说了主要说一下9i以上版本的dbms_metadata&1&获得单个对象的DDL语句set heading offset echo offset feedback offset pages offset long 90000select dbms_metadata.get_ddl('TABLE','TABLE_NAME','SCAME')比如select dbms_metadata.get_ddl('TABLE','CM_USER','AICBS')&2&.如果获取整个用户的脚本,可以用如下语句select dbms_metadata.get_ddl('TABLE',u.table_name) from user_当然,如果是索引,则需要修改相关table到index&3&.还有dbms_metadata.get_xml()
TA的最新馆藏[转]&[转]&7830人阅读
Oracle 数据管理(35)
alter any cluster 修改任意簇的权限&
alter any index 修改任意索引的权限&
alter any role 修改任意角色的权限&
alter any sequence 修改任意序列的权限&
alter any snapshot 修改任意快照的权限&
alter any table 修改任意表的权限&
alter any trigger 修改任意触发器的权限&
alter cluster 修改拥有簇的权限&
alter database 修改数据库的权限&
alter procedure 修改拥有的存储过程权限&
alter profile 修改资源限制简表的权限&
alter resource cost 设置佳话资源开销的权限&
alter rollback segment 修改回滚段的权限&
alter sequence 修改拥有的序列权限&
alter session 修改数据库会话的权限&
alter sytem 修改数据库服务器设置的权限&
alter table 修改拥有的表权限&
alter tablespace 修改表空间的权限&
alter user 修改用户的权限&
analyze 使用analyze命令分析数据库中任意的表、索引和簇&
audit any 为任意的数据库对象设置审计选项&
audit system 允许系统操作审计&
backup any table 备份任意表的权限&
become user 切换用户状态的权限&
commit any table 提交表的权限&
create any cluster 为任意用户创建簇的权限&
create any index 为任意用户创建索引的权限&
create any procedure 为任意用户创建存储过程的权限&
create any sequence 为任意用户创建序列的权限&
create any snapshot 为任意用户创建快照的权限&
create any synonym 为任意用户创建同义名的权限&
create any table 为任意用户创建表的权限&
create any trigger 为任意用户创建触发器的权限&
create any view 为任意用户创建视图的权限&
create cluster 为用户创建簇的权限&
create database link 为用户创建的权限&
create procedure 为用户创建存储过程的权限&
create profile 创建资源限制简表的权限&
create public database link 创建公共数据库链路的权限&
create public synonym 创建公共同义名的权限&
create role 创建角色的权限&
create rollback segment 创建回滚段的权限&
create session 创建会话的权限&
create sequence 为用户创建序列的权限&
create snapshot 为用户创建快照的权限&
create synonym 为用户创建同义名的权限&
create table 为用户创建表的权限&
create tablespace 创建表空间的权限&
create user 创建用户的权限&
create view 为用户创建视图的权限&
delete any table 删除任意表行的权限&
delete any view 删除任意视图行的权限&
delete snapshot 删除快照中行的权限&
delete table 为用户删除表行的权限&
delete view 为用户删除视图行的权限&
drop any cluster 删除任意簇的权限&
drop any index 删除任意索引的权限&
drop any procedure 删除任意存储过程的权限&
drop any role 删除任意角色的权限&
drop any sequence 删除任意序列的权限&
drop any snapshot 删除任意快照的权限&
drop any synonym 删除任意同义名的权限&
drop any table 删除任意表的权限&
drop any trigger 删除任意触发器的权限&
drop any view 删除任意视图的权限&
drop profile 删除资源限制简表的权限&
drop public cluster 删除公共簇的权限&
drop public database link 删除公共数据链路的权限&
drop public synonym 删除公共同义名的权限&
drop rollback segment 删除回滚段的权限&
drop tablespace 删除表空间的权限&
drop user 删除用户的权限&
execute any procedure 执行任意存储过程的权限&
execute function 执行存储函数的权限&
execute package 执行存储包的权限&
execute procedure 执行用户存储过程的权限&
force any transaction 管理未提交的任意事务的输出权限&
force transaction 管理未提交的用户事务的输出权限&
grant any privilege 授予任意系统特权的权限&
grant any role 授予任意角色的权限&
index table 给表加索引的权限&
insert any table 向任意表中插入行的权限&
insert snapshot 向快照中插入行的权限&
insert table 向用户表中插入行的权限&
insert view 向用户视图中插行的权限&
lock any table 给任意表加锁的权限&
manager tablespace 管理(备份可用性)表空间的权限&
references table 参考表的权限&
restricted session 创建有限制的数据库会话的权限&
select any sequence 使用任意序列的权限&
select any table 使用任意表的权限&
select snapshot 使用快照的权限&
select sequence 使用用户序列的权限&
select table 使用用户表的权限&
select view 使用视图的权限&
unlimited tablespace 对表空间大小不加限制的权限&
update any table 修改任意表中行的权限&
update snapshot 修改快照中行的权限&
update table 修改用户表中的行的权限&
update view 修改视图中行的权限 &
grant CREATE ANY INDEX, DROP ANY INDEX to sx_&
&&相关文章推荐
参考知识库
* 以上用户言论只代表其个人观点,不代表CSDN网站的观点或立场
访问:954962次
积分:8539
积分:8539
排名:第2021名
原创:133篇
转载:79篇
评论:300条
(13)(1)(2)(3)(1)(2)(3)(10)(2)(6)(8)(4)(4)(3)(5)(1)(7)(2)(4)(8)(7)(8)(13)(14)(6)(5)(1)(4)(1)(11)(53)

我要回帖

更多关于 oracle数据库系统权限 的文章

 

随机推荐