技术人员,写文章有些啰嗦。
先写背景,之前在开发的笔记中安装了Orcal数据,每次开机占用很多内存,目前配置DDR4 8G,配置还行,奈何强迫症犯了,非得想优化一下,想降低一些内存。
百度“Orcal修改内存”,其中:http://blog.csdn.net/lightupheaven/article/details/7275447
用dba身份进入Oracle,笔者在plsql中对数据库进行管理:
show parameter sga; --显示内存分配情况
alter system set sga_max_size=200m scope=spfile; --修改占用内存的大小
注:在PL/SQL中 在command window中的Editor模式下使用以上命令
于是执行以上命令修改数据库内存,之后没在用电脑的数据库,一直用服务器公用数据。近期需要外出演示项目,用PL/SQL登录,出现了经典的数据库错误:
ORA-01034: ORACLE not available
ORA-27101: shared memory realm does not exist
进程 ID: 0
会话 ID: 0 序列号: 0
以上纯属假设由于修改了数据的占用内存大小引发的此错误,通过搜索“set sga_max_size ORA01034”没有找到相关的信息,所以纯属假设。除了问题马上解决。
搜索“ORA-01034 与ORA-01034”出现的问题一大堆,几乎是一样的路子:
sqlplus /nolog
connect / as sysdba
startup
验证结果:重新用户名密码登录,成功
如果您能解决问题了,就不必往下看了。我就出现了问题,执行命令“connect / as sysdba”,会有:
ORA-01031: insufficient privileges
错误。没有授权,继续解决“ORA01031”的问题。
网址:http://blog.csdn.net/wyzxg/article/details/4301266
注意多个数据库实例时候,set ORACLE_SID='',
1、检查sqlnet.ora(WINDOWS下位于%ORACLE_HOME%NETWORKADMIN目录)是否包含这句:SQLNET.AUTHENTICATION_SERVICES=(NTS),没有的话加上
2、检查登陆windows的用户(administrator或安装Oracle时候使用的用户)是不是在包含在ORA_DBA组中,域用户没有连上域服务器时就可能出现这种现象。
3. 要保证 remote_login_passwordfile 参数 = EXCLUSIVE .
4. 看看是否需要使用orapassw生成口令文件 .
1和2没问题,第3步,你让win10家庭版正版的用户情何以堪。
===========================华丽的分割线============================
8点下班回家了,路上用手机搜索了一个思路,继续往添加ORA_DBA组上努力。
网址:http://blog.csdn.net/J080624/article/details/52736057
1.利用命令查看当前系统用户:net user
这里写图片描述
这是当前系统中所有的用户。
2.查看用户组
net localgroup–查看用户组;
这里写图片描述
3.查看ora_dba用户组下的具体用户:
net localgroup ora_dba;
这里写图片描述
并没有第一步中查到的本机管理员用户。
4.添加本机管理员用户到ora_dba用户组下:
net localgroup ora_dba administrator /add;
也可以添加用户组到该组下
net localgroup ora_dba administratos /add;
这里写图片描述
5.此时,成功执行 “sqlplus / as sysdba”
这里写图片描述
添加ORA_DBA的那一刻终于豁然了,中间有个小插曲“发送系统错误 5.”,此时需要用管理员权限运行CMD。
一波未平一波又起,运行“startup”命令时报错:
SQL> show parameter sga
ORA-01034: ORACLE not available
进程 ID: 0
会话 ID: 0 序列号: 0
虽然报错,感觉离成功又近一步了。
网址:http://www.cnblogs.com/vipsoft/archive/2012/12/21/2827460.html
SQL> startup; ORA-00837: Specified value of MEMORY_TARGET greater than MEMORY_MAX_TARGET SQL> startup pfile='E:\app\Administrator\admin\orcl\pfile\init.ora.10192012163956'; ORACLE 例程已经启动。 Total System Global Area 3423965184 bytes Fixed Size 2180544 bytes Variable Size 1862273600 bytes Database Buffers 1543503872 bytes Redo Buffers 16007168 bytes 数据库装载完毕。 数据库已经打开。 SQL> show parameter sga NAME TYPE VALUE ------------------------------------ ----------- ------------------------------ lock_sga boolean FALSE pre_page_sga boolean FALSE sga_max_size big integer 3280M sga_target big integer 0 SQL> show parameter memory NAME TYPE VALUE ------------------------------------ ----------- ------------------------------ hi_shared_memory_address integer 0 memory_max_target big integer 3280M memory_target big integer 3280M shared_memory_address integer 0 SQL> create spfile from pfile; create spfile from pfile * 第 1 行出现错误: ORA-01078: 处理系统参数失败 LRM-00109: could not open parameter file 'E:\APP\Administrator\PRODUCT\11.2.0\DBHOME_1\DATABASE\INITZJGSID.ORA' SQL> create spfile from memory; 文件已创建。 SQL> shutdown abort ORACLE 例程已经关闭。 SQL> startup ORACLE 例程已经启动。 Total System Global Area 3423965184 bytes Fixed Size 2180544 bytes Variable Size 1879050816 bytes Database Buffers 1526726656 bytes Redo Buffers 16007168 bytes 数据库装载完毕。 数据库已经打开。 SQL> show parameter sga; NAME TYPE VALUE ------------------------------------ ----------- ------------------------------ lock_sga boolean FALSE pre_page_sga boolean FALSE sga_max_size big integer 3280M sga_target big integer 0 SQL> show parameter memory; NAME TYPE VALUE ------------------------------------ ----------- ------------------------------ hi_shared_memory_address integer 0 memory_max_target big integer 3280M memory_target big integer 3280M shared_memory_address integer 0 SQL> select count(1) from v$session; COUNT(1) ---------- SQL>