Oracle在Windows上的运行问题分析和解决
《Oracle大型数据库系统在AIX/UNIX上的实战详解》集中讨论的继续。 做了一周关于Oracle在32位windows上实施的培训,恰好期间有几位Oracle用户邮件询问关于Windows系统调整问题。正好吧,把准备的一些内容共享出来。 如果Oracle使用大于1.7的内存,需要一些特写的设置。参见下面来自metalink的论点: Large page support is a feature of Oracle Database 10g Release 1 (10.1) or later. It provides a performance boost for memory-intensive database instances running on Windows Server 2003. By taking advantage of newly introduced operating system support, Oracle Database 10g Release 1 (10.1) or later can now make more efficient use of processor memory addressing resources. Specifically, when large page support is enabled, the CPUs in the system will be able to access the Oracle Database buffers in RAM more quickly. Instead of addressing the buffers in 4KB increments, the CPUs are told to use 2 MB page sizes in Physical Address Extension (PAE) mode and 4MB page sizes in non-PAE mode when addressing the database buffers. 由于32位的CPU的在windows系统中2G给系统用2G给应用程序使用,如系统及oracle参数不作修改时,oracle的SGA内存使用不能超过1.7G 但可以对Windows参数进行修改: 1. 修改boot.ini文件,在其中添加/3GB选项或/PAE,甚至二者都有之。 WINDOWS="Microsoft Windows" /3GB WINDOWS="Microsoft Windows" /PAE 2.设置Oracle运行环境,设置windows 注册表: 使用 regedit工具在HKEY_LOCAL_MACHINE\SOFTWARE\ORACLE\KEY_OraDb10g_home1中找到AWE_WINDOW_MEMORY参数,修改为oracle需要内存的大小,如5GB,以字节方式。 3.授予Oracle用户在内存锁定页的权限,方法为:管理工具--> 域安全策略--> 本地安全策略 -->锁定内存页,加入ora_dba组。 4:设置oracle参数如下: 取消数据:db_cache_size、sga_max_size等10g参数; 添加参数: db_block_buffers USE_INDIRECT_DATA_BUFFERS=TRUE 参见metalink :Implementing Address Windowing Extensions (AWE) or VLM on Windows Platforms 文平
相关文档:
Oracle数据库10g schedule job的常用操作:
-- job 权限
grant create job to somebody;
-- job 创建
begin
dbms_scheduler.create_job (
job_name => 'AGENT_LIQUIDATION_JOB',
job_type => 'STORED_PROCEDURE',
job_action => 'AGENT_LIQUIDATION.LIQUIDATION', --存储过程名
start_date => ......
select s.username,
decode(l.type,'TM','TABLE LOCK',
'TX','ROW LOCK',
& ......
之前在项目中用到的分页都是假分页,也就是先从数据库中把所有的数据都查询出来然后在绑定时进行分页。这是一种假分页,效率较低,前几天听其他项目组说他们要使用数据库的存储过程来实现分页,感觉很疑惑,难道使用数据库还可以实现分页功能?闲来无事,就从网上搜了搜资料,果然,在oracl ......