男人三十 清心寡欲 修养身心
===========================================================
oracle 函数
===========================================================
SQL中的单记录函数
1.ASCII
返回与指定的字符对应的十进制数;
SQL> select ascii('A') A,ascii('a') a,ascii('0') zero,ascii(' ') space from dual;

        A         A      ZERO     SPACE
--------- --------- --------- ---------
       65        97        48        32

 查看全文
mugen 发表于:2005.03.16 11:14 ::分类: ( 技术文章 ) ::阅读:(402次) :: 评论 (0)
===========================================================
创建external table的问题
===========================================================

http://www.dbanotes.net/Oracle/Alert_Table.htm

参考fenng的文档,我又需要创建外表了,因为这个表主要用来查的,一般就是添加,很少删除.

懒的写脚本一个一个的insert,于是考虑用external 表,直接从excel中copy到vi编辑器中,创建了.dat文件

然后用sys身份创建了这个外表.

当我授权select这个表给普通用户的时候,

发现了,06564错误,用户对目录没有权限.

分析过程:外表每次select的时候,其实就是通过sql loader来将数据导入进来,所以要先创建一个目录.

这说明,我用数据库普通用户select的时候,也需要在执行一次sql loader操作.

查otn文档,看到了有句

GRANT READ ON DIRECTORY alertlog TO scott;

我执行了,还是不行.

我又改为

GRANT write ON DIRECTORY alertlog TO user;

最后,成功了.oracle的普通用户也能访问sys的外表了

下面是我用到的sql

 查看全文

mugen 发表于:2005.03.10 10:37 ::分类: ( 技术文章 ) ::阅读:(476次) :: 评论 (0)
===========================================================
上海的感觉
===========================================================

来上海已经半个多月了,上了一周的课,玩了一周。

有些感觉,但是我生活的圈子很小,可能是很片面的。

首先,上海,公交车上,地铁上的人,都不让座的。昨天在地铁上,看到上来了一对老夫妻,下面坐的是个30岁的妇女,带着两个3,4岁的小孩子。

小孩子说要让座,那个妈妈说“你干什么”,小孩子说,让座,“为什么”那个妈妈说。也许小孩子本来都很小,他们可以不让坐,可是这个妈妈,

我实在看不起她。还有,在地铁上,人还没有下来,就有人上车,完全没有先下后上的顺序。我一般都是最后才上,因为我知道,你先上的,还是后上的

不管如何,还是这么多的人, 一样的挤。怪不的上海,据说有人挤下了地铁。建议对付这些不懂的先下后上规矩的人,以后所有的要下地铁的人,先别着急下车

把脚抬起来,大概对着别人


mugen 发表于:2005.02.27 12:37 ::分类: ( 技术文章 ) ::阅读:(3208次) :: 评论 (2)
===========================================================
我真的是这样的吗?
===========================================================
同时天蝎座的人不会关心身边对你有情的人,他只注意自己的喜欢的。如果你是他喜欢的那个,真是幸运。因为天蝎座的人很专情
mugen 发表于:2004.12.16 22:55 ::分类: ( 技术文章 ) ::阅读:(468次) :: 评论 (0)
===========================================================
每天发送邮件监控oracle的存储过程.把这个sp加入到job里面
===========================================================

CREATE OR REPLACE PROCEDURE CheckSpace
IS

used number;
free number;
total number;
hit number;
pins number;
reloads number;
lib number;
smem number;
sdisk number;
para varchar2(4000);
pbytes number;
err number;
BEGIN

 select sum(usedmb),sum(freemb),sum(totalmb)
 into used,free,total
 from
 (
  select usedmb,freemb,totalmb
   from ts_used_free
   where to_char(check_date,'yyyymmdd')=to_char(sysdate,'yyyymmdd')
 );
 SELECT 1 - (phy.value / (cur.value + con.value))
 into Hit FROM v$sysstat cur, v$sysstat con, v$sysstat phy
 WHERE cur.name = 'db block gets' AND con.name = 'consistent gets'
 AND phy.name = 'physical reads';

 select sum(pins) "Total Pins", sum(reloads) "Total Reloads",
     sum(reloads)/sum(pins) *100 libcache
     into pins,reloads,lib
     from v$librarycache;

 
 SELECT  value  into smem
  FROM v$sysstat WHERE name IN ('sorts (memory)');
 SELECT  value  into sdisk
  FROM v$sysstat WHERE name IN ('sorts (disk)');


 select bytes  into pbytes
 from v$sgastat where pool='shared pool' and name ='free memory';


 select count(*) into err
  from alert_tab  WHERE text LIKE '%ORA-%' ;


 para := 'Oracle Pirmary Server Used MB '||'  '
 || to_char(used) || ' ' || ' Free MB' ||'  '
 || to_char(free) || '   ' || ' Total MB'||'  '
 || to_char(total)|| '   ' ||' Data buffer cache Hit Ratio Value is '||'  '
 || to_char(hit)||' ' ||' Share Pool cache Hit Ratio should less than 1%,and the value is  '
 ||'  '
 || to_char(lib)||' ' || '  Memory Sort is '||' '||to_char(smem)||'     Disk Sort is'||'  '
 || to_char(sdisk) ||' '|| 'The Disk/Mem ,the less the better'||'  '
 || 'Share Pool Free Memory bytes:'||' '||to_char(pbytes)  ||'  '
 || 'The ORA- error number in alert log is'|| '  '|| to_char(err);
 
 procsendemail(para) ;
  send_email('shenjie@akey.net.cn',para);  
  send_email('shenjie@itownet.cn',para);  
  send_email('shenjie7810@163.com',para);  
  send_email('luowuhong@itownet.cn',para);  
  /* */
 send_email('suhuilin@itownet.cn',para);  
 send_email('yangyongbing@itownet.cn',para); 
 

END;
/



mugen 发表于:2004.12.14 11:50 ::分类: ( 技术文章 ) ::阅读:(530次) :: 评论 (0)
===========================================================
oracle 发邮件的程序
===========================================================
CREATE OR REPLACE PROCEDURE send_email (
 p_recipient IN VARCHAR2,
 p_message  IN VARCHAR2,
 p_subject IN VARCHAR2 default '',
 p_sender IN VARCHAR2 default 'shenjie@akey.net.cn')
IS
  crlf varchar2(2) := chr(13) || chr(10);
  v_mailhost varchar2(30) := '219.133.31.89';
  mail_conn utl_smtp.connection;
  msg varchar2(4000) := 'Date:' ||
     to_char(sysdate,'dd mon yy hh24:mi:ss') || crlf ||
  'From: ' || p_sender || '<'||p_sender||'>' ||crlf ||
  'Subject: '||p_subject || crlf||
  'To: '|| p_recipient || '<' || p_recipient || '>' ||crlf||
  p_message;
begin
  mail_conn := utl_smtp.open_connection(v_mailhost,25);
  utl_smtp.helo(mail_conn,v_mailhost);
  utl_smtp.mail(mail_conn,p_sender);
  utl_smtp.rcpt(mail_conn,p_recipient);
  utl_smtp.data(mail_conn,msg);
  utl_smtp.quit(mail_conn);
exception
  when others then
  dbms_output.put_line(dbms_utility.format_error_stack);
  dbms_output.put_line(dbms_utility.format_call_stack);
end;
/
  
exec send_email('shenjie@itownet.cn','happy week end');  
  
   Execute demo_mail.mail('shenjie@akey.net.cn','shenjie@akey.net.cn','ishenjie','shenjie');
mugen 发表于:2004.12.14 11:49 ::分类: ( 技术文章 ) ::阅读:(1064次) :: 评论 (0)
===========================================================
standby 数据库上的问题
===========================================================
今天突然发现select applied from v$archived_log 从上周三开始全是no 查看全文
mugen 发表于:2004.08.30 15:34 ::分类: ( 技术文章 ) ::阅读:(537次) :: 评论 (1)
===========================================================
转自卓玛的博客-关于oracle的日常监控
===========================================================

http://blog.itpub.net/post/22/281

我觉得很不错,就贴不来了。希望卓玛别介意

 查看全文
mugen 发表于:2004.08.30 09:36 ::分类: ( 技术文章 ) ::阅读:(528次) :: 评论 (0)
===========================================================
cron的用法,itpub的一个朋友给我的连接。谢谢他!
===========================================================
http://publib16.boulder.ibm.com/doc...xcmds1/cron.htm

http://publib16.boulder.ibm.com/doc...ds1/crontab.htm

mugen 发表于:2004.08.27 00:12 ::分类: ( 技术文章 ) ::阅读:(539次) :: 评论 (0)
===========================================================
修改数据库的SID
===========================================================

举例说明,我的数据库的SID叫testdb,现在要改成oral.更改ORACLE数据库的sid,涉及到的东西比较多,但是大概来说就以下六步.
 1、停止所有的Oracle服务。
2、修改initSID.ora文件,修改instance_name为新的SID
3、修改注册表的ORACLE_SID
4、修改listener.ora中的SID_NAME
5、oradim删除原来SID的服务,添加新SID的服务
6、orapwd生成新SID的口令

 

 查看全文
mugen 发表于:2004.08.24 15:28 ::分类: ( 技术文章 ) ::阅读:(768次) :: 评论 (1)
自我介绍
切换风格
新闻聚合
博客日历
文章归档...
最新发表...
最新评论...
博客统计...
Blog信息
网站链接...