首页 > Linux操作系统 > Linux操作系统 > DIGITAL: ORA-7307 or ORA-9857 Trying to Increase SGA

DIGITAL: ORA-7307 or ORA-9857 Trying to Increase SGA

原创 Linux操作系统 作者:jlandzpa 时间:2019-04-03 13:30:06 0 删除 编辑

from metalink:

Click help for a detailed explanation of this page.
Bookmark Go to End

Subject: DIGITAL: ORA-7307 or ORA-9857 Trying to Increase SGA
Doc ID: Note:1023998.6 Type: PROBLEM
Last Revision Date: 09-JUL-2005 Status: ARCHIVED

Problem Description:

You are on version 4.0 of the Digital UNIX platform, and when you start the
database you see the following errors:

ORA-07307: sms1sg: shmat error, unable to attach sga.
Cause: Failed to attach shared memory segment, after
having gotten it.
Action: Check errno returned. Verify that SGA attach
address is valid.
dec osf/1 error 22 -- where error 22 is an EINVAL or Invalid
additional info 1

- OR -

On Digital Unix, after installing v7.3.4 of RDBMS, you are trying to create a
database with a shared_pool_size of 9,000,000 (template size for a large
database in the init.ora file). You can create a database with a smaller SGA.
When you try to create a large one, you receive the following errors:

ORA-09857 smprset:vm_protect error while protecting pga
digital unix error: 22 invalid agreement
additional info 538168384
additional info 1
additional info -1

You have confirmed that


is in the init.ora as false, or is not there at all.

Solution Description:

You either need to do root command "sysconfig -r ipc ssm-threshold=0" or add
parameter "ssm-threshold=0" to the ipc section of the "sysconfigtab" file and
reboot the system.

WORKAROUND 1 (temporary)

1. Login as "root"

% su root

2. Run the "sysconfig" command

# sysconfig -q ipc

NOTE: To see the old value, save the output.

3. Reset the "sysconfig" value

# sysconfig -r ipc ssm-threshold=0

WORKAROUND 2 (Permanent)

1. Login as "root"

% su root

2. Change your location to the "etc" directory

# cd /etc

3. Edit the "sysconfigtab" file by adding the following:

ssm-threshold=0 # Disable shared PTEs for now

4. Save the "sysconfigtab" file

5. Reboot the system

WORKAROUND 3 (Permanent)

Use the "sysconfig" command to verify kernel settings:

sysconfig -q vm

Increase the "gh-chunks" parameter.

NOTE: "gh-chunks" may need to be increased to 512 if you are trying to grab a
large portion of shared memory (example: 1 Gigabyte).


Receiving an ORA-07307 error combined with the operating system error
"22 EINVAL" means that an error occurred when trying to attach the SGA segment
at the start address of memory.

Digital Unix kernel parameter ssm-threshold needs to be set to 0. This will
disable shared page tables and allow a larger SGA.

Receiving an ORA-07307 generally indicates that the starting address is not
suitable for the SGA. This is usually due to the SGA segment being too large
to fit into memory with the given starting address. However, on the DEC Alpha,
the start address is not predetermined during the linking of ORACLE but is set
at run time.

The problem in this case lies with the sharing of page table entries. By
default, "ssm-threshold" is set to 8M and expects the SGA to be attached to an
address aligned on the 8M boundary. It also expects the size to be an 8M
multiple as well. The "716" ORACLE does not round up the SGA size to the next
higher 8M boundary.



Search Words:

ORA-7307, ORA-9857, DEC Alpha OSF/1

来自 “ ITPUB博客 ” ,链接:,如需转载,请注明出处,否则将追究法律责任。

请登录后发表评论 登录


  • 博文量
  • 访问量