说明:【oracle问题集】是博主平时操作数据库遇到的问题以及解决方案。
执行语句:表示操作数据库过程
出错现象:表示操作数据库过程出现错误现象
出错原因:表示出现错误的原因
解决方法:表示解决错误的方法
相关知识:表示与这个主题相关的知识
========================================================================
执行语句:
启动Oracle数据库(startup)
出错现象:
ORA-00845: MEMORY_TARGET not supported on this system
错误原因:
由于设置SGA的大小超过了操作系统/dev/shm的大小
解决方法:
第一种方法:修改初始化参数,使得初始化参数中的SGA设置小于/dev/shm的大小.
第二种方法:是调整/dev/shm的大小
调整/dev/shm的方法如下:
[root@localhost ~]# vim /etc/fstab
tmpfs /dev/shm tmpfs defaults,size=10240M 0 0 【修改tmpfs大小】
[root@localhost ~]# umount /dev/shm
[root@localhost ~]# mount /dev/ssh
[root@localhost ~]# df -h /dev/shm
文件系统 容量 已用 可用 已用% 挂载点
tmpfs 10G 0 10G 0% /dev/shm
相关知识
- tmpfs 是一个文件系统,而不是块设备;您只是安装它,它就可以使用了。
- 动态文件系统的大小。
- tmpfs 的另一个主要的好处是它闪电般的速度。因为典型的 tmpfs 文件系统会完全驻留在 RAM 中,读写几乎可以是瞬间的。
- tmpfs 数据在重新启动之后不会保留,因为虚拟内存本质上就是易失的。所以有必要做一些脚本做诸如加载、绑定的操作。
linux下/dev/shm的容量默认最大为内存的一半大小,使用df -h命令可以看到。但它并不会真正的占用这块内存,如果/dev/shm/下没有任何文件,它占用的内存实际上就是0字节;如果它最大为1G,里头放有100M文件,那剩余的900M仍然可为其它应用程序所使用,但它所占用的100M内存,是绝不会被系统回收重新划分的,否则谁还敢往里头存文件呢?
通过df -h查看linux /dev/shm的大小
[root@db1 shm]# df -h /dev/shm
Filesystem Size Used Avail Use% Mounted on
tmpfs 1.5G 0 1.5G 0% /dev/shm
C.linux /dev/shm 容量(大小)调整
linux /dev/shm容量(大小)是可以调整,在有些情况下(如oracle数据库)默认的最大一半内存不够用,并且默认的inode数量很低一般都要调高些,这时可以用mount命令来管理它。
mount -o size=1500M -o nr_inodes=1000000 -o noatime,nodiratime -o remount /dev/shm
在2G的机器上,将最大容量调到1.5G,并且inode数量调到1000000,这意味着大致可存入最多一百万个小文件
通过/etc/fstab文件来修改/dev/shm的容量(增加size选项即可),修改后,重新挂载即可:
[root@db1 shm]# grep tmpfs /etc/fstab
tmpfs /dev/shm tmpfs defaults,size=2G 0 0
[root@db1 /]# umount /dev/shm
[root@db1 /]# mount /dev/shm
[root@db1 /]# df -h /dev/shm
Filesystem Size Used Avail Use% Mounted on
tmpfs 2.0G 0 2.0G 0% /dev/shm
[root@db1 /]# # mount -o remount /dev/shm
[root@db1 /]# df -h
Filesystem Size Used Avail Use% Mounted on
/dev/mapper/rootvg-lv01 97G 9.2G 83G 10% /
/dev/sda1 99M 15M 80M 16% /boot
tmpfs 2.0G 0 2.0G 0% /dev/shm
分享到:
相关推荐
在启动Oracle数据库时提示:ORA-00845 MEMORY_TARGET not supported on this system错误,解决办法
调整参数后引起,ORA-00838: Specified value of MEMORY_TARGET is too small, needs to be at least 3 2768M 的解决方案
oracle11G调整物理内存提示ORA-00845 MEMORY_TARGET
ora-01033:oracle initialization or shutdown in progress 解决方法 ora-01033:oracle initialization or shutdown in progress 解决方法 ora-01033:oracle initialization or shutdown in progress 解决方法 ora-...
ORA-03113 "end_of_file on communication channel" ORA-03113 "end_of_file on communication channel" ORA-03113 "end_of_file on communication channel
ORA-01036:非法的变量名/编号 oracle特有的错误
在运行查询SELECT * FROM V$SESSION 会出现ORA-29275:部分多字节字符的错误,这是什么原因开始我不得其解,网上也没有介绍什么好办法。本文给出答案。
oracle19c缺少的函数
ORA-32001:write to spfile requested but no spfile is in use请求写入spfile,但没有使用spfile的解决方法 在输入以下语句中报了这样的错误: SQL>alter system set control_files=’/u01/app/oracle/oradata/prod/...
oracle12c程序连接时异常: ORA-01017: 用户名/口令无效; 登录被拒绝 的解决方案。
错误描述:oracle远程连接服务器出现 ORA-12170 TNS:连接超时 错误检查:有很多是oracle自身安装的问题,但是我这里服务器配置正常,监听正常,服务正常,远程可以ping通服务器。 这里主要是防火墙问题,解决办法: ...
oracle报错ora-12541:TNS无监听程序
ORA-12154: TNS: 无法解析指定的连接标识符的解决方法
NULL 博文链接:https://3w1h.iteye.com/blog/1211779
最近在工作中遇到了一个问题,错误是Oracle dbca时报错:ORA-12547: TNS:lost contact,通过查找相关的资料终于找到了解决的方法,下面分享给大家,话不多说了,来一起看看详细的介绍吧。 环境: OS:RHEL6.5 x86-...
oracle网络配置(listener_ora-sqlnet_ora-tnsnames_ora).mht
ORA-00031:标记要终止的会话解决方案; ORA-00031:标记要终止的会话解决方案;
ORA-00604: 递归SQL层1出现错误 ORA-03106: 致命的双工通信协议错误 ORA-02063: 紧接着line(源于dblink) 以及 ORA-04052: 在查找远程对象时出错 ORA-00604: 递归SQL层1出现错误 ORA-03120: 双工转换例行程序:整数...
NULL 博文链接:https://springlin.iteye.com/blog/1520668