How to set kernel parameter max-shm-memory automatically at startup
Hi,
We have a 11.1.0.7 Database on Solaris Sparc 10 64-bit server. We have settings of max-shm-memory as below;
-bash-3.00# prctl -n project.max-shm-memory -i project default
project: 3: default
NAME PRIVILEGE VALUE FLAG ACTION RECIPIENT
project.max-shm-memory
privileged 50.0GB - deny -
system 16.0EB max deny -
-bash-3.00# prctl -n project.max-shm-memory -i project system
project: 0: system
NAME PRIVILEGE VALUE FLAG ACTION RECIPIENT
project.max-shm-memory
privileged 50.0GB - deny -
system 16.0EB max deny -
Whenever we restart the db the second one is lost;
bash-3.00$ prctl -n project.max-shm-memory -i project default
project: 3: default
NAME PRIVILEGE VALUE FLAG ACTION RECIPIENT
project.max-shm-memory
privileged 50.0GB - deny -
system 16.0EB max deny -
bash-3.00$ prctl -n project.max-shm-memory -i project system
prctl: system: No controllable process found in task, project, or zone.
So our sys admin has to configure them again whenever we restart our db. How could I do this automatically at startup without counfiguring again from command prompt?
Thanks,
Hatice
Ok it is clear now. I have one more question. When I check system I get below error;
# prctl -n project.max-shm-memory -i project system
prctl: system: No controllable process found in task, project, or zone.
Document says; The reason for the message reported above is because there is no active process(es) belong to the project.
But it is impossible for us because according to our project settings its for root user;
bash-3.00$ cat /etc/project
system:0::root::project.max-shm-memory=(priv,53687091200,deny)
user.root:1::::
noproject:2::::
default:3::oracle::project.max-shm-memory=(priv,53687091200,deny)
group.staff:10::::
oracle:100::::project.max-shm-memory=(priv,53687091200,deny)
Is it because I check with oracle user and I don't have sufficient privileges or there is something wrong with it?
Thanks.
Similar Messages
-
Impact of project.max-shm-memory configuration in Solaris 10
Dear All,
I'm not sure if this an error or purposely configured as it is.
Current kernel configuration of project.max-shm-memory is *400Gb* while the hardware only have 8 GB RAM, and SGA_max set to 5GB (ORACLE database is 10g).
Will there be any impact in long run with this configuration based on your experiences?
project: 1: user.root
NAME PRIVILEGE VALUE FLAG ACTION RECIPIENT
project.max-shm-memory
privileged *400GB* - deny -
system 16.0EB max deny -
Suggestions and advices are much appreciated.
Thanks and Best Regards,
Eric PurwokoHi Helios,
Thanks!, the recommendation is 4294967295, but my SGA MAX and target is 5 GB. Will it cause problem if I put project.max-shm-memory lower than SGA?
Thanks for the link too. I guess I better put those configuration in /etc/system too.
But now wondering what's the best value looking at my SGA max configuraiton
Best Regards,
Eric -
Shminfo_shmmax in /etc/system does not match project.max-shm-memory
If I specified 'shminfo_shmmax' in /etc/system and hava the system default in /etc/project(no change is made), the size of 'project.max-shm-memory' is 10 times larger than 'shminfo_shmmax'.
#more /etc/system // (16MB)
set shmsys:shminfo_shmmax=16000000
#prctl -n "project.max-shm-memory" -i project user.root
=> will display like below.
project: 1: user.root
NAME PRIVILEGE VALUE FLAG ACTION RECIPIENT
project.max-shm-memory
privileged 1.49GB - deny -
system 16.0EB max deny
1.49GB is 10 times larger than 'SHMMAX'. If I add more entries /etc/system like below, max_shm_memory will become even larger.
#more /etc/system
set shmsys:shminfo_shmmax=16000000
set semsys:seminfo_semmni=2000
set shmsys:shminfo_shmmni=2000
set msgsys:msginfo_msgmni=2048
After I reboot with the above /etc/system and no change /etc/project(all default, no values added)
# prctl -n "project.max-shm-memory" -i project user.root
project: 1: user.root
NAME PRIVILEGE VALUE FLAG ACTION RECIPIENT
project.max-shm-memory
privileged 29.8GB - deny -
system 16.0EB max deny -
Can anyone shed light about this area how to configure SHMAX in /etc/system right?We saw similar behavior and opened a case with Sun.
The problem turns out to be that the (deprecated) /etc/system to (new) project resource limits isn't always one-to-one.
For example process.max-shm-memory gets set to shmsys:shminfo_shmmax * shmsys:shminfo_shmmni.
The logic here is that under the /etc/system tunings you might have wanted the maximum number of segments of the maximum size so the system has to be able to handle that. Make sense to some degree. I think Sun updated one of their info docs on the process at the end of our case to make this clearer. -
Hi Guys,
I'm trying to get a clear definition on project.max-shm-memory. Lets say its set to 4GB for user.oracle. Does this mean that the maximum amount of shared memory available to the project is 4GB or that the maximum shared memory segment size created by ANY process in the project can be 4GB (i.e 2 processes could create 2 separate 4GB segments)? I'm pretty sure its the former but I wanted to check..
Thanks,
TonyEven though SUN says many of the kernel tunables are now obsolete in /etc/sytem, some like shmmax actually will still work if reset with the global zone. The default is 1/4 system memory.
-
Prctl -n project.max-shm-memory -i process $$
Hi all,
when i execute the following command "prctl -n project.max-shm-memory -i process $$"
its output is
NAME PRIVILEGE VALUE FLAG ACTION RECIPIENT
project.max-shm-memory
privileged 5.85TB - deny
5.85TB while RAM is only 32GB.
How i can change it for oracle user.What does your /etc/project file says?
Mine is (showing oracle user):
oracle:100::oracle::process.max-sem-nsems=(priv,300,deny);project.max-sem-ids=(priv,100,deny);project.max-shm-ids=(priv,512,deny);project.max-shm-memory=(priv,8589934592,deny)
That is 8 GB RAM allowed for oracle use (max-shm-memory).
Change it using
projmod -sK "project.max-shm-memory=(priv,8G,deny)" oracleJan -
Max-shm-memory (Solaris 11.1)
I wonder if someone can give a definitive answer on this, or point me to somewhere that does?
If I have a 64GB RAM server running Solaris 11.1 that will run a single Oracle instance, what is the correct setting to make for max-shm-memory?
Should it be 64GB, or something a bit smaller? Or something a lot smaller?
I have read the installation documentation, but it gives examples of 2gb, 4gb and so on. They don't seem relevant to a 64GB+ serverThank you, but that document doesn't answer my questions.
Specifically, it states at one point that "project.max-shm-memory=(privileged,51539607552,deny); ... sets a limit of 48GB per shared memory segment" (which is true, as far as I understand it). But it then goes on to say in the next breath that "The project.max-shm-memory limit is the __total__ shared memory size for your project. -- ie maximum total of all your segments.". Which, to my mind, contradicts its first statement.
The article then also goes on to give an example where "This system has 8GB of memory..." and shows the author setting "projmod -s -K "project.max-shm-memory=(privileged,4GB,deny)" 'user.oracle'"... so are we to deduce that you should set max-shm-memory to 50% of your physically-available RAM? Or not??
I had actually read this before I posted. It's the same sort of document I see over and over on this subject: lots of examples, some contradictory, but none stating what principles should govern the setting of max-shm-memory, and none stating what the consequences of (for example) allocating 100% of physically available RAM as max-shm-memory would be.
So thank you for the reference, but my question still stands: can someone provide a definitive answer on what the setting here should be? It's a 64GB server and will run nothing but Oracle database, with a single instance. max-shm-memory should be set to.... what, exactly? -
Max-shm-memory Problem - out o memoy. No space on device
Hi Everyone,
First time post. I'm a UNIX SA tying to troubleshhot the problem: On Solaris 10.
SQL> startup pfile=inittest1.ora
ORA-27102: out of memory
Solaris-AMD64 Error: 28: No space left on device
SQL>
u01/app/oracle/admin/dd00lod1/udump/dd00lod1_ora_25782.trc
Oracle Database 10g Enterprise Edition Release 10.2.0.4.0 - Production
With the Partitioning, OLAP, Data Mining and Real Application Testing options
ORACLE_HOME = /u01/app/oracle/product/10.2.0.4
System name: SunOS
Node name: reuxeuux1089
Release: 5.10
Version: Generic_147441-10
Machine: i86pc
Instance name: dd00lod1
Redo thread mounted by this instance: 0 <none>
Oracle process number: 0
Unix process pid: 25782, image: oracle@reuxeuux1089
skgm warning: ENOSPC creating segment of size 0000000005800000
fix shm parameters in /etc/system or equivalent
We have tied modifying the max-shm-memory settings, but no joy ! Please assist if you can.
Thanks
Amreek
prctl -n project.max-shm-memory -i project 100
project: 100: ORACLE
NAME PRIVILEGE VALUE FLAG ACTION RECIPIENT
project.max-shm-memory
privileged 124GB - deny -
system 16.0EB max denyconsider to Read The Fine Manual; INSTALLATION GUIDE
-
Set get parameter but free memory id is not working
Hi All,
I am using set get parameter to transfer data from one module to another .
But when i am trying to clear the memory id using Free memory id .
it is not doing that.
Does it work with import export.
What method i should use to clear this memory id ..
Thanks in advance
ANit gautamClears the memory:
SET PARAMETER ID pid FIELD space. -
How to set the parameter selection *optional* for each subreport?
Hi,
I am using Crystal Reprots 11.
I create 10 subreports, and each subreport contains a Parameters Field.
The 10 subreports are put in 10 footer sections in increasing order, i.e. subreport1, subreport2, subreport3, ..., subreport10.
When I use "Print Preview" to take a look at the whole report, CR prompts a "Edit Values" window for selecting parameter values for all 10 subreports.
For example, if I only select parameter values for subreport1 and click "OK", 9 error messages on the "Edit Values" window come out above the selection list box of every other subreports (i.e. subreport2 ~ subreport10) showing that: 'The value is not valid'.
Sometimes, I just want to review some specific subreports but not all.
How should I do to set the parameter selection optional (not mandatory) for each subreport?
Thank you in adavance.
Edited by: Holdup on Feb 17, 2012 3:44 PMHi,
Here's how you can make the prompts optional (Assuming you're using CR 2008 or higher):
1) Go into each subreport
2) You should see the parameter in the Field Explorer. Right-click the name and select Edit > Look for an option called 'Optional Prompt'. Set it to true
3) If you have a record selection in the subreport, then you need to modify the selection formula to something like this:
if not(hasvalue({?Parameter_Name})) then True else = {?Parameter_Name}
Hope this helps!
-Abhilash -
How to set dynamic parameter in list of values in parameter property
Hi,
I am using cr4e-all-in-one-win_2.0.1version.I have created .rpt file in that how to set dynamic parameters(from database) in list of values parameter property
Regards,
amolHi,
I am using cr4e-all-in-one-win_2.0.1version.I have created .rpt file in that how to set dynamic parameters(from database) in list of values parameter property
Regards,
amol -
How to set UTL_FILE parameter in the INIT.ORA file
Dear all,
How can i set UTL_FILE parameter in the INIT.ORA file.
Also let me know how to create a directory over there.I am new to this area.
Where exactly i can locate these details and create directory.
Regards,
Bala.post this in database forum
-
How to set EXPORT parameter from message mapping
Again, ask the question of export parameter.
I wrote a java version transformation and it worked good with export parameter.
However I can not work it out in graphical message mapping. I refered http://help.sap.com/saphelp_nwpi71/helpdata/en/43/c3e1fa6c31599ee10000000a1553f6/frameset.htm.
In PI7.1, I add an export parameter "EXPORT_PARA" in the "Signature" tab. Are there any special step to assign this parameter to an UDF? I did not find a way to do it.
And then I define an UDF,
public String SetExportPara(String sss, Container container) throws StreamTransformationException{
String str = "GOOD";
GlobalContainer gc = container.getGlobalContainer();
OutputParameters paras= gc.getOutputParameters();
if(paras.exists("EXPORT_PARA ") == true) {
paras.setString("EXPORT_PARA ", str);
}else {
str = "NOT FOUND EXPORT_PARA";
return str;
And I assign this UDF to one element of my output XML, I tried to run it in IE, it always output "NOT FOUND EXPORT_PARA.
why?????
I know there is a blog : https://www.sdn.sap.com/irj/scn/weblogs?blog=/pub/wlg/8654. [original link is broken] [original link is broken] [original link is broken]
But it did not talk how to set export parameters.Hi,
i read thread
How to export parameters from Message Mapping
and blog
/people/jin.shin/blog/2008/02/14/sap-pi-71-mapping-enhancements-series-parameterized-message-mappings
but not found issue
in this topic
http://help.sap.com/saphelp_nwpi71/helpdata/en/43/c3e1fa6c31599ee10000000a1553f6/frameset.htm.
if i writting this code in UDF, i getting an error.
If use this code:
GlobalContainer gc = container.getGlobalContainer();
OutputParameters paras= gc.getOutputParameters();
paras.setString("EXPORT_PARA ", str);
the export parameter is defined locally (in transformation step area). In integration process area parameter is equal to NULL.
How send export parameter to Integration Process? For exapmple, i wanna send parameter to other transformation step in my integration process.
thx. -
hi i am creating xml publisher and from OAF with parameters
cusname:
runreportdate:
go clear buttons
click go open report in pdf
SELECT hp.party_name CustomerName,
csi.incident_number SRNumber,
to_char(csi.incident_date,'DD-MON-YYYY') SRDate,
to_char(csi.close_date,'DD-MON-YYYY') SRCloseDate,
mtl.description SRItemName,
csi.summary Summary,
csi.problem_code,
csi.incident_address SRAddress,
csi.INCIDENT_COUNTRY SRCountry,
'31-DEC-2008' Reportrundate,
COUNT ( * ) over () cnt,
cis.name,
COUNT(
CASE
WHEN cis.name='Low'
THEN 1
END) over () Low,
COUNT(
CASE
WHEN cis.name='Medium'
THEN 1
END) over () Medium,
COUNT(
CASE
WHEN cis.name='High'
THEN 1
END) over () High1,
to_char(csi.incident_date,'MON-YYYY') SrMonth
FROM hz_parties hp,
hz_cust_accounts hca,
hz_contact_points hc,
cs_incidents_all_b csi,
ar_lookups arl,
cs_incident_severities_b cis,
mtl_system_items_kfv mtl
WHERE hca.cust_account_id =csi.account_id
AND hp.party_type IN ('PERSON','ORGANIZATION')
AND hp.status ='A'
AND hp.party_id = hca.party_id
AND hca.status ='A'
AND hp.party_id =hc.owner_table_id(+)
AND hc.owner_table_name(+) ='HZ_PARTIES'
AND hp.party_id =hca.cust_account_id
AND hc.contact_point_type(+)='PHONE'
AND hc.primary_flag(+) ='Y'
AND hc.status(+) ='A'
AND arl.lookup_type(+) = 'PHONE_LINE_TYPE'
AND arl.lookup_code(+) = hc.phone_line_type
AND hp.party_name='Business World'
AND csi.incident_date BETWEEN to_date('01-JAN-2000','DD-MON-YYYY') AND to_date('31-DEC-2008','DD-MON-YYYY')
AND cis.incident_severity_id=csi.incident_severity_id
AND mtl.inventory_item_id=csi.inventory_item_id
GROUP BY hp.party_name,
csi.incident_number,
csi.incident_date,
csi.close_date,
csi.summary,
csi.problem_code,
csi.incident_address,
cis.name,
csi.INCIDENT_COUNTRY,
mtl.description,
to_char(csi.incident_date,'MON-YYYY')
Am code
public void initQuery(String paramString1, String paramString2)
SrReportVOImpl vo=getSrReportVO1();
if ((paramString1 != null) && (!("".equals(paramString1.trim()))) && (paramString2 != null) && (!("".equals(paramString2.trim()))))
vo.setWhereClauseParams(null);
vo.setWhereClauseParam(0, paramString1);
vo.setWhereClauseParam(1, paramString2);
vo.executeQuery();
public XMLNode getPrintDataXML()
//SrReportVOImpl vo=getSrReportVO1();
OAViewObject vo = (OAViewObject)findViewObject("SrReportVO1");
//vo.initQuery(s,s1);
XMLNode xmlNode=(XMLNode) vo.writeXML(4,XMLInterface.XML_OPT_ALL_ROWS);
return xmlNode;
CO code
SrAMImpl am=(SrAMImpl)pageContext.getApplicationModule(webBean);
if(pageContext.getParameter("Go")!=null)
//am.searchSrDetails(pageContext,webBean);
String s=pageContext.getParameter("CustomerName");
String s1=pageContext.getParameter("RunReportDate");
am.initQuery(s,s1);
// Get the HttpServletResponse object from the PageContext. The report output is written to HttpServletResponse.
DataObject sessionDictionary = (DataObject)pageContext.getNamedDataObject("_SessionParameters");
HttpServletResponse response = (HttpServletResponse)sessionDictionary.selectValue(null,"HttpServletResponse");
try {
ServletOutputStream os = response.getOutputStream();
// Set the Output Report File Name and Content Type
String contentDisposition ="attachment;filename=ServiceReport.pdf";
response.setHeader("Content-Disposition",contentDisposition);
response.setContentType("application/pdf");
Serializable param[]={pageContext.getParameter("CustomerName"),pageContext.getParameter("RunReportDate")};
System.out.println("hiiii 12");
// Get the Data XML Output as the XMLNode
XMLNode xmlNode = (XMLNode) am.invokeMethod("getPrintDataXML",param);
System.out.println("hiiii 13");
System.out.println(xmlNode.toString());
System.out.println("hiiii 14");
// Get the Data XML File as the XMLNode
ByteArrayOutputStream outputStream = new ByteArrayOutputStream();
xmlNode.print(outputStream);
ByteArrayInputStream inputStream = new ByteArrayInputStream(outputStream.toByteArray());
ByteArrayOutputStream pdfFile = new ByteArrayOutputStream();
//Generate the PDF Report.
TemplateHelper.processTemplate(
((OADBTransactionImpl)pageContext.getApplicationModule(webBean).getOADBTransaction()).getAppsContext(),
APP_NAME,
TEMPLATE_CODE,
((OADBTransactionImpl)pageContext.getApplicationModule(webBean).getOADBTransaction()).getUserLocale().getLanguage(),
((OADBTransactionImpl)pageContext.getApplicationModule(webBean).getOADBTransaction()).getUserLocale().getCountry(),
inputStream,
TemplateHelper.OUTPUT_TYPE_PDF,
null,
pdfFile);
// Write the PDF Report to the HttpServletResponse object and flush.
byte[] b = pdfFile.toByteArray();
response.setContentLength(b.length);
os.write(b, 0, b.length);
os.flush();
os.close();
pdfFile.flush();
pdfFile.close();
catch(Exception e)
response.setContentType("text/html");
throw new OAException(e.getMessage(), OAException.ERROR);
pageContext.setDocumentRendered(false);
System.out.println("hiiii 13");
if(pageContext.getParameter("Clear")!=null)
am.ClearFields(pageContext,webBean);
}can any one tell me how to set the bind parameters or setting parameterHi,
Could not understand your problem exactly. DId you try adding bind variables in the query like below:
AND hp.party_name='Business World'
AND csi.incident_date BETWEEN to_date('01-JAN-2000','DD-MON-YYYY') AND to_date('31-DEC-2008','DD-MON-YYYY')
change to
AND hp.party_name=:1
AND csi.incident_date BETWEEN :2 AND :3
Please note you will need three bind variables. Second and third for SR Dates.
~Amol -
How to set the parameter of xi header in server proxy
Hi,
Does anyone have idea, how to set ref_to_message_id of a client proxy in the server proxy? My problem is, I send a message to a server proxy. The server proxy receives the message, retrieves the message id and tries to set the ref_to_message_id of the message, which will be sent to a client proxy, with its message id. I only find some useful functions to get these information of client proxy and server proxy like message_id etc. in runtime. But I did not find the "set" function to set these parameters. Maybe someone can tell me at first, if it is possible to set such parameters in runtime in server proxy.
Can anyone help?
regard
huHi Chilla,
what I want is to monitor the related message bundle easily. In my server proxy, many different client proxies are called and messages are transfered. So under the SXMB_MONI I will find many message exchanges for one server proxy call. Because the server proxy is called so often, I cannot distinguish under the SXMB_MONI, which message exchanges are caused by which server proxy call.
So I have an idea. If I can set the ref_to_message_id of the messages for the client proxy calls with the message id of the server proxy call, then I can at first select the message of the server proxy call and find the messages for the related client proxy calls easily using the button "referencing message". The message id of the server proxy call can be retrieved. So my problem is now, how to set the ref_to_message_id of the messages for the client proxy calls with this messag id in the server proxy.
Of cource, if anyone has better idea, how to resolve the situation in another way without setting the ref_to_message_id, pleases inform me.
regards
Bin -
How to set an attached USB drive to automatic sleep using Airdisk?
Greetings all!
I am looking for a way to set my two USB drives to sleep when they are not being used. I only use them a few minutes a day, and don't want to run them down or use the electricity to keep them spinning.
It seems there has been some discussion about this but I haven't been able parse all the conversations. Some people seem to have gotten it to work, while others are relying on a drives "internal" mechanisms. It would be great if someone (perhaps at Apple?) could chime in with an overview of the problem.
Perhaps it is linked to the method of authentication - ie., (using Airport Utility 5.1), whether the Disks > File Sharing > "Secure Shared Disks" > is with "disk password" or another method?
Some have suggested a radio button for a future firmware/other update such as:
"Set drives to sleep when not in use" (Let's hope for this!), but I am hoping for a simple solution in the near future.
Any thoughts out there?
best to all.
*NB: I first posted this on Posted: Apr 4, 2007 12:23 AM and got NO response at all - hopefully I'll have more luck this time !Hello Andy,
Thanks for your reply.
1. For using Microsoft Outlook rules, we need to keep the computer on, even after work or the colleague is on leave. That is not allowed in my company.
2. For sending an auto-reply email based on subject, that is impossible because the emails from customers are different and we don't have a basic standard.
3. Could you please elaborate how to set a transport rule in Exchange server to achieve the goal?
Thanks a lot in advance.
Steven
1. Only client rules require that the Outlook client remain open. An auto-reply rule should be server-side, so no need to leave Outlook open.
2. Yep!
3. Walk through the hub transport rules and you see one that replies with a rejection code. Thats the best you can get with a hub transport rule and not something I would recommend in your scenario. You could also search around for 3rd party solutions.
Twitter!:
Maybe you are looking for
-
Authroisation group in posting periods
Dear Sapians, Kindly help me in this issue I have an authorisation group in open and closed posting periods(OB52), so that i am maintaining posting periods in INterval 1 as from 09 to 09 which is applicable for authorisation grouo users. in inerval
-
Data Writing to Application server
Hi, I am Uploading 108 fields of data to application server file Below ZFI_PAYMENT is the table which contains 108 fields of data Please check my code TYPES: ty_file TYPE zfi_payment. DATA: wa_file TYPE ty_file. DATA: it_file TYPE STANDARD TABLE OF t
-
Hi, I am trying to run assessment cycle for new GL with transaction code FAGLGA15. In assessment cycle master I have maintained sender rule as posted amount and receiver rule as fixed percentage. Formal cycle check is successful. I have check all th
-
Firefox does not open after clicking on the Firefox icon on my desktop. Occasionally it opens after a very long time and that also a number of pages open at the same time equal to the number of times hat I clicked the icon trying to open. If I open a
-
I have downloaded several itunes for ringtones, and twice I have gotten a error message and am unable to complete the download is anyone else having this issue?