CM (Configuration Managment) Best Practices for DBs?

Hi:
I've got a question on a topic I haven't seen discussed before. I have a project with application code and PL/SQL code and an Oracle 10g database that has triggers, constraints, etc. For a Java or C# project the concept of CM and a central code repository works, largely because the CM tool is able to enforce limits on who can do what to a given resource over time. Developers MUST check out the source files before modifying and adding back to the CM tree.
Database objects are more on an honor system. Even if you put the code for the tables, triggers, constraints, packages etc. under CM, nothing prevents a developer or multiple developers from modifying those objects in the development database and never updating the create scripts that are in the CM tree. So given that there are thousands of systems out there with Java/C# or whatever front ends and PL/SQL back ends in databases that have all sorts of DB objects in them, what are the best CM practices? How does a developer know the package he's about to modify is the last one that got pushed to the production server?
Constraints are problematic in several unique ways. They can be created in several places by different syntax (in the table create command; as a stand alone command after the table exist; named or system generated name if defined in the table definition). Things like SQL Developer and Toad can create code trees that contain all the scripts needed to build a database from scratch and a top level build script to run them all, but what's the best structure for that? Do table create scripts JUST define columns and separate scripts create all constraints?
I like to think someone has crossed this particular bridge before and has some answers to my questions. Any takers?
Thanks.

Gaff wrote:
No. With non-DB code, it isn't voluntary. The developer needs to check a file in or out before modifying it and the CM system enforces either that only one person at a time can edit the file or if multiple ones can, the merging of the results. Once the PL/SQL package is in a database, a developer can change it and NOT change the underlying file. I don't agree that there is a difference. All source control systems I have seen allow a copy to be taken or the source to be viewed without checking it out. I have a checked out source file on my PC. I copy it. I check in my changes, I make changes to the copy. I have made a change without changing the checked in source. Just like I could in the database. Should this change make it into the final build? No, and I can't complain when it doesn't, just like the unauthorized change directly in the database is overwritten and lost. I see no difference.
Making changes to database objects directly in the database is a terrible practice, you can enforce the same lack of tolerance for it as you would for any other developer circumventing the source control and deployment process in any other language.
- You tell them not to do it.
- You overwrite their changes if they do do it.
- You fire them if they continue to do it.
>
I think the solution is that by default DB developers have read-only access to the objects. When they identify the pieces that need to change to fix a given bug, some 3rd party (Software Lead? DBA?) grants them CRUD on the identified objects and verifies that their modified code makes it into the CM tree when the bug is fixed.The developer can make their own changes in the Dev database. Changes to the Test database prior to production deployment can only be made by the DBA using scripts from the source control system.
This works flawlessly.

Similar Messages

  • PC Convert - Configuring Mail & Best Practices for Multiple Users

    I finally came to the light side last night. I bought an iMac and now I'm trying to figure out how to best set it up for use by me and my wife. Our PC is set up with a single login account and I've created multiple Outlook (not Express) profiles, one for her and one for me.
    Can I do the same thing on the iMac? Am I better off creating multiple login accounts and just keeping everything separate? Being new, I would rather set things up the right way the first time and not have to undo things due to my lack of experience with iMac.
    Thanks!

    Hello,
    Welcome to the Discussions, and welcome to Macs!
    If you each wish not to see the email messages of the other, then your only real choice is to set up separate User Accounts (what you are calling login accounts). Of course using a single User Account, you can set both email accounts up in Mail, and if you keep the Inbox and Sent mailboxes expanded to show the separate Inbox (and Sent) for each account, then that works pretty well. It will not distinguish New Mail without looking in the the Inbox -- the red dot in the Dock will not separate for whom new mail has arrived. But the Address Book will be the same and shared.
    The advantage of multiple User Accounts is that the entire Dock can be customized for the applications each of you like to use, if they are different.
    The disadvantage will be in not sharing will include not sharing the Address Book, music and photo libraries, etc.
    Ernie

  • Best Practices for Configuration Manager

    What all links/ documents are available that summarize the best practices for Configuration Manager?
    Applications and Packages
    Software Updates
    Operating System Deployment
    Hardware/Software Inventory

    Hi,
    I think this may help you
    system center 2012 configuration manager best practices
    SCCM 2012 task-sequence best practices
    SCCM 2012 best practices for deploying application
    Configuration Manager 2012 Implementation and Administration
    Regards, Ibrahim Hamdy

  • Best Practices for E-Commerce

    Hi Experts,
    I was wondering if anybody has experience in installing and configuring SAP Best Practices for E-Commerce. I have downloaded and installed the ADD-ONs but when trying to configure IPC and webshop via XCM http://<server>:<port>/isauseradm/admin/xcm/init.do I am getting a 404 error "URL or resource not found".
    Who knows what component I am missing and can put me in the right direction!
    Thanks in advance!
    Wolfgang

    I am not sure I understand your question.
    If you are using E-Commerce with CRM2007 (CRM6), not ERP, then use the [Best Practices Building Blocks|http://help.sap.com/bp%5Fcrmv12007/CRM%5FDE/html/] -> Technical Information -> Building Block Library
    However, there STILL is not a BP for E-Commerce with CRM though.

  • Best practice for server configuration for iTunes U

    Hello all, I'm completely new to iTunes U, never heard of this until now and we have zero documentation on how to set it up. I was given the task to look at best practice for setting up the server for iTunes U, and I need your help.
    *My first question*: Can anyone explains to me how iTunes U works in general? My brief understanding is that you design/setup a welcome page for your school with sub categories like programs/courses, and within that you have things like lecture audio/video files and students can download/view them on iTunes. So where are these files hosted? Is it on your own server or is it on Apple's server? Where & how do you manage the content?
    *2nd question:* We have two Xserve(s) sitting in our server room ready to roll, my question is what is the best method to configure them so it meets our need of "high availability in active/active mode, load balancing, and server scaling". Originally I was thinking about using a 3rd party load balancing device to meet these needs, but I was told there is no budget for it so this is not going to happen. I know there is IP Failover but one server has to sit in standby mode which is a waste. So the most likely scenario is to setup DNS round robin and put both xserves in active/active. My question now is (this maybe related to question 1), say that all the content data like audio/video files are stored by us, (We are going to link a portion of our SAN space to Xserve for storage), if we are going with DNS round robin and put the 2 servers in Active/Active mode, can both servers access a common shared network space? or is this not possible and each server must have its own storage space? And therefore I must use something like RSYNC to make sure contents on both servers are identical? Should I use XSAN or is RSYNC good enough?
    Since I have no experience with iTunes U whatsoever, I hope you understand my questions, any advice and suggestion are most welcome, thanks!

    Raja Kondar wrote:
    wht is the Best Practice for having server pool i.e
    1) having a single large serverpool consisting of "n" number of guest vm
    2) having a multiple small serverpool consisting of less of number of guest vm I prefer option 1, as this gives me the greatest amount of resources available. I don't have to worry about resources in smaller pools. It also means there are more resources across the pool for HA purposes. Not sure if this is Official Best Practice, but it is a simpler configuration.
    Keep in mind that a server pool should probably have up to 20 servers in it: OCFS2 starts to strain after that.

  • Basic Strategy / Best Practices for System Monitoring with Solution Manager

    I am very new to SAP and the Basis group at my company. I will be working on a project to identify the best practices of System and Service level monitoring using Solution Manager. I have read a good amount about SAP Solution Manager and the concept of monitoring but need to begin mapping out a monitoring strategy.
    We currently utilize the RZ20 transaction and basic CCMS monitors such as watching for update errors, availability, short dumps, etc.. What else should be monitored in order to proactively find possible issues. Are there any best practices you all have found when implimenting Monitoring for new solutions added to the SAP landscape.... what are common things we would want to monitor over say ERP, CRM, SRM, etc?
    Thanks in advance for any comments or suggestions!

    Hi Mike,
    Did you try the following link ?
    If not, it may be useful to some extent:
    http://service.sap.com/bestpractices
    ---> Cross-Industry Packages ---> Best Practices for Solution Management
    You have quite a few documents there - those on BPM may also cover Solution Monitoring aspects.
    Best regards,
    Srini
    Edited by: Srinivasan Radhakrishnan on Jul 7, 2008 7:02 PM

  • JSF - Best Practice For Using Managed Bean

    I want to discuss what is the best practice for managed bean usage, especially using session scope or request scope to build database driven pages
    ---- Session Bean ----
    - In the book Core Java Server Faces, the author mentioned that most of the cases session bean should be used, unless the processing is passed on to other handler. Since JSF can store the state on client side, i think storing everything in session is not a big memory concern. (can some expert confirm this is true?) Session objects are easy to manage and states can be shared across the pages. It can make programming easy.
    In the case of a page binded to a resultset, the bean usually helds a java.util.List object for the result, which is intialized in the constructor by query the database first. However, this approach has a problem: when user navigates to other page and comes back, the data is not refreshed. You can of course solve the problem by issuing query everytime in your getXXX method. But you need to be very careful that you don't bind this XXX property too many times. In the case of querying in getXXX, setXXX is also tricky as you don't have a member to set. You usually don't want to persist the resultset changes in the setXXX as the changes may not be final, in stead, you want to handle in the actionlistener (like a save(actionevent)).
    I would glad to see your thought on this.
    --- Request Bean ---
    request bean is initialized everytime a reuqest is made. It sometimes drove me nuts because JSF seems not to be every consistent in updating model values. Suppose you have a page showing parent-children a list of records from database, and you also allow user to change directly on the children. if I hbind the parent to a bean called #{Parent} and you bind the children to ADF table (value="#{Parent.children}" var="rowValue". If I set Parent as a request scope, the setChildren method is never called when I submit the form. Not sure if this is just for ADF or it is JSF problem. But if you change the bean to session scope, everything works fine.
    I believe JSF doesn't update the bindings for all component attributes. It only update the input component value binding. Some one please verify this is true.
    In many cases, i found request bean is very hard to work with if there are lots of updates. (I have lots of trouble with update the binding value for rendered attributes).
    However, request bean is working fine for read only pages and simple binded forms. It definitely frees up memory quicker than session bean.
    ----- any comments or opinions are welcome!!! ------

    I think it should be either Option 2 or Option 3.
    Option 2 would be necessary if the bean data depends on some request parameters.
    (Example: Getting customer bean for a particular customer id)
    Otherwise Option 3 seems the reasonable approach.
    But, I am also pondering on this issue. The above are just my initial thoughts.

  • Best practice for managing a Windows 7 deployment with both 32-bit and 64-bit?

    What is the best practice for creating and organizing deployment shares in MDT for a Windows 7 deployment that has mostly 32-bit computers, but a few 64-bit computers as well? Is it better to create a single deployment share for Windows 7 and include both
    versions, or is it better to create two separate deployment shares? And what about 32-bit and 64-bit versions of applications?
    I'm currently leaning towards creating two separate deployment shares, just so that I don't have to keep typing (x86) and (x64) for every application I import, as well as making it easier when choosing applications in the Lite Touch installation. But I know
    each deployment share has the option to create both an x86 and x64 boot image, so that's why I am confused. 

    Supporting two task sequences is way easier than supporting two shares. Two shares means two boot media, or maintaining a method of directing the user to one or the other. Everything needs to be imported or configured twice. Not to mention doubling storage
    space. MDT is designed to have multiple task sequences, why wouldn't you use them?
    Supporting multiple task sequences can be a pain, but not bad once you get a system. Supporting app installs intelligently is a large part of that. We have one folder per app install, with a wrapper vbscript that handles OS detection. If there are separate
    binaries, they are placed in x86 and x64 subfolders. Everything runs from one folder via the same command, "cscript install.vbs". So, import once, assign once, and forget it. Its the same install package we use for Altiris, and we'll be using a Powershell
    version of it when we fully migrate to SCCM.
    Others handle x86 and x64 apps separately, and use the MDT app details to select what platform the app is meant for. I've done that, but we have a template for the vbscript wrapper and its a standard process, I believe its easier. YMMV.
    Once you get your apps into MDT, create bundles. Core build bundle, core deploy bundle, Laptop deploy bundle, etcetera. Now you don't have to assign twenty apps to both task sequences, just one bundle. When you replace one app in the bundle, all TS'es are
    updated automatically. Its kind of the same mentality as active directory. Users, groups and resources = apps, bundles and task sequences.
    If you have separate build and deploy shares in your lab, great. If not, separate your apps into build and deploy folders in your lab MDT share. Use a selection profile to upload only your deploy side to production. In fact I separate everything (except
    drivers) into Build and deploy folders on my lab server. Don't mix build and deploy, and don't mix Lab/QA and production. I also keep a "Retired" folder. When I replace an app, TS, OS, etcetera, I move it to the retired folder and append "RETIRED - " to the
    front of it  so I can instantly spot it if it happens to show up somewhere it shouldn't.
    To me, the biggest "weakness" of MDT is its flexibility. There's literally a dozen different ways to do everything, and there's no fences to keep you on the path. If you don't create some sort of organization for yourself, its very easy to get lost as things
    get complicated. Tossing everything into one giant bucket will have you pulling your hair out.

  • Best Practice for SSL in Apache/WL6.0SP1 configuration?

    What is the best practice for eanbling SSL in an Apache/WL6.0SP1
    configuration?
    Is it:
    Browser to Apache: HTTPS
    Apache to WL: HTTP
    or
    Browser to Apache: HTTPS
    Apache to WL: HTTPS
    The first approach seems more efficient (assuming that Apache and WL are
    both in a secure datacenter), but in that case, how does WL know that the
    browser requested HTTPS to begin with?
    Thanks
    Alain

    A getScheme should return HTTPS if the client is using HTTPS or HTTP if it
    is using HTTP.
    The option for the plug-in to use HTTP or HTTPS when connecting to Weblogic
    is up to you but regardless the scheme of the client will be passed to
    WebLogic.
    Eric
    "Alain" <[email protected]> wrote in message
    news:[email protected]..
    How should we have the plug-in tell wls the client is using https?
    Should we have the plugin talk to wls in HTTP or HTTPS?
    Thanks
    Alain
    "Jong Lee" <[email protected]> wrote in message
    news:3b673bab$[email protected]..
    The apache plugin tells wls the client is using https and also pass on
    the
    client
    cert if any.
    "Alain" <[email protected]> wrote:
    What is the best practice for eanbling SSL in an Apache/WL6.0SP1
    configuration?
    Is it:
    Browser to Apache: HTTPS
    Apache to WL: HTTP
    or
    Browser to Apache: HTTPS
    Apache to WL: HTTPS
    The first approach seems more efficient (assuming that Apache and WL
    are
    both in a secure datacenter), but in that case, how does WL know that
    the
    browser requested HTTPS to begin with?
    Thanks
    Alain

  • Best Practice for Managing a BPC Environment?

    My company is currently running a BPC 5.1 MS environment and will soon be upgrading to version 7.0 MS.  I was wondering if there is a white paper or some guidance that anyone can give with regard to the best practice for managing a BPC environment.  Which brings to light several questions in my mind:
    1.  Which department(s) in a company should u201Cownu201D the BPC application? 
    2. If both, whatu2019s SAPu2019s recommendation for segregation of duties?
    3. What roles should exist within our company to manage BPC?
    4. What type(s) of change control is SAPu2019s u201CBest Practiceu201D?
    We are currently evaluating the best way to manage the system across multiple departments, however there is no real business ownership in the system, which seems to be counter to the reason for having BPC as a solution in the first place.
    Any guidance on this would be very much appreciated.

    My company is currently running a BPC 5.1 MS environment and will soon be upgrading to version 7.0 MS.  I was wondering if there is a white paper or some guidance that anyone can give with regard to the best practice for managing a BPC environment.  Which brings to light several questions in my mind:
    1.  Which department(s) in a company should u201Cownu201D the BPC application? 
    2. If both, whatu2019s SAPu2019s recommendation for segregation of duties?
    3. What roles should exist within our company to manage BPC?
    4. What type(s) of change control is SAPu2019s u201CBest Practiceu201D?
    We are currently evaluating the best way to manage the system across multiple departments, however there is no real business ownership in the system, which seems to be counter to the reason for having BPC as a solution in the first place.
    Any guidance on this would be very much appreciated.

  • Best practice for data migration install v1.40 - Error 2732 Directory manag

    Hi
    I'm attempting to install SAP Best Practice for Data migration 1.40 on Win Server 2008 R2 (64 bit).
    Prerequisite error
    Installation program stops with missing file error
    The following file was not found
    ... \migration\InstallationWizard\BusinessObjects Data Services\setup.exe
    The file is necessary for successful installation. Please connect to internet or refer to Quick Guide (available on SAP note 1527151) for information regarding the above file.
    Windows installer log displays
    Error 2732 Directory Manager not initialized
    SAP note 1527151 does not exist or is internal.
    Any help appreciated  on what is the root cause of the error as the file does not exist in that folder in the installation zip file.
    Other prerequisite of .NET 3.5.1 met already.
    Patch is released since 20.11.2011 so I presume that it is a good installation set.
    Thanks,
    Alan

    Hi Alan,
    There are details on data migration v1.4 installations on SAP website and market place. The below link should guide to the right place. It has a power point presentation and other useful links as well.
    http://help.sap.com/saap/sap_bp/DMS_V140/DMS_US/html/index.htm
    Arun

  • Best practice for audit management

    Hi,
    Is there any best practice for audit management in SAP ?

    Hi,
    You can check these links and white papers which explains the business scenarios and best practices
    http://www50.sap.com/businessmaps/9AD1FC0540D0479CA76C4CA1EE9AF668.htm
    http://www.sap.com/solutions/business-suite/erp/brochures/index.epx - "Audit management with SAP software".
    Regards,
    Keerthi

  • Best Practice For SAP CRM Case Management

    Hi,
    Could someone please point to best practices for CRM Case Management. I have lokked all over and I found all the best practices except for case management.
    Your assistance will be appreciated.
    Martin

    Hi Martin,
    I was just working on case management and there is no best practice documentation but the following link was most helpful.
    http://help.sap.com/saphelp_nw04/helpdata/en/5c/5d79287a9afc47a62e5197b582cc97/frameset.htm
    Let me know if you need further assistance.

  • Best Practices for Accessing the Configuration data Modelled as XML File in

    Hi,
    I refer the couple of blof posts/Forum threads on How to model and access the Configuration data as XML inside OSB.
    One of the easiest and way is to
    Re: OSB: What is best practice for reading configuration information
    Another could be
    Uploading XML data as .xq file (Creating .xq file copy paste all the Configuration as XML )
    I need expert answers for following.
    1] I have .xsd file which is representing the Configuration data. Structure of XSD is
    <FrameworkConfig>
    <Config type="common" key="someKey">proprtyvalue</Config>
    <FrameworkConfig>
    2] As my project will move from one env to another the property-value will change according to the Environment...
    For Dev:
    <FrameworkConfig>
    <Config type="common" key="someKey">proprtyvalue_Dev</Config>
    <FrameworkConfig>
    For Stage :
    <FrameworkConfig>
    <Config type="common" key="someKey">proprtyvalue_Stage</Config>
    <FrameworkConfig>
    3] Let say I create the following Folder structure to store the Configuration file specific for dev/stage/prod instance
    OSB Project Folder
    |
    |---Dev
    |
    |--Dev_Config_file.xml
    |
    |---Stage
    |
    |--Stahe_Config_file.xml
    |
    |---Prod
    |
    |-Prod_Config_file.xml
    4] I need a way to load these property file as xml element/variable inside OSb message flow.?? I can't use XPath function fn:doc("URL") coz I don't know exact path of XMl on deployed server.
    5] Also I need to lookup/model the value which will specify the current server type(Dev/Stage/prod) on which OSB MF is running. Let say any construct which will act as a Global configuration and can be acccessible inside the OSb message flow. If I get the vaalue for the Global variable as Dev means I will load the xml config file under the Dev Directory @runtime containing key value pair for Dev environment.
    6] This Re: OSB: What is best practice for reading configuration information
    suggest the designing of the web application which will serve the xml file over the http protocol and getting the contents into variable (which in turn can be used in OSB message flow). Can we address this problem without creating the extra Project and adding the Dependencies? I read configuration file approach too..but the sample configuration file doesn't show entry of .xml file as resources
    Hope I am clear...I really appreciate your comments and suggestion..
    Sushil
    Edited by: Sushil Deshpande on Jan 24, 2011 10:56 AM

    If you can enforce some sort of naming convention for the transport endpoint for this proxy service across the environments, where the environment name is part of the endpoint you may able to retrieve it from $inbound in the message pipeline.
    eg. http://osb_host/service/prod/service1 ==> Prod and http://osb_host/service/prod/service2 ==> stage , then i think $inbound/ctx:transport/ctx:uri can give you /service/prod/service1 or /service/stage/service1 and applying appropriate xpath functions you will be able to extract the environment name.
    Chk this link for details on $inbound/ctx:transport : http://download.oracle.com/docs/cd/E13159_01/osb/docs10gr3/userguide/context.html#wp1080822

  • SAP HCM Implementation: Best Practice for configuring

    Hi,
    This is my first independent project of HCM implementation. I have just started the system configuration. Done with setting up the PA, PSA, EG and ESG. Assigned to CC.  At this stage, I have a very basic question which is, what is the best practice for the next steps of configuration. What do I go to next, step up the OM in the SAP EasyAccess Menu? How should I go from here?
    Would really appreciate some explanatory assistance.
    Thanks in advance.
    Papri
    Edited by: papri_rc on Jul 8, 2011 6:40 AM

    Its all depends on business requirement
    at starting as i advised you review your BBP , make sure you configure everything
    for your reference iam giving the following data for OM and PA config..
    as part of OM
    1.     depict client org structure using simple maintenance , with this you can create large structures in less time(while doing org structure be careful and refer BBP)
    2.     maintain integration switches
    3.     maintain plan version
    4.     maintain number ranges
    Configuration for PA
    HR Enterprise /PersonnelStructure     
    u2022     Personnel Areas     
    u2022     Personnel Sub Areas     
    u2022     Employee Group     
    u2022     Employee Sub Group     
    u2022     Assignment of Personnel Area to Company Code     
    u2022     Assignment of Employee Sub Group to Employee Group     
    Basic Settings
    1.     Maintain Number Range Intervals for Personnel Numbers     
    2.     Determine defaults for number ranges     
    Personal Data     
    1.     Create Forms of Address     
    2.     Create Marital Status     
    Family     
    1.     Defined Possible Family Members     
    Addresses
    1.     Create Address Type     
    Communication     
    1.     Create Communication Types     
    Contractual and Corporate Agreements
    1.     Define Contract Types     
    2.     Determine periods of notice     
    Employee Qualifications
    1.     Create education establishment types     
    2.     Define Education Training     
    3.     Create educational Certificates     
    4.     Create branches of study     
    5.     Determine permissible certificates for education type     
    Infotype Menus     
    1.     User Group Dependency on Menus and Info groups     
    2.     Infotype Menu     
    3.     Determine choice of Infotype menus     
    4.     Infotype Menus     
    Actions     
    1.     User Group Dependency on Menus and Infogroups     
    2.     Info Group     
    3.     Personnel Action Types     
    4.     Create reasons for personnel actions     
    5.     Change Action Menu     
    *Developments(ABAPconsultant will do)     *Field Enhancements     (any field enhancements in infotypes)
    Customer Infotypes     -Develop any customer infotypes if required for the business from 9000 series
    Edited by: Piscian . on Jul 8, 2011 9:08 AM

Maybe you are looking for