- 浏览: 659603 次
- 性别:
- 来自: 杭州
文章分类
最新评论
-
HkEndless:
不好意思,请问这确定是回调机制吗。你的例子中只是将接口的实现类 ...
Spring CallBack回调机制介绍 -
hanmiao:
写的真乱啊,完全不知所云...
Java如何调用可执行文件和批处理命令 -
junia_1:
junia_1 写道 shock: ...
为什么要使用EJB -
junia_1:
shock:
为什么要使用EJB -
coollifer:
不错
SQL Server数据导入到Oracle中的方法
今天在一台linux
测试机上装了Oracle 11g,安装好以后按照惯例调整sga_target 1G,pga_aggregate_target 200M
(对了,这2个参数在11g里面默认是0),然后重启数据库
结果报错
ORA-00844: Parameter not taking MEMORY_TARGET into account, see alert log for more information
MEMORY_TARGET?新参数?虽然在安装过程中瞟过一眼,但是也没太多注意,后来理解MEMORY_TARGET就是原来10g的
sga_target + pga_aggregate_target的总和,越来越智能了。
再看导致错误原因:
由于设置了Oracle的MEMORY_TARGET参数的值小于了SGA_TARGET和PGA_TARGET的总和,因此报错。
但是此时数据库已经启不来了,在数据库不能更改spfile的情况下,我们可以更改pfile,再用pfile启动
SQL> create pfile ='/home/oracle/initora11g.ora' from spfile;
SQL> !echo '*.memory_target=1024m' >>'/home/oracle/initora11g.ora';
将pfile里面的memory_target设置成1G
报错,再次验证memory_target>= sga_target + pga_aggregate_target
ORA-00838: Specified value of MEMORY_TARGET is too small, needs to be at least 1224M
ORA-01078: failure in processing system parameters
再改
SQL> !echo '*.memory_target=1224m' >>'/home/oracle/initora11g.ora';
SQL> !echo '*.sga_target=0' >>'/home/oracle/initora11g.ora';
报新错误了又
ORA-00845: MEMORY_TARGET not supported on this system
这个问题是由于设置SGA的大小超过了操作系统/dev/shm的大小
最终启动成功
启动后再改回从spfile启动
SQL>create spfile from pfile = '/home/oracle/initora11g.ora';
然后再启动一次
SQL> startup
ORACLE instance started.
Total System Global Area 1068937216 bytes
Fixed Size 2151248 bytes
Variable Size 511708336 bytes
Database Buffers 549453824 bytes
Redo Buffers 5623808 bytes
Database mounted.
Database opened.
最后
SQL> show parameter target;
NAME TYPE VALUE
------------------------------------ ----------- ------------------------------
archive_lag_target integer 0
db_flashback_retention_target integer 1440
fast_start_io_target integer 0
fast_start_mttr_target integer 0
memory_max_target big integer 1300M
memory_target big integer 1224M
pga_aggregate_target big integer 0
sga_target big integer 0
Oracle 11g的Linux版本在修改了MEMORY_TARGET或者SGA_TARGET后启动可能会报错:
SQL> shutdown immediate
Database closed.
Database dismounted.
ORACLE instance shut down.
SQL> startup
ORA-00845: MEMORY_TARGET not supported on this system
这个问题是由于设置SGA的大小超过了操作系统/dev/shm的大小:
[root@enterprice64 ~]# df -k /dev/shm
Filesystem 1K-blocks Used Available Use% Mounted on
tmpfs 4089416 0 4089416 0% /dev/shm
Oracle在metalink的文档:Doc ID: Note:460506.1中进行了说明。解决这个问题只有两个方法,一种是修改初始化参数,使得初始化参数中SGA的设置小于/dev/shm的大小,另一种方法就是调整/dev/shm的大小。
修改/dev/shm的大小可以通过修改/etc/fstab来实现:
[root@enterprice64 ~]# vi /etc/fstab
LABEL=/ / ext3 defaults 1 1
LABEL=/boot /boot ext3 defaults 1 2
LABEL=/data /data ext3 defaults 1 2
devpts /dev/pts devpts gid=5,mode=620 0 0
#tmpfs /dev/shm tmpfs defaults 0 0
tmpfs /dev/shm tmpfs defaults,size=10240M 0 0
LABEL=/home /home ext3 defaults 1 2
LABEL=/opt /opt ext3 defaults 1 2
proc /proc proc defaults 0 0
sysfs /sys sysfs defaults 0 0
LABEL=/usr /usr ext3 defaults 1 2
LABEL=/var /var ext3 defaults 1 2
LABEL=SWAP-sda8 swap swap defaults 0 0
~
~
"/etc/fstab" 13L, 965C written
[root@enterprice64 ~]# umount /dev/shm
[root@enterprice64 ~]# mount /dev/shm
[root@enterprice64 ~]# df -k /dev/shm
Filesystem 1K-blocks Used Available Use% Mounted on
tmpfs 10485760 0 10485760 0% /dev/shm
[root@enterprice64 ~]# su - oracle
[oracle@enterprice64 ~]$ sqlplus "/ as sysdba"
SQL*Plus: Release 11.1.0.6.0 - Production on Tue Oct 23 15:42:42 2007
Copyright (c) 1982, 2007, Oracle. All rights reserved.
Connected to an idle instance.
SQL> startup
ORACLE instance started.
Total System Global Area 4743446528 bytes
Fixed Size 2143824 bytes
Variable Size 3892316592 bytes
Database Buffers 805306368 bytes
Redo Buffers 43679744 bytes
Database mounted.
Database opened.
修改/etc/fstab,重新mount /dev/shm,然后就可以启动数据库了。
发表评论
-
ORA-14551: 无法在查询中执行 DML 操作
2013-11-30 13:45 1364最近在调试一个带DML操作的函数时,一直不成功,在PL/SQ ... -
Oracle Recursive Calls 说明
2013-04-09 23:11 1492一. Recursive Calls 说明 在执行计划 ... -
consistent gets db block gets
2013-04-09 19:58 1440consistent gets :consistent_ge ... -
SQL Server数据导入到Oracle中的方法
2012-07-17 17:09 1597在我们使用SQL Server数据库的过程中,有时需要将SQL ... -
更改ORACLE归档路径及归档模式
2012-07-16 18:23 1868在ORACLE10g和11g版本,ORAC ... -
disable/enable validate/novalidate 的区别
2012-01-08 11:41 1236启用约束: enable( validate) :启用约束,创 ... -
linux用dd测试磁盘速度
2012-01-07 21:58 1013首先要了解两个特殊的设备: /dev/null:回收站、 ... -
在数据分布严重不均的列上使用绑定变量容易错过更好的执行计划
2012-01-07 20:49 1034在数据分布严重不均的列上使用绑定变量容易错过更好的执行计划,原 ... -
Oracle hash join
2012-01-07 17:00 953hash join是oracle里面一个非常强悍的功能 ... -
恢复被rm意外删除数据文件
2012-01-05 12:30 1268一.模拟数据文件删除 [oracle ... -
oracle 块延迟清除(delayed block cleanout)
2012-01-04 22:47 1361为了保证事务的回退和满足多用户的 CR , orac ... -
Oracle数据库SCN号详解
2012-01-04 19:25 1542Oracle数据库SCN号详解: 系统检查点scn(v$da ... -
oracle常见问题与解答
2012-01-03 20:22 16911.对于sql,有几种方法查看执行计划,每种方法有什么区别,对 ... -
Oracle虚拟私有数据库(VPD)概述及简单举例
2011-12-23 12:35 1567Oracle虚拟私有数据库(VPD)概述及简单举例 1、Ora ... -
alter table move跟shrink space的区别
2011-12-17 15:02 1297都知道alter table move 或shrink spa ... -
How to dump Oracle Data Block?
2011-12-16 15:22 999Often while doing instance tuni ... -
oracle索引的5种使用模式
2011-12-14 21:19 1080索引的使用对数据库的性能有巨大的影响。 共有五类不同的使用模式 ... -
HP Unix中的dba MLOCK
2011-12-14 19:14 2236最近在HP平台上遇到两次跟dba MLOCK权限相关的错误: ... -
NESTED LOOP、HASH JOIN、SORT MERGE JOIN
2011-12-13 23:18 1379表连接方式及使用场合 ... -
Oracle用户权限
2011-12-12 19:48 1514系统权限: 1、使用GRANT语句向用户赋予系统权限: ...
相关推荐
使用MEMORY_TARGET参数,Oracle数据库可以动态地根据系统负载自动调整SGA和PGA的大小,以达到优化内存使用、提高系统性能的目的。 然而,并不是所有操作系统都支持MEMORY_TARGET参数。具体来说,以下两种情况可能会...
"Oracle 11g调整物理内存提示ORA-00845 MEMORY_TARGET" Oracle 11g 中的内存自动管理机制 ===================================== Oracle 11g 中引入了一个新的内存自动管理机制,即 MEMORY_TARGET 参数,这个...
如果用户尝试设置为15MB,Oracle会将其自动调整为16MB。如果用户设置为20MB且`GRANULE_SIZE`为4MB,则实际使用的值为20MB;但如果`GRANULE_SIZE`为16MB,则实际使用的值将会被调整为32MB。 #### 二、granule_size...
错误ora_00844和ora_00851通常是因为memory_target参数设置不当,使得内存分配小于sga_max_size。 **2. 参数文件管理** Oracle有两种参数文件:pfile(文本参数文件)和spfile(二进制参数文件)。spfile是Oracle ...
以下是一些重要的参数设置规范: 1. **进程及会话数**: - `processes` 参数控制了系统允许的最大并发进程数,默认值为150。可以根据实际需求调整,例如设置为1200。 - `sessions` 参数表示可同时存在的会话数,...
当`MEMORY_TARGET`被设置为非零值时,Oracle会自动管理SGA(System Global Area)和PGA(Program Global Area)之间的内存分配,确保整个实例的内存使用不会超出设定的目标值。这种方式比传统的固定内存分配方式更灵活,...
AMM 使得 Oracle 数据库能够在运行时动态调整 SGA 和 PGA 的大小,而无需人工干预。主要特性包括: - 使用 `memory_target` 参数替代原有的 `sga_max_size` 和 `pga_aggregate_target` 参数,实现更灵活的内存管理...
- 调整初始化参数,如pga_aggregate_target和sga_target,以优化内存使用。 6. **安全与备份**: - 用户权限管理,使用角色和权限分配,以实现最小权限原则。 - 数据加密以保护敏感信息。 - 定期进行数据备份,...
1. **动态内存管理**:Oracle 11g的动态内存管理是通过两个关键参数来实现的:`Memory_target` 和 `Sga_target`。 - 当`Memory_target`和`Sga_target`都为0时,SGA的自动管理不启用。 - 如果`Memory_target`为0...
要在Oracle 11g中启用ASMM,需要设置`memory_target`参数并重启数据库实例。例如,要设置`memory_target`为1GB,可以使用以下命令: ```sql ALTER SYSTEM SET memory_target=1G SCOPE=BOTH; ``` **2.2 Oracle11g...
- **SGA_TARGET**:设定SGA的目标大小,当设置该参数时,Oracle将自动调整SGA的大小,以达到指定的目标值。 - **DB_CACHE_SIZE**:设定Buffer Cache的大小。 - **SHARED_POOL_SIZE**:设定Shared Pool的大小。 - **...
Oracle 学习(内存参数设置) oracle学习(内存参数设置)是指在Oracle数据库中设置内存参数来优化数据库性能的过程。Oracle数据库的内存结构主要由SGA(System Global Area)和PGA(Private Global Area)组成。...
学习如何调整初始化参数,如pga_aggregate_target、sga_target等。 9. **存储管理**:理解ASM(Automatic Storage Management)的工作原理,以及如何在ASM中创建和管理磁盘组。 10. **故障排查**:学习如何查看...
如果`sga_target`设置为0,意味着自动管理功能未启用,SGA大小由手动配置的各组件大小决定,如`db_cache_size`、`java_pool_size`、`large_pool_size`和`shared_pool_size`。 在启动数据库时,如果使用PFILE,并且`...
- **任务描述**:使用Grid Control将PROD1服务器上的PGA_AGGREGATE_TARGET参数设置为500MB,并确保在实例重启后仍然有效。 - **操作步骤**: - 登录到Grid Control控制台。 - 找到PROD1服务器并选择“参数”选项...
Oracle 11g是Oracle公司推出的数据库管理系统的一个重要版本,主要针对企业级应用提供高性能、高可用性和安全性。Oracle Certified Professional (OCP) 认证是Oracle为验证专业人士在Oracle数据库管理方面技能和知识...
3. **监控与调整**:持续监控数据库的性能指标,如等待事件、内存利用率等,根据实际情况动态调整参数设置。 4. **MTS配置**:在多线程服务器(MTS)模式下,会话和进程的关系更为复杂,每个进程会有多个UGA,需要...
如果将此参数设置为TRUE,则会在启动时加载所有的SGA页面,从而提高初始的性能,但可能会增加启动时间。 - **LOCK_SGA**:此参数用于控制SGA是否被锁定在物理内存中。当设置为TRUE时,SGA的所有页面都会被锁定,防止...