IIS 系统资源不足,无法完成请求的服务 【转】

事件:Windows不能加载注册表。这通常是由于内存或安全权限不足造成的。
详细信息:系统资源不足,无法完成请求的服务。
解决方法如下:

要解决此问题,请修改注册表以增大 PoolUsageMaximum 值和 PagedPoolSize 值。为此,请按照下列步骤操作:

依次单击“开始”、“运行”,键入 regedit,然后单击“确定”。
找到并单击下面的注册表子项:
HKEY_LOCAL_MACHINE/SYSTEM/CurrentControlSet/Control/Session Manager/Memory Management
在“编辑”菜单上,指向“新建”,然后单击“DWORD 值”。
在“新值 #1”框中,键入 PoolUsageMaximum,然后按 Enter。
右键单击“PoolUsageMaximum”,然后单击“修改”。
在“数值数据”框中,键入 60,再单击“十进制”,然后单击“确定”。
如果 PagedPoolSize 注册表项存在,请转到步骤 8。如果 PagedPoolSize 注册表项不存在,请创建它。为此,请按照下列步骤操作:
在“编辑”菜单上,指向“新建”,然后单击“DWORD 值”。
在“新值 #1”框中,键入 PagedPoolSize,然后按 Enter。
右键单击“PagedPoolSize”,然后单击“修改”。
在“数值数据”框中键入 ffffffff,然后单击“确定”。
退出注册表编辑器,然后重新启动计算机

给Oracle添加split和splitstr函数的方法[转]

给Oracle添加split和splitstr函数的方法,来实现单行逗号分隔的数据改为表体结构,就可以用in的形式作为条件查询其他的表了。

代码如下:
/*
* Oracle 创建 split 和 splitstr 函数
*/
/* 创建一个表类型 */
create or replace type tabletype as table of VARCHAR2(32676)
/
/* 创建 split 函数 */
CREATE OR REPLACE FUNCTION split (p_list CLOB, p_sep VARCHAR2 := ‘,’)
RETURN tabletype
PIPELINED
/**************************************
* Name: split
* Author: Sean Zhang.
* Date: 2012-09-03.
* Function: 返回字符串被指定字符分割后的表类型。
* Parameters: p_list: 待分割的字符串。
p_sep: 分隔符,默认逗号,也可以指定字符或字符串。
* Example: SELECT *
FROM users
WHERE u_id IN (SELECT COLUMN_VALUE
FROM table (split (‘1,2’)))
返回u_id为1和2的两行数据。
**************************************/
IS
l_idx PLS_INTEGER;
v_list VARCHAR2 (32676) := p_list;
BEGIN
LOOP
l_idx := INSTR (v_list, p_sep);
IF l_idx > 0
THEN
PIPE ROW (SUBSTR (v_list, 1, l_idx – 1));
v_list := SUBSTR (v_list, l_idx + LENGTH (p_sep));
ELSE
PIPE ROW (v_list);
EXIT;
END IF;
END LOOP;
END;
/
/* 创建 splitstr 函数 */
CREATE OR REPLACE FUNCTION splitstr (str IN CLOB,
i IN NUMBER := 0,
sep IN VARCHAR2 := ‘,’
)
RETURN VARCHAR2
/**************************************
* Name: splitstr
* Author: Sean Zhang.
* Date: 2012-09-03.
* Function: 返回字符串被指定字符分割后的指定节点字符串。
* Parameters: str: 待分割的字符串。
i: 返回第几个节点。当i为0返回str中的所有字符,当i 超过可被分割的个数时返回空。
sep: 分隔符,默认逗号,也可以指定字符或字符串。当指定的分隔符不存在于str中时返回sep中的字符。
* Example: select splitstr(‘abc,def’, 1) as str from dual; 得到 abc
select splitstr(‘abc,def’, 3) as str from dual; 得到 空
**************************************/
IS
t_i NUMBER;
t_count NUMBER;
t_str VARCHAR2 (4000);
BEGIN
IF i = 0
THEN
t_str := str;
ELSIF INSTR (str, sep) = 0
THEN
t_str := sep;
ELSE
SELECT COUNT ( * )
INTO t_count
FROM table (split (str, sep));
IF i <= t_count
THEN
SELECT str
INTO t_str
FROM (SELECT ROWNUM AS item, COLUMN_VALUE AS str
FROM table (split (str, sep)))
WHERE item = i;
END IF;
END IF;
RETURN t_str;
END;
/
使用例子:
select * from rank where id in (select * from table(split(‘1,2,3,4,5,6,7’)));

转如何将Oracle11g备份导入到10g

11g备份,导入10g的时候会抛错,直接阻止导入。

但是有时候还必须得把11g的数据库导入到10g,我今天就遇到了这种情况。

一开始只是把11g中的表全部备份,成功导入10g。但是缺少视图、存储过程等。一个个sql创建累死人,方法太笨。请教了一下资深DBA,重新备份,重新导入,成功。

现在把我导入操作的全过程记录下来,希望可以方便更多的人!

一、在11g服务器上,使用expdp命令备份数据

EXPDP USERID=’sys/sys@orcl as sysdba’ directory=DATA_PUMP_DIR dumpfile=aa.dmp logfile=aa.log version=10.2.0.1.0

其中,红色文字部分是根据需要改写的地方。例如我的sys密码是sys,数据库sid是orcl,要到出的用户名是hsrep,要导入到10.2.0.1.0版本的Oracle数据库中去。aa.dmp和aa.log将会在11g的dpdump目录中生成,例如我的11g装在了E盘下面,于是aa.dmp将会在E:\app\Administrator\admin\cuc\dpdump目录下被生成。

二、在10g服务器上,使用impdp命令恢复数据

准备工作:1.建库2.建表空间3.建用户并授权4.将aa.dmp拷贝到10g的dpdump目录下

1-3点可以去参考博主的上一篇博客“Oracle数据库移植全步骤”,介绍的很详细,这里不再多说。关于第4点,我的10g装在了D:\oracle\product\10.2.0\admin\orcl\dpdump目录下,于是我将aa.dmp文件拷贝到了D:\oracle\product\10.2.0\admin\orcl\dpdump 目录下。

IMPDP USERID=’SYS/sys@orcl as sysdba’ directory=DATA_PUMP_DIR dumpfile=aa.dmp logfile=aa.log version=10.2.0.1.0

其中红色部分是根据需要改写的地方。例如我的sys密码是sys,数据库sid是orcl,要导入到10.2.0.1.0版本的Oracle数据库中去。aa.log将会在10g的dpdump目录中生成。

—————

注意:导入和导出的用户必须一致!

转载自:http://blog.sina.com.cn/s/blog_5a2405d10100nerv.html

Oracle定时调用存储过程实例

一、创建Oracle定时任务

1.创建一个被调用的存储过程:

CREATE TABLE table_1 ( dd DATE; );
CREATE OR REPLACE PROCEDURE PRO_TEST_JOB
IS BEGIN
INSERT INTO table_1 VALUES(SYSDATE); COMMIT; END PRO_TEST_JOB ;

2.创建相应的pl/sql块:

DECLARE tjob NUMBER;
BEGIN
sys.DBMS_JOB.submit(job => tjob,what => ‘PRO_TEST_JOB ;’,next_date => SYSDATE,interval => ‘sysdate + 1/1440’);
COMMIT;
END;

tjob是系统会自动分配一个任务号jobno;其中next_date 表示第一次执行定时任务的时间,interval表示执行的间隔时间,sysdate+1/1440表示每隔1分钟执行一次,5/1440表示每5分钟执行一次.

二、查询Oracle定时任务 这样一个每一分钟执行一次的oracle定时调用存储过程的任务就创建了,我们可以通过 SELECT * FROM user_jobs; 查询 我们创建的oracle定时任务

三、删除Oracle定时任务

begin dbms_job.remove(42);
commit;
end;