SSIS / SQL Memory Contention

Hi all,
I'm running SSIS and SQL server on a single PC. 
I have an ETL process consisting of several SSIS packages to load data from a source OLTP to a data warehouse.
OLTP DB resides on SQL 2012 instance.
Datawarehouse resides on SQL 2008R2.
My SSIS packages 'hangs' and reports it is failing to swap out memory buffers - they're all held by the SQL 2012 (source db) instance.
On my PC I've configured max memory on each SQL instance:
PC Memory = 16GB
SQL 2012 Max Memory = 6GB
SQL 2008r2 Max Memory = 4GB
My ETL package now runs smoothly. 
My question is - what is best practice for managing this memory contention in a production environment. I do not want to limit the available memory to my OLTP db. 
My ETL is ran once per day  - overnight.  Perhaps I could reconfigure max memory before and after each ETL processs? But I don't like this as it would require a server restart & cold cache for my OLTP apps.
Thanks for reading. Appreciate suggestions.
Clay

OK, It is more clear now :-)
This is  a developing server, and I assume that you have to hold several instances in order to re-create an environment that is like the production's environment  (I hope this is the reason, otherwise you need a very good reason for holding several
instances on one machine, which has resources problem, since each instance need lot of resources only to keep it running and most time it is better to have one instance with all the databases, than several instaces on the same machine). I actually have the
same problem on my developing environment by the way (I have about 8 instances of different database servers). Everything hat i write from now is only recommend for this situation for developing environment!
The following points should be taken into account and act according:
This is a small list that can take 2 books if we have time... this is just some point to think about.
* Remember that SQL Server is trying to use as much memory as you let him in order to execute more efficience, It dose not take into direct consideration of other instances or application. 
* In order to understand what need to be done you need to monitor what specificly use all the memory.
    ** look at sys.dm_os_memory_clerks
    ** look for DBCC MEMORYSTATUS
    ** look at this link: http://www.mssqltips.com/sqlservertip/2304/how-to-identify-microsoft-sql-server-memory-bottlenecks/
    ** It is good time for Google https://www.google.co.il/search?q=SQL+Server+monitoring+memory
* Once you found the cause and source for the memory use, you can focus on solving and start reduce memory usage before you start the ETL procces (and mabe during as well).
    **  look for DBCC FREEPROCCACHE 
    ** look for  DBCC DROPCLEANBUFFERS
    ** We can build a better query sometimes
    ** we can pass some of the operation to the disk instead of the RAM
    ** Setting the Memory Options (as you did control max server memory,
check this link for more info)
    ** look for SET AUTO_CLOSE ON (This is usually not recommended but in your case using several instances this can help a lot sometimes)
* The ETL proccess do not use only SQL Server but the application that execute it as well. The SQL Server will see the queries. While SQL Server is great in menaging multiple users and multiple paralel actions (or example using locks), some ETL are not so
good. You need to make sure if the SQL Server return an error or the failed come from the ETL proccess it self. Please post the full error message for mor specific information.
* Remember that some actions in SQL Server use memory out of the Buffer pool memory and some action are not part of the max server memory (for example some CLR used).
as I mentioned i can continue this documents for days :-)
I hope this is helpfull for you as it is :-), and if you have more information (like error messages from log files) we might focuse on other option.
[Personal Site] [Blog] [Facebook]

Similar Messages

  • Problem with "PL/SQL Dynamic Content" and displaying rows

    hi,
    im new to APEX, and pl/sql [but not web dev or sql].
    ive found the bit in APEX that lets you add data from your DB using the 'CREATE' > 'PL/SQL Dynamic Content'.
    maybe there's a better option for people who dont know pl/sql? i dont know?
    however, i think i can getting working with a little bit of help but im stumbling around in the dark a bit here.
    ok so this is the pl/sql ive come up with to show three example values on page 23 of my aplplication:
    BEGIN
    SELECT ID, NAME, OWNER
    FROM COM_MAILSHOTS
    INTO :P23_ID, :P23_NAME, :P23_OWNER;
    END;
    im getting the error:
    1 error has occurred 
    ORA-06550: line 5, column 21: PL/SQL: ORA-00933: SQL command not properly ended ORA-06550: line 4, column 1: PL/SQL: SQL Statement ignored
    thanks for reading!

    Metabaron wrote:
    hi,
    im new to APEX, and pl/sql [but not web dev or sql].
    ive found the bit in APEX that lets you add data from your DB using the 'CREATE' > 'PL/SQL Dynamic Content'.
    maybe there's a better option for people who dont know pl/sql? i dont know?
    The easiest (and best) way to "display rows" is using a report. Dynamic PL/SQL regions are more complex and are required much less frequently.
    The Oracle® Database 2 Day + Application Express Developer's Guide tutorial explains how to create reports and other basic APEX techniques.

  • Adding pagination in report build from PL/SQL dynamic content using htp.p

    Hi,
    I have a requirement for which i used PL/SQL dynamic content to build my report and i displayed my report using a cursor and loop by HTP.P function.
    Now problem is I have report with more than 500 rows and I want to add pagination concept for this report.
    How can i do that?
    Thanks in advance.
    Regards,
    Smith

    To preserve heading on each page for a HTML table you can use the THEADER, TFOOTER and TBODY tags (see example). To force page breaks, try experimenting with these style attributes:
    <STYLE TYPE="text/css">
         tr.breakhere {page-break-before: always}
    </STYLE>
    <tr class="breakhere">Table Example:
    htp.tableopen;
    htp.print('<THEAD style="display:table-header-group">');
    ... your table headers here
    htp.print('</THEAD>');
    htp.print('<TFOOT style="display:table-footer-group"><TR><TD></TFOOT>');
    htp.print('<TBODY>');
    ... your rows here
    htp.print('</TBODY>');
    htp.tableclose;Edited by: crokitta on Apr 8, 2009 2:07 PM

  • Sql memory usage increase each time win app runs

    Hi,
    Sql memory usage increases each time when win app runs. Why does it work like this? Is it normal ?
    I restart SQL Server 2012. Only my win app uses SQL server.
    First run of winapp.
    start memory usage : 211.800 KB
    close memory usage: 528.136 KB
    Second run of xaf app.
    start memory usage : 528.136 KB
    close memory usage: 996.844 KB
    Third run of xaf app
    start memory usage : 996.844 KB
    close memory usage: 997.640 KB
    Fourth run of xaf app
    start memory usage : 997.640 KB
    close memory usage: 1.104.864 KB

    Hi,
    Sql memory usage increases each time when win app runs. Why does it work like this? Is it normal ?
    Yes, it is perfectly normal for SQL Server to acquire and hold onto large amounts of memory indefinitely.  This memory improves performance by avoiding disk I/O, query plan compilation and costly memory management. 
    On a dedicated SQL Server you should usually let SQL Server dynamically manage memory.  It will release memory if it detects memory pressure.  But if you often run other applications on the server than need significant amounts of memory (e.g. IIS,
    application services), you may want to set max server memory as suggested.
    Dan Guzman, SQL Server MVP, http://www.dbdelta.com

  • SQL Memory Usage

    Hello
    I am updating some items with the DTW. i am updating 9000 items. I have made 9 files of 1000 records, i am just updating the picturname field. When i start to upload the files the SQL Memory usage starts to grow more and more. When i try to upload the third file the memory has grown too much, and the DTW says the file update ok but it doesnt update the database. So i need to restart the SQL service (mssqlserver) and do it again. Some times it doesnt work so i need to restart the server.
    Any ideas??
    Jacobo

    hi,
    Check this information abt DI API Memory Consumption in WIKI SDK FAQ's.
    https://www.sdn.sap.com/irj/scn/wiki?path=/display/b1/faq_sdk
    DI API
    Memory consumption
    New connection mechanism in 2007 vs. classical
    1. In the old method the DI API was loaded into the same process with the Add-On and was an "actual part" of it, so calls to the DI-API were very quick and direct
    2. In the new method there is one common DI-API which is part of the Core B1. All the Add-Ons will use the same DI-API IF (!!!) they work in the new method. The calls to the DI-API have now to "go between" two processes. This means that they go through more processing and although it's all in the same machine and no actual communication (i.e., network traffic) is actually happening, the system's CPU and memory are "working harder".
    The impact is extremely small on an individual call level, but for an Add-On that makes a large amount of calls this difference accumulates...
    There is no huge additional CPU or Memory consumption. Most of the impact is on the Response Time level. Some of it is CPU consumption and some of it is Context Switch waiting.
    3. This trade-off between Memory consumption and Response Time is actually another reason why R&D thought it's a good idea to leave the new method to be optional based on a decision from the developer.
    Jeyakanthan

  • Substitution string inside PL/SQL generated content (single column source)

    Hi! I have a contents table that contains the HTML source (using the HTML Editor Standard item) stored on a single varchar2 column like this.
    -- some other HTML source here ---
    href="f?p=&APP_ID.:17:&APP_SESSION."
    -- other HTML source here --
    (Sorry, this forum is parsing my HTML source but it's just as simple as that)
    I'm using a PL/SQL Dynamic Content region to select and display my contents using the htp.p procedure. But the problem is the built-in substitution strings in the URL of my content is just displayed as it is. I know that this maybe because htp.p will treat the parameters just like a regular string and the Application Express Engine don't have a chance to parse it. But can somebody show me an alternative solution for this?
    Right now, I'm just using a static HTML region as a temporary solution. But I really am curious on how can this be done using PL/SQL dynamic content region. Or what design is best on content management-like application.
    Thanks!
    Mertz

    Mertz,
    I'm not sure I understand but say your database table's column contains 'Hello the session id is &APP_ID. ...'. Using a PL/SQL region you could emit that column thus:for c1 in (select content_col from content_tab) loop
      htp.p(replace(c1.content_col, '&' || 'APP_ID.', :APP_ID));
    end loop;Splitting up the substitution item name into concatenated strings avoids problems with the Builder doing substitutions when you don't want it to.
    Scott

  • Building a report using "PL/SQL Dynamic Content" can I have it output PDF?

    Hi,
    I build several reports using the "PL/SQL Dynamic Content" region and htp.p().
    The output is exactly what the customer wants but they would now like to have it go into PDF document.
    Is there a way to do it?
    Bill

    Bill,
    You can integrate APEX with Oracle BI Publisher and have your report generated to PDF.
    If you're just interested in saving what is on a web page in PDF, have a look at CuteFTP (Windows), which is a free print driver that allows you to "print" to a PDF file as if it were a printer. On the Mac, you can save to PDF and do not need any additional software.
    Thanks,
    &#150; Scott &#150;
    http://spendolini.blogspot.com/
    http://sumnertech.com/

  • Best practice on SQL memory allocation

    Hi experts,
    Is there a best practice to set the max amount of allocated SQL memory?
    Regards

    AWE must be enabled just if we are speaking about 32 bits OS.
    Max Memory limit must be specified always because SQL Server 2005 or 2008 is trying to use how much is available and the problem it is that actually is not releasing the memory after that.
    Amount of memory allocate for each component is depending but processes running for that application.
    In your case you just have to put Max memory for SQL server to be around 40% from total amount of memory from that server.
    Into SSAS to set to take between 30 and 40% of total amount of memory and te rest will be used by application server and OS.
    Again this configuration doesn't means it is optimal but it will avoid problems with out of memory into that server.
    Kind Regards
    Sorin Radulescu

  • Error When Starting VM Failed to create memory contents file

    Hi,
    I"m experiencing issue with a VM that has previsoulsy been snapshotted. The snap shots have been since deleted via the Hyper V Manager. The snap shots were not applied to the VM. Also no .avhd files have been deleted via Windows Explorer
    When I start the VM I get the following error message.
    [Window Title]
    Hyper-V Manager
    [Main Instruction]
    An error occurred while attempting to change the state of virtual machine MyVirtualMachine.
    [Content]
    'MyVirtualMachine' failed to initialize.
    Failed to create memory contents file 'D:\Virtual Machines\MyVirtualMachine\MyVirtualMachine\MyVirtualMachine\Virtual Machines\25AB3A86-2950-457A-8D54-9B313E2D575E\25AB3A86-2950-457A-8D54-9B313E2D575E.bin' of size 4096 MB.
    [Expanded Information]
    'MyVirtualMachine' failed to initialize. (Virtual machine 25AB3A86-2950-457A-8D54-9B313E2D575E)
    'MyVirtualMachine' failed to create memory contents file 'D:\Virtual Machines\MyVirtualMachine\MyVirtualMachine\MyVirtualMachine\Virtual Machines\25AB3A86-2950-457A-8D54-9B313E2D575E\25AB3A86-2950-457A-8D54-9B313E2D575E.bin' of size 4096 MB. (Virtual machine
    25AB3A86-2950-457A-8D54-9B313E2D575E)
    [V] See details  [Close]
    Suggestions Welcomed,
    Thanks Adam

    Hi,
    Please check whether you receive these error logs: Event ID 3130, 3131, 3320 or 3321.
    Check the environment in which the start virtual machine operation was being attempted, including:
    access and permissions to the configuration file, memory file and all image files
    prior error messages in the event log
    available RAM on the system
    configuration settings
    disk space for the memory file and any expanding virtual hard disks
    Once the necessary issues have been rectified, try to start the virtual machine again.
    If the problem continues, restart the VMMS Service.
    To restart the VMMS service using the command prompt:
    1. On the computer that has the stopped service, open a command prompt as local administrator and type the following:
    net stop nvpswmi
    If the service is not running, you will see the error "The Hyper-V Networking Management service is not started."
    3. On the command prompt type the following command to start the nvpswmi service
    net start nvspwmi
    If the service start starts you will see the message "The Hyper-V Networking Management service was start successfully."
    To restart VMMS using PowerShell:
    1. On the computer that has the stopped service, open a command prompt as local administrator and type the following:
    C:\PS>restart-service vmms
    For more information please refer to following MS articles:
    Event ID 3130 — Virtual Machine Start Operation
    http://technet.microsoft.com/en-us/library/dd582385(v=ws.10).aspx
    Event ID 3131 — Virtual Machine Start Operation
    http://technet.microsoft.com/en-us/library/dd582367(v=ws.10).aspx
    Event ID 3320 — Virtual Machine Start Operation
    http://technet.microsoft.com/en-us/library/dd582317(v=ws.10).aspx
    Event ID 3321 — Virtual Machine Start Operation
    http://technet.microsoft.com/en-us/library/dd581892(v=ws.10).aspx
    Hope this helps!
    TechNet Subscriber Support
    If you are
    TechNet Subscription user and have any feedback on our support quality, please send your feedback
    here.
    Lawrence
    TechNet Community Support

  • Latch free(SQL memory manager latch)

    Hi All,
    Can somene help me in finding anything about "latch free(SQL memory manager latch)". This latch is causing sqls to perform badly. Will be thankful if someone provide the resolution plan for this latch.
    Thanks in advance.

    Hi,
    Thanks for your reply but here in this case I know this is "SQL memory manager latch". All I wanted to know about this latch and resolution.

  • SQL memory manager latch at top of the list

    select * from V$LATCH order by wait_time desc shows wait time = 451524661079 on SQL memory manager latch. What is making this so high?

    user498912 wrote:
    Thank you .. the pointer to the bug is helpful. We are having performance issues and complaints of slowness only during about a 2 or 3 hour window each weekday from about 7AM to 10AM EDT. This is definitely peak load. AWR is showing mostly disk i/o issues. Plan is to add about 20 GB more memory on the server. SGA currently at around 61GB with Automatic Shared Memory Management enabled. PGA advice showing nothing with a Cache Hit Percentage (%) 95.93
    I would look at v$sga_resize_ops (or v$memory_resize_ops) to see if there is pressure to move memory around in that time period. Your symptoms could simply be showing load on the buffer cache causing the library cache to shrink leading to agressive demands for library cache locks etc. If so, then fixing a minum shared_pool_size (or generally going to manual memory management) may be the best bet. Also worth checking if there is some inefficient SQL running at that time that results in lots of random I/O - eliminating the cause of disk reads may be the best solution to reducing demand for memory.
    Regards
    Jonathan Lewis

  • Memory content lost when the battery runs down

    My computer sometimes saves memory content when the battery runs down, as it is supposed to, so that when it restarts it is restored to the state it was in,  but at other times it does not.
    Is there a way to find out why this is and fix it?

    Thanks for the reply.
    Doesn't Apple recommend that you do exercise the battery by using its full capacity? They even recommend running it down from full until the computer saves the contents of memory to the special file, then leaving it 5 hours before charging fully again.
    I have never heard of the 20% threshold before.
    The odd behaviour in my case is that the computer sometimes does what is should: saves the memory then shuts down and when started restores that data, but at others does not save the data first, and starts up normally when I plug in the power and switch on.

  • Syncing notes and phone memory contents

    Hi,
    I have a Nokia X3.  A few questions regarding synchronization:
    1. When connecting it in either "PC suite" or "Data Transfer" mode, only the memory card contents are visible.  Can I access the phone memory contents from the PC?
    2. Can I access the notes on the phone without having (the non-free) Microsoft Outlook installed?  I just need access to the text of the notes, as I tend to take notes while listening to my language lessons using the phone's mp3 player.
    3. How can I transfer recorded audio clips (voice recorder) to the computer?  (I assume these are in the phone memory which doesn't seem to be accessible)

    Hi.....I was surprised to find my new X3-02 phone was telling me to delete items after only a week of very light use ( 4 apps and about thirty photos ).  I have now added a memory card only to find that there seems to be no obvious method to direct my content to the card.  I  would appreciate any assistance as this problem has completely diffused any delight over the new touch and type format.
    Thanks.....Feefifofum

  • How to run a Dos batch from SSIS based on SQL table content

    Hi,
    I have a very simple package with an execute sql task. This task checks if a certain record is present in the DWH or not. This record is always a row in a table where the task checks if the time of the latest data import equals today's date. I would like
    to extend tis package so that if that record exists,so the latest data imoprt was succesfull in the DWH then package runs a .BAT file from the file system, if the reocrd is not present do nothing.
    Is there a TSQL command to run a .BAT file from my file system? I did  not really find my answers on the net so any help is appreciated
    Thanks

    Hi Vaibhav,
    Thanks, but variable still does not want to pick up the value from the SQL query.
     I changed the SQL statement (it counts how many values with 4 days lag are in the FTDA column):
    and changed the Result set:
    Created a variable:
    Set precedence constraint:
    and still the variable takes value 0,which is the default.
    Any ideas?
    Thanks
    Check if mapping is proper and datatypes of resultset vs variable is same.
    Then it will work fine
    You can also put a breakpoint on post execute of execute sql task and check the variable value once it reaches there.
    Please Mark This As Answer if it solved your issue
    Please Mark This As Helpful if it helps to solve your issue
    Visakh
    My MSDN Page
    My Personal Blog
    My Facebook Page

  • SQL Memory issue

    I am storing files in sql lite, but when i store large file 400+Mb system throw this exception
    Error #1000: The system is out of memory.
        at flash.data::SQLStatement/internalExecute()
        at flash.data::SQLStatement/execute()
    Please give suggestion
    Thanks

    One sql server box:
    SYstem administrator pointed out: SQL server almost uses all memory and server memory usage almost hits 100%
    How to fix this problem?
    This is not a problem but normal behavior.SQL Server will use as much memory you provide to it.So its good to set proper value for max server memory setting in sp_configure.See example in below MS link . Set proper  memory usage for SQL Server leaving
    enough RAM (4-5 G ) for OS.This will only include memory set for buffer pool there are memory allocations outside buffer pool which is directly done by OS
    http://technet.microsoft.com/en-us/library/ms178067.aspx
    To read more about memory
    http://social.technet.microsoft.com/wiki/contents/articles/22316.sql-server-memory-and-troubleshooting.aspx
    Please mark this reply as the answer or vote as helpful, as appropriate, to make it useful for other readers

Maybe you are looking for

  • TS1369 iPod not recognized in 'My Computer' and in iTunes for Windows

    iPod not recognized in 'My Computer' and in iTunes for Windows. Does not show up.

  • Register and database

    Hi people Right i am quite good at flash i am currnetly making an online RPG multiplayer game using flash 8. Ok lets get to the point, what i want to do is have a database with all the people who have registered so like you register and then the user

  • Cannot interactively use VNC when started from a signed jar

    I wrote a Java wrapper class to run a shell command to start a VNC client. Then signed it and started it using web start. In the jnlp file, I granted all permission. I could start the vnc viewer successfully but the issue is that the mouse and keyboa

  • Brand new Macbook Pro 10.8.2 very slow wifi

    All of my other wireless devices are very quick on my home wifi. I am using a macbook pro, 2.5 GHz i5, 8 GB 1600 MHz DDR3. I have installed all updates, tried making a new network location, still very slow. 8 hours to download a 4.6 GB app from the s

  • How can i organize this cd

    i got eminems new cd which is like a compilation of various artists so when i put it into itunes its all over the place. how can i organize it so its all together? http://img95.imageshack.us/my.php?image=rute1.jpg