存储过程中使用Dbms_Scheduler包的权限问题
使用用户Test_User创建存储过程sp_create_job,在存储过程中使用Dbms_Scheduler包创建Job_Test,过程创建成功,但是在执行的时候,碰到权限问题,如下:SQL> conn test_user/test_user@test已连接。SQL> CREATE OR REPLACE Procedure sp_create_job As 2 Begin 3 Dbms_Scheduler.Create_Job(Job_Name => 'Job_Test', 4 Job_Type => 'PLSQL_BLOCK', 5 Job_Action => 'Begin sp_test; End;', 6 Start_Date => sysd
SQL Server 错误日志Tip
在日常 SQL Server 错误日志可以用来确认服务的运行情况:例如服务的启停、备份和还原操作、登录认证情况等等,需要经常性的查看。使用 SQL Server 错误日志。默认情况下,错误日志位于ERRORLOG.n 文件中。默认保留有 SQL Server 错误日志文件,分别是:Errorlog.1~ErrorLog)没有扩展名。每当启动ErrorLog,并将之前的ErrorLog.1,之前的ErrorLog.2,依次类推,原先的ErrorLog文件有时候会碰到文件很大的情况,尤其将登录认证情况记录到错误日志的情况之下,此时使用sp_cycle_errorlog来生成新的日志文件,并循环错误日志扩展编号,就如
SQL Server 定位备份文件权限错误
今天在一台SQL Server 2005服务器上还原数据库,在选择C盘下的一个备份文件时,发生如下错误: 定位备份文件 - SDGF------------------------------C:Program FilesMicrosoft SQL ServerMSSQL.1MSSQLBackup无法在服务器上访问指定的路径或文件。请确保您具有必需的安全权限且该路径或文件存在。如果您确定所用服务帐户可以访问特定的文件,请在“定位”对话框的“文件名”控件中键入该文件的完整路径。如图所示:事实上,当前操作系统用户对C盘是有访问权限的。起初觉得很奇怪,后来仔细看了一下错误提示,是需要确定“服务帐户”可以访问
Informatica资料库的备份
Informatica的Repository该如何备份呢?1.使用界面备份:登录Informatica PowerCenter Administrator Console,选中Repository后,在Actions下选择Back Up Contents,按照界面提示进行备份。2.使用pmrep命令备份,并可以结合计划任务,实现定时备份:首先来看pmrep命令的相关帮助:C:>pmrep help connectUsage: pmrep connect -r <repository_name> {-d <domain_name> | {-h <portal_host_name> -o <portal_port_number>}
SQL Server解题:《编程之美》1的数目
读《编程之美》,有一题“1的数目”,题目如下:给定一个十进制正整数N,写下从1开始,到N的所有整数,然后数一下其中出现的所有“1”的个数。例如:N= 2,写下1,2。这样只出现了1个“1”。N= 12,我们会写下1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12。这样,1的个数是5。写一个函数f(N),返回1到N之间出现的“1”的个数,比如f(12)=5。尝试了在SQL Server2000中解决,整体思路是:如果在纸上试着将这些整数竖着列一下,容易发现这样的规律,单看个位、十位、百位....,会发现1在这些位上出现是有一定规律的。例如在个位上,每连续10个数
SQL Server存储过程中使用递归
在朋友的一个SQL存储过程中看到有使用递归,回首想想貌似接触数据库这么久,还从来没有哪怕一次使用过。呵呵,有点小惭愧。于是研究了一下,试着写了一段SP来实现斐波纳契数列的计算。斐波纳契数列 800年前,意大利的数学家斐波纳契出版了惊世之作《算盘书》。在《算盘书》里,他提出了著名的“兔子问题”:假定一对兔子每个月可以生一对兔子,而这对新兔子在出生后第二个月就开始生另外一对兔子,这些兔子不会死去,那么一对兔子一年内能繁殖多少对兔子? 答案是一组非常特殊的数字:1,1,2,3,5,8,13,21,34,55,89……
SQL Server 检测字符串中是否有重复字符的函数
SQL Server 2000检测字符串中是否有重复字符的函数Create Function FN_DupChar(@String Varchar(100))Returns BitAsBegin Declare @Temp Table(Chr Varchar(1)) Declare @i Int ,@j Int Select @i = 1, @j = 0 While @i <= Len(@String) Begin Insert Into @Temp Select Substring(@String,@i,1) Select @i = @i + 1 End If Exists(Select 1 From @Temp Group By Chr Having Count(*) > 1) Begin Set @j = 1 End Return @jEnd[@more@]
Datastage循环执行Parallel Job
Datastage版本:7.5Job类型:Sequence需求:从数据库中取出一段日期的数据,每天的数据单独生成一个文件。Job设计如下:其中Run_Job是需要循环执行的Parallel Job,需要对StartLoop设定Loop From,Loop Step,Loop End,如何吧当前Loop的值传递给Parallel Job呢?只要在Parallel Job的参数中使用StartLoop.$Counter,就可以得到这个值并在PJ中使用了。[@more@]
Datastage去除并输出重复数据
Datastage版本:7.5Job类型:Parallel需求:输入文件中有重复记录,需要输出Distinct后的记录,并且将重复的记录也输出。Job设计如下:首先对输入文件排序,通过Sort Stage对记录排序,设置好Sort Key之后设置“Create Key Change Column”这个Option,它的功能在于生成了一列派生列,用于标注Sort Key是否第一次出现,如果Sort Key是首次出现,则标注为1,否则标记为0。这样通过这个派生列就可以将记录分成两个文件,使用Filter Stage分别输出了。在Job设计过程中需要注意的是,如果是多个Node的环境,在Sort Stage的Advanced页签将Execu
重新安装MySQL失败
重新安装MySQL失败,在Config的时候Start Service报错,反复卸载安装了几次都是这样。查了下网上,得到解决方法,在卸载MySQL之后,将原先的安装目录手工删除干净,然后重新安装。[@more@]
Oracle中的双引号
帮朋友写了个删除某用户下所有对象的脚本,反馈说有个函数无法删除,"DROP FUNCTION COMM.func_CURRENCYBALANCE;",寻思不可能啊,哪里还有删不掉的道理,报错对象不存在。这就怪了,对象名都是从Dba_Objects中取得的,还有不存在的道理。细看了一下那语句,发现了蹊跷之处,照理说,从Dba_Objects中取得的对象名应该都是大写的才是,这条删除语句居然有小写,遂查看该函数的创建脚本,没什么异常,只是创建对象的时候在对象名上多了双引号,而且对象名含有小写字母。双引号的作用,如果创建对象的时候,对象名、字段名加双引号
ORA-12560: TNS: 协议适配器错误
今天在使用远程连接连到服务器上用DataBase Configuration Assisant 创建Oracle数据库的时候报“ORA-12560: TNS: 协议适配器错误”,该服务器上原来已经安装过一个数据库,上网查了一下错误的产生原因,发现都没问题。在服务器本地试了一遍却可以了,搞不清楚为什么远程连接过去就不行。[@more@]
恭喜!您的Blog已经建立。
您已经成功注册ITPUB Blog帐号。请进入http://blog.itpub.net/admin.php管理您的Blog站点。建议先修改Blog的名称并建立文档分类,系统已经默认建立了【初始分类】。如果您的登陆ID包含中文字符,请记录您现在的地址。如果您的登陆ID里未包含任何中文字符,还可以使用“http://blog.itpub.net/您的ID”这种链接形式访问。登陆密码与itpub论坛帐号的密码相同。如有问题请在斑竹区发贴。谢谢。