修改sga_max_size过大,数据库无法启动,问题解决(ORA-00844,ORA-00851,memory_target)
2021-03-0230860
修改sga_max_size过大,导致数据库无法启动,问题解决(ORA-00844,ORA-00851)
--=============查看SGA--=============
SQL> show parameter sga;
NAME TYPE VALUE
------------------------------------ ----------- ------------------------------
lock_sga boolean FALSE
pre_page_sga boolean FALSE
sga_max_size big integer 6560M
sga_target big integer 6000M
SQL>
--=============调整SGA_MAX_SIZE=12G--=============
SQL> alter system set sga_max_size=12288M scope=spfile;
System altered
SQL> shutdown immediate;
Database closed.
Database dismounted.
ORACLE instance shut down.
--=============再启动时报错--=============
SQL> startup
ORA-00844: Parameter not taking MEMORY_TARGET into account
ORA-00851: SGA_MAX_SIZE 12884901888 cannot be set to more than MEMORY_TARGET 6878658560.
SQL> startup nomount;
ORA-00844: Parameter not taking MEMORY_TARGET into account
ORA-00851: SGA_MAX_SIZE 12884901888 cannot be set to more than MEMORY_TARGET 6878658560.
此时数据库无法启动,无法修改spfile,只能创建pfile后修改,再启动。
--=============创建pfile--=============
SQL> create pfile='d:pfile.txt' from spfile;
File created.
--查看:
*.memory_target=6870269952
*.sga_max_size=12884901888
*.sga_target=6291456000
--修改
*.memory_target=12884902912 (原来:*.memory_target=6870269952)
--修改后
*.memory_target=12884902912
*.sga_max_size=12884901888
*.sga_target=6291456000
--=============重新生成spfile--=============
SQL> create spfile from pfile='d:pfile.txt';
File created.
--=============再次启动OK--=============
SQL> startup
ORACLE instance started.
Total System Global Area 1.2827E+10 bytes
Fixed Size 2293216 bytes
Variable Size 8287945248 bytes
Database Buffers 4529848320 bytes
Redo Buffers 7282688 bytes
Database mounted.
Database opened.
--=============查看SGA--=============
SQL> show parameter sga;
NAME TYPE VALUE
------------------------------------ ----------- ------------------------------
lock_sga boolean FALSE
pre_page_sga boolean FALSE
sga_max_size big integer 12G
sga_target big integer 6016M
SQL> show parameter memory
NAME TYPE VALUE
------------------------------------ ----------- ------------------------------
hi_shared_memory_address integer 0
memory_max_target big integer 12320M
memory_target big integer 12320M
shared_memory_address integer 0
--=============修改SGA_TARGET=8g--=============
SQL> alter system set sga_target=8192M;
System altered.
SQL> show parameter sga;
NAME TYPE VALUE
------------------------------------ ----------- ------------------------------
lock_sga boolean FALSE
pre_page_sga boolean FALSE
sga_max_size big integer 12G
sga_target big integer 8G
--=============OK--=============
参考文章:
step1: 修改 db_cache_size 的大小, 报如下错吴
SQL> alter system set db_cache_size=350M scope=both;
step2: 修改sga_max_size的大小
SQL> alter system set sga_max_size=850M scope=spfile;
step3: 关闭数据库
SQL> shutdown immediate;
step4: 启动数据库,错误来了:
SQL> startup
提示 SGA_MAX_SIZE 的大小比 MEMORY_TARGET 大,所以启动不了
在网上搜索可一下,觉的这个解释比较贴切:
memory_target是oracle11g用于自动内存管理的,它与memory_max_target是成对出现的,是11g内存管理上的新特性,这一特性的出现使得pga+sga做为整体内存使用被一致的纳入自动管理范畴。简而言之memory_target就是
整个实例所能使用的内存大小,包括PGA和SGA的整体大小,在MEMORY_TARGET的内存大小之内,PGA和SGA所用的内存可以根据当前负载情况自动相互转换。
如果当初始设定的MEMORY_TARGET的内存不够当前数据库使用的时候,Oracle11g还提供了另外一个初始化参数 MEMORY_MAX_TARGET,当原始设定的内存不够使用的时候,可以手工来动态 调节MEMORY_TARGET的大小,但是不允
许超过MEMORY_MAX_TARGET的值。
由此可见sga的尺寸是不能大于memory_target的。所以我们要调整memory_target和memory_max_target的值高于sga_max_size。
step5:解决SGA_MAX_SIZE 的大小比 MEMORY_TARGET 大导致数据无法启动的错误。
由于数据库无法启动,只能调编辑参数文件:
SQL> create pfile='/tmp/pfile20150115.txt' from spfile;
[oracle@REDHAT6 tmp]$ vi/tmp/pfile20150115.txt
将memory_target的值修改成1.2G(由于是本地虚拟机,所以比较小))
即:memory_target=1257889280
备份以前的参数文件
恢复参数文件:
SQL> create spfile from pfile='/tmp/pfile20150115.txt';
启动数据库:
OK,到此结束,数据库正常启动。
end
2019-3-11 · 问题现象: 今天在更改数据库数据的时候,程序报错了,如下: ORA-28001:the password has expired 问题分析: 很显然,报错原因就是: 密码已过期!所以现在需要做的事 …
Oracle 软件下载中心是下载企业的 Oracle 软件的导航站点。. 如果您已经有一个商业许可,则可以从 Oracle Software Delivery Cloud (专门用于客户履约)下载软件。. 要获取软件支持或补丁程序,请访问 My Oracle Support 。. Oracle 软件交付云.
2016-8-14 · oracle 用户密码设置了带有“@”符号,正常登陆总是无法登陆,提示无法解析的连接字符串错误,解决办法:1:修改密码,修改密码,密码中不包括@符号;2:增加转义即可,在 …
修改oracle数据库用户名和密码 提示:这里可以添加系列文章的所有文章的目录,目录需要自己手动添加 例如:第一章 Python 机器学习入门之pandas的使用 提示:写完文章后, …
这里介绍如何使用Hydra进行Oracle数据库密码暴力破解。 步骤1:安装Hydra 在Linux命令行中输入以下命令安装Hydra: sudo apt-get install hydra 步骤2:基于字典文件的暴力破解 如果已知用户名,可以使用以下命令进行暴力破解,其中USERNAME为目标账户名、PASSWORD_FILE为密码字典文件的路径,IP_ADDRESS为目标机器的IP地 …
Oracle密码策略基本设置 系统用的用户密码默认是180天,到期后提醒需要修改密码否则过期。主要系统用户:OUTLN、SYSMAN、SYSTEM、SYS、MGMT_VIEW、DBSNMP …
oracle每隔180天后就登录不了,需要修改下密码才能登录,于是找了个方法来进行密码不过期的设置。 1、查看用户的proifle是哪个,一般是default: sql>SELECT …
Oracle提示错误消息ORA-28001: the password has expired,是由于Oracle11G的新特性所致, Oracle11G创建用户时缺省密码过期限制是180天(即6个月), 如果超过180天用 …
Oracle Alloy is a complete cloud infrastructure platform that enables partners to become cloud providers and offer a full range of cloud services to expand their businesses. …
Oracle基础知识部分涵盖了Oracle数据库的基础知识。本系列教程的主要目标是帮助您构建强大的Oracle数据库基础。完成本系列后,您将能够编写复杂的SQL语句来查询数据和管理数据库对 …
oracle 密码过期的解决方法,按照如下步骤进行操作: 1、查看用户的proifle是哪个,一般是def oracle 用户密码已过期,oracle提示登录密码过期完美解决方法 …
Oracle的密码过期规则是用Profile来管理的,系统默认只有一个Profile(DEFAULT),该profile的密码过期规则为180天;而所有的用户都使用该DEFAULT …
2021-5-31 · 当遇到 Oracle 用户密码过期 又不能重置为新密码该怎么办?事情是这样的,前几天在墨天轮社区问答区上有个问题 “Oracle 用户密码已经过期,但不知道原密码的情况下,如何解 …
Oracle数据库到底是为什么设计的?. Oracle数据库的理论源于1970年的一个论文, A Relational Model of Data for Large Shared Data Banks. 在这个论文中,提出了一个数据库的经典模型,也就是今天所谓的关系行数据库 Relational Database. 这个论文,在当时验证了关系 …
Oracle 不仅提供性能卓越且具有高成本效益的数据库和多模型融合数据库管理系统,还提供内存中数据库、 NoSQL 和 MySQL 数据库。. 其中, Oracle Autonomous Database 能够简化关系数据库环境,减轻管理工作负担 — 无论是使用 Oracle Cloud@Customer 进行本地部署,还是在 ...
Oracle 在使用的过程中经常遇到密码过期,这种情况下应该如何才能再次正常连接数据库。 Oracle 11g 之前默认的用户时是没有密码过期的限制的,在Oracle 11g …
问题现象: 今天在更改数据库数据的时候,程序报错了,如下: ORA-28001:the password has expired 问题分析: 很显然,报错原因就是: 密码已过期!所以现在需要做的事 …
ORACLE ORA-28001数据库密码过期解决方案 Oracle提示错误消息ORA-28001: the password has expired,是由于Oracle11G的新特性所致, Oracle11G创建用户时缺省密码过期限制是 180 …
连接单引号. || 运算符将连接包含在单引号中的字符串值,但并不直接说明如何在连接字符串的结果中添加单引号字符。. 我们来看一个相当简单的例子,它显示了如何使用 || 运算符 …
密码已过期!所以现在需要做的事情只有两件: 1.修改密码的过期时间 2.修改/重置密码 这里分析一下为什么要这样做: 1.修改密码的过期时间:这是因为Oracle …
如果Oracle密码过期已经过期了,首先需要修改密码,然后设置密码为无限期。 修改以sys用户登陆。 修改密码:alter user username identified by password 密码可以和之前的密码相同也可以不同。
密码过期解决方法一 过期的密码可用 1 alter user userXXX identified by xxx; 解决,可以修改为和以前一样。 注:userXXX为用户名, xxx是新的密码。 密码过期解决方法二 如果 …
问题总在解决的时候提及,解决在思考中! 01、查看当前open用户 select username,account_status,expiry_date,profile from dba_users; 02、查看目前的密码过期策略 …
其中scott / tiger ,hr / hr 是用户名密码。Oracle Database,又名Oracle RDBMS,或简称Oracle 。是甲骨文公司的一款关系数据库管理系统。它是在数据库领域一直 …
2016-8-14 · oracle 用户密码设置了带有“@”符号,正常登陆总是无法登陆,提示无法解析的连接字符串错误,解决办法:1:修改密码,修改密码,密码中不包括@符号;2:增加转义即可,在 …
2021-6-15 · 所以现在需要做的事情只有两件: 1.修改密码的过期时间 2.修改/重置密码 这里分析一下为什么要这样做: 1.修改密码的过期时间:这是因为Oracle Database 11g 版本的Oracle数 …
1、先检查用户的profile是什么 #select username,profile from dba_users where USERNAME=‘TOMP_GX_YD’; 2、查看密码的用户有效期 SELECT * FROM dba_profiles …
Oracle密码默认180天会过期,这样对于开发过程有些麻烦烦,所以需要去掉过期策略。第一步、查看用户的proifle是哪个,一般是default SELECT username,PROFILE FROM …
2019-3-10 · Oracle数据库需要修改默认的Profiles,避免用户密码过期 从表面上看是Oracle连接的用户过多,但是这是一个开发环境,没有什么系统在使用,就我们几个开发人员用,之前从来 …
2020-8-22 · oracle忘记用户名和密码怎么办?. 解决方法:1、通过cmd命令台输入sqlplus,进入sqlplus;2、搜索“Oracle 11g默认用户名,密码”,会显示很多相关的默认用户名和密码的信 …