Re: Thoughts regarding a separate DB for custom DB objects

2012-09-07 Thread Sylvain YVON
We did that here on Oracle for a custom 7.5 app with one ARSystem and
one Utility schemas. The utility schema contains all the temporary
tables, procedures and packages for maintenance and imports (of users,
entities, ...). This is very handy because this is all temporary stuff
that we can afford to loose and restore a week old backup, not like AR
System data that is so expensive to replicate.
That said, we chose to create the views and materialized views needed
by ARS workflow inside the AR System schema simply because we don't
see a value add in using the utility schema. I mean, if you create
views, you will probably create a view form in AR System anyway. If
you use a View Form based on a complexe view, that uses the data
contained in your AR System tables, are you sure that storing the view
in a separate schema/DB doesn't add an overhead (like authentication,
network loop, etc) ? I don't have the answer, maybe it depends on the
DB engine you use ?

Sylvain

On Fri, Sep 7, 2012 at 2:40 AM, Easter, David david_eas...@bmc.com wrote:
 **

 Just thinking somewhat inside the box – but wouldn’t overlays do the
 majority of this for you?  Any custom objects you create would be well
 known/documented as would any modifications to BMC base objects.  The base
 BMC objects would remain on the system unchanged.  If you really then wanted
 to transfer only your extensions and modifications to a new box, you’d just
 transfer the custom and overlaid objects.



 -David J. Easter

 Manager of Product Management, AR System

 BSM  Atrium Solutions Management

 BMC Software, Inc.



 The opinions, statements, and/or suggested courses of action expressed in
 this E-mail do not necessarily reflect those of BMC Software, Inc.  My
 voluntary participation in this forum is not intended to convey a role as a
 spokesperson, liaison or public relations representative for BMC Software,
 Inc.



 From: Action Request System discussion list(ARSList)
 [mailto:arslist@ARSLIST.ORG] On Behalf Of Jason Miller
 Sent: Wednesday, September 05, 2012 3:33 PM
 To: arslist@ARSLIST.ORG
 Subject: Thoughts regarding a separate DB for custom DB objects



 **

 I would like to get some input on something I have been thinking about
 recently.  I am considering creating a new DB on the same DB server as the
 ARSystem DB.  This DB would be right next to the ARSystem DB but would house
 all of the custom DB work we do.  My thought is to have all custom tables,
 views, stored procedures, functions, etc. in new DB which would ideally
 leave everything in the ARSystem DB created, maintained and modified via the
 AR System API or BMC installers.  Basically I am picturing a layer of
 abstraction or a library of custom objects if you will.  Maybe more like a
 different namespace or data set for those CMDB gurus out there.



 As it is right now in our very customized 7.5 ARS DB all custom tables,
 views, etc. are all intermixed with the ARS maintained objects. We try to
 keep our objects lumped together by naming convention but just when my team
 starts using the same convention a different DBA (for example) comes along
 and uses their favorite convention.  If we all agree to only make changes to
 the custom DB then naming convention is not as important (DBAs usually ask
 which DB do you need something not so much “what is your naming
 convention?”).



 Another considerations is portability of the ARSystem DB.  Right now when we
 refresh our production DB to another environment there are things like
 different linked server references that need to be updated, object owners,
 etc.  All objects in the custom DB would have the same names between
 environments (Dev, QA, Prod).  With all of the custom objects in their own
 DB we can move ARSystem DBs between environments and as long as the custom
 DB is configured correctly for the environment no changes are needed to any
 of ARSystem DB objects.



 Our new “out of the box” ITSM 7.6.04 system does not have any custom DB work
 done yet but I know it is only a matter of time before the need arises as we
 transition between old and new systems.  If there are advantages and no
 major negative results to this architecture I would like to set this up
 while we are still out of the box.



 Can anybody think of any negative (or positive) effects of this approach?  I
 am figuring because it still on the same DB server that there should not be
 much performance impact.



 Thanks!

 Jason

 _attend WWRUG12 www.wwrug.com ARSlist: Where the Answers Are_

 _attend WWRUG12 www.wwrug.com ARSlist: Where the Answers Are_

___
UNSUBSCRIBE or access ARSlist Archives at www.arslist.org
attend wwrug12 www.wwrug12.com ARSList: Where the Answers Are


Re: Thoughts regarding a separate DB for custom DB objects

2012-09-07 Thread Jason Miller
Now that is a bit tricky...  To stay out of the box we need to think
inside the box  :)

You are absolutely correct.  All AR maintained objects will utilize
overlays and best practices.  What I am talking about are custom DB objects
not maintained by the AR System.  Most of (if not all of) our custom DB
objects are for integration purposes

Here are some examples:

   - The Views that View Forms are created against
   - Tables that cache data from other systems that View Forms are created
   against.
  - In the case of our HR and Financial systems creating View Forms
  over a Linked DB server were too slow for use in UI workflow (Cost Center
  and Sub Account Menus/Validation, HR/Finance Locations, etc.)
   - Stored procedures to populate the cache tables mentioned above
   - Functions converting to/from epoch time
   - Function for INITCAP (we're MS SQL so we had to build it)
   - Stored procedures that other systems use to access Remedy data (yeah
   we are trying to move most of these to web services when possible).
   - Views that other systems use to access Remedy data (yeah we are trying
   to move most of these to web services when possible).
   - Stored procedures to truncate import Forms (T and H tables)

Currently all of these things are in our ARSystem DB.  Moving these out
would make the ARSystem DB more portable and pure.

Jason

On Thu, Sep 6, 2012 at 5:40 PM, Easter, David david_eas...@bmc.com wrote:

 **

 Just thinking somewhat inside the box – but wouldn’t overlays do the
 majority of this for you?  Any custom objects you create would be well
 known/documented as would any modifications to BMC base objects.  The base
 BMC objects would remain on the system unchanged.  If you really then
 wanted to transfer only your extensions and modifications to a new box,
 you’d just transfer the custom and overlaid objects.

 ** **

 -David J. Easter

 Manager of Product Management, AR System

 BSM  Atrium Solutions Management

 BMC Software, Inc.

  

 The opinions, statements, and/or suggested courses of action expressed in
 this E-mail do not necessarily reflect those of BMC Software, Inc.  My
 voluntary participation in this forum is not intended to convey a role as a
 spokesperson, liaison or public relations representative for BMC Software,
 Inc.

 ** **

 *From:* Action Request System discussion list(ARSList) [mailto:
 arslist@ARSLIST.ORG] *On Behalf Of *Jason Miller
 *Sent:* Wednesday, September 05, 2012 3:33 PM
 *To:* arslist@ARSLIST.ORG
 *Subject:* Thoughts regarding a separate DB for custom DB objects

 ** **

 ** 

 I would like to get some input on something I have been thinking about
 recently.  I am considering creating a new DB on the same DB server as the
 ARSystem DB.  This DB would be right next to the ARSystem DB but would
 house all of the custom DB work we do.  My thought is to have all custom
 tables, views, stored procedures, functions, etc. in new DB which would
 ideally leave everything in the ARSystem DB created, maintained and
 modified via the AR System API or BMC installers.  Basically I am picturing
 a layer of abstraction or a library of custom objects if you will.  Maybe
 more like a different namespace or data set for those CMDB gurus out there.
 

 ** **

 As it is right now in our very customized 7.5 ARS DB all custom tables,
 views, etc. are all intermixed with the ARS maintained objects. We try to
 keep our objects lumped together by naming convention but just when my team
 starts using the same convention a different DBA (for example) comes along
 and uses their favorite convention.  If we all agree to only make changes
 to the custom DB then naming convention is not as important (DBAs usually
 ask which DB do you need something not so much “what is your naming
 convention?”).

 ** **

 Another considerations is portability of the ARSystem DB.  Right now when
 we refresh our production DB to another environment there are things like
 different linked server references that need to be updated, object owners,
 etc.  All objects in the custom DB would have the same names between
 environments (Dev, QA, Prod).  With all of the custom objects in their own
 DB we can move ARSystem DBs between environments and as long as the custom
 DB is configured correctly for the environment no changes are needed to any
 of ARSystem DB objects.

 ** **

 Our new “out of the box” ITSM 7.6.04 system does not have any custom DB
 work done yet but I know it is only a matter of time before the need arises
 as we transition between old and new systems.  If there are advantages and
 no major negative results to this architecture I would like to set this up
 while we are still out of the box.

 ** **

 Can anybody think of any negative (or positive) effects of this approach?
  I am figuring because it still on the same DB server that there should not
 be much performance impact.

 ** **

 Thanks!

 Jason 

 _attend 

Re: Thoughts regarding a separate DB for custom DB objects

2012-09-07 Thread Rick Cook
Ah, that makes more sense now.  I know that some folks move their AR
indices off to a separate DB, under the control of the DBMS, so I don't
know why you couldn't move these things, as long as the appropriate AR
System calls knew where to find them.

In the few instances where you're moving things that interact a lot with
the AR System DB from the AR System DB, I wonder if the increased network
traffic during those tasks would be a greater cost than the benefit of
having a clean system.  Perhaps if they were on the same DB Server/SAN,
but under a different DB, that would provide benefit without cost.

Rick
On Fri, Sep 7, 2012 at 1:54 PM, Jason Miller jason.mil...@gmail.com wrote:

 ** Now that is a bit tricky...  To stay out of the box we need to think
 inside the box  :)

 You are absolutely correct.  All AR maintained objects will utilize
 overlays and best practices.  What I am talking about are custom DB objects
 not maintained by the AR System.  Most of (if not all of) our custom DB
 objects are for integration purposes

 Here are some examples:

- The Views that View Forms are created against
- Tables that cache data from other systems that View Forms are
created against.
   - In the case of our HR and Financial systems creating View Forms
   over a Linked DB server were too slow for use in UI workflow (Cost 
 Center
   and Sub Account Menus/Validation, HR/Finance Locations, etc.)
- Stored procedures to populate the cache tables mentioned above
- Functions converting to/from epoch time
- Function for INITCAP (we're MS SQL so we had to build it)
- Stored procedures that other systems use to access Remedy data (yeah
we are trying to move most of these to web services when possible).
- Views that other systems use to access Remedy data (yeah we are
trying to move most of these to web services when possible).
- Stored procedures to truncate import Forms (T and H tables)

 Currently all of these things are in our ARSystem DB.  Moving these out
 would make the ARSystem DB more portable and pure.

 Jason

 On Thu, Sep 6, 2012 at 5:40 PM, Easter, David david_eas...@bmc.comwrote:

 **

 Just thinking somewhat inside the box – but wouldn’t overlays do the
 majority of this for you?  Any custom objects you create would be well
 known/documented as would any modifications to BMC base objects.  The base
 BMC objects would remain on the system unchanged.  If you really then
 wanted to transfer only your extensions and modifications to a new box,
 you’d just transfer the custom and overlaid objects.

 ** **

 -David J. Easter

 Manager of Product Management, AR System

 BSM  Atrium Solutions Management

 BMC Software, Inc.

  

 The opinions, statements, and/or suggested courses of action expressed in
 this E-mail do not necessarily reflect those of BMC Software, Inc.  My
 voluntary participation in this forum is not intended to convey a role as a
 spokesperson, liaison or public relations representative for BMC Software,
 Inc.

 ** **

 *From:* Action Request System discussion list(ARSList) [mailto:
 arslist@ARSLIST.ORG] *On Behalf Of *Jason Miller
 *Sent:* Wednesday, September 05, 2012 3:33 PM
 *To:* arslist@ARSLIST.ORG
 *Subject:* Thoughts regarding a separate DB for custom DB objects

 ** **

 ** 

 I would like to get some input on something I have been thinking about
 recently.  I am considering creating a new DB on the same DB server as the
 ARSystem DB.  This DB would be right next to the ARSystem DB but would
 house all of the custom DB work we do.  My thought is to have all custom
 tables, views, stored procedures, functions, etc. in new DB which would
 ideally leave everything in the ARSystem DB created, maintained and
 modified via the AR System API or BMC installers.  Basically I am picturing
 a layer of abstraction or a library of custom objects if you will.  Maybe
 more like a different namespace or data set for those CMDB gurus out there.
 

 ** **

 As it is right now in our very customized 7.5 ARS DB all custom tables,
 views, etc. are all intermixed with the ARS maintained objects. We try to
 keep our objects lumped together by naming convention but just when my team
 starts using the same convention a different DBA (for example) comes along
 and uses their favorite convention.  If we all agree to only make changes
 to the custom DB then naming convention is not as important (DBAs usually
 ask which DB do you need something not so much “what is your naming
 convention?”).

 ** **

 Another considerations is portability of the ARSystem DB.  Right now when
 we refresh our production DB to another environment there are things like
 different linked server references that need to be updated, object owners,
 etc.  All objects in the custom DB would have the same names between
 environments (Dev, QA, Prod).  With all of the custom objects in their own
 DB we can move ARSystem DBs between environments 

Re: Thoughts regarding a separate DB for custom DB objects

2012-09-07 Thread Axton
I've been doing this for years.  I've traditionally worked in Oracle shops,
where we create a separate schema on the same instance.  The data never
goes over the network.  All custom db objects go into this schema and not
the AR owned schema.  Each schema has a schema owner (schema name = account
name), so there are some grants that have to be given to allow cross-talk,
but the maintenance is minimal.  The downside to using the views is that
views can not be altered, only created and dropped.  What this means is
that if you apply a grant to a view that AR owns (a db view for a form),
and you add a field to that form, the grants to that view are gone.   For
this reason, I use the T tables when constructing views.  Tables can be
altered, and this is how Remedy does it, so the grants persist through form
modifications.

As to the statement about lob/index storage, etc.; this is typically done
using separate tablespaces.  Tablespaces are like separate storage
containers; probably the easiest way to think about them is that they are
separate files that the db uses to store stuff.  There are some
characteristics that you can define at the tablespace level (extent size,
lob characteristics, etc.) that make it advantageous to use separate
tablespaces for different objects.

The reason I separate these things out is for ease of maintenance.  Have
you ever walked into a shop that didn't do this and had an active Remedy
system that was 6 years old and under constant development?  It get's messy
in the db.  DB objects pile up; sometimes they are no longer used, and in
the end, you have a pile of db objects and you don't have a good idea if it
is something Remedy created or a person created.  It's a hell of a ball of
yarn to untangle.

Axton Grams

On Fri, Sep 7, 2012 at 1:02 PM, Rick Cook remedyr...@gmail.com wrote:

 **
 Ah, that makes more sense now.  I know that some folks move their AR
 indices off to a separate DB, under the control of the DBMS, so I don't
 know why you couldn't move these things, as long as the appropriate AR
 System calls knew where to find them.

 In the few instances where you're moving things that interact a lot with
 the AR System DB from the AR System DB, I wonder if the increased network
 traffic during those tasks would be a greater cost than the benefit of
 having a clean system.  Perhaps if they were on the same DB Server/SAN,
 but under a different DB, that would provide benefit without cost.

 Rick
 On Fri, Sep 7, 2012 at 1:54 PM, Jason Miller jason.mil...@gmail.comwrote:

 ** Now that is a bit tricky...  To stay out of the box we need to think
 inside the box  :)

 You are absolutely correct.  All AR maintained objects will utilize
 overlays and best practices.  What I am talking about are custom DB objects
 not maintained by the AR System.  Most of (if not all of) our custom DB
 objects are for integration purposes

 Here are some examples:

- The Views that View Forms are created against
- Tables that cache data from other systems that View Forms are
created against.
   - In the case of our HR and Financial systems creating View Forms
   over a Linked DB server were too slow for use in UI workflow (Cost 
 Center
   and Sub Account Menus/Validation, HR/Finance Locations, etc.)
- Stored procedures to populate the cache tables mentioned above
- Functions converting to/from epoch time
- Function for INITCAP (we're MS SQL so we had to build it)
- Stored procedures that other systems use to access Remedy data
(yeah we are trying to move most of these to web services when possible).
- Views that other systems use to access Remedy data (yeah we are
trying to move most of these to web services when possible).
- Stored procedures to truncate import Forms (T and H tables)

 Currently all of these things are in our ARSystem DB.  Moving these out
 would make the ARSystem DB more portable and pure.

 Jason

 On Thu, Sep 6, 2012 at 5:40 PM, Easter, David david_eas...@bmc.comwrote:

 **

 Just thinking somewhat inside the box – but wouldn’t overlays do the
 majority of this for you?  Any custom objects you create would be well
 known/documented as would any modifications to BMC base objects.  The base
 BMC objects would remain on the system unchanged.  If you really then
 wanted to transfer only your extensions and modifications to a new box,
 you’d just transfer the custom and overlaid objects.

 ** **

 -David J. Easter

 Manager of Product Management, AR System

 BSM  Atrium Solutions Management

 BMC Software, Inc.

  

 The opinions, statements, and/or suggested courses of action expressed
 in this E-mail do not necessarily reflect those of BMC Software, Inc.  My
 voluntary participation in this forum is not intended to convey a role as a
 spokesperson, liaison or public relations representative for BMC Software,
 Inc.

 ** **

 *From:* Action Request System discussion list(ARSList) [mailto:
 

Re: Thoughts regarding a separate DB for custom DB objects

2012-09-07 Thread Joe Martin D'Souza
Overlays was my first thoughts as well.. Why another DB when we now have 
overlays..??

But for ‘some things’, I think it’s a absolutely brilliant idea.. These some 
things have nothing to do with ARS objects hence overlays wont even be in the 
picture.. These are ‘foreign’ tables we tend to create in the ARSystem schema, 
and have it reside in there resulting in many sometimes hundreds of foreign 
tables in there, and without a good naming convention, you can easily loose 
sight of whats internal and whats external to the database..

I think for this one and only reason, having a database of something like 
ARSExternal to keep all external objects outside, and then create DB links to 
reference this is an absolutely gem of an idea for the pure purpose of 
maintenance.. In that external space, you could even have a table with the same 
name – who cares..

Good idea.. But for anything internal, as David rightly pointed out, overlays 
man.. they will be your next best friend for a few years to come until 
something better comes out!

Joe

From: Easter, David 
Sent: Thursday, September 06, 2012 8:40 PM
Newsgroups: public.remedy.arsystem.general
To: arslist@ARSLIST.ORG 
Subject: Re: Thoughts regarding a separate DB for custom DB objects

** 
Just thinking somewhat inside the box – but wouldn’t overlays do the majority 
of this for you?  Any custom objects you create would be well known/documented 
as would any modifications to BMC base objects.  The base BMC objects would 
remain on the system unchanged.  If you really then wanted to transfer only 
your extensions and modifications to a new box, you’d just transfer the custom 
and overlaid objects.

 

-David J. Easter

Manager of Product Management, AR System

BSM  Atrium Solutions Management

BMC Software, Inc.

 

The opinions, statements, and/or suggested courses of action expressed in this 
E-mail do not necessarily reflect those of BMC Software, Inc.  My voluntary 
participation in this forum is not intended to convey a role as a spokesperson, 
liaison or public relations representative for BMC Software, Inc.

 

From: Action Request System discussion list(ARSList) 
[mailto:arslist@ARSLIST.ORG] On Behalf Of Jason Miller
Sent: Wednesday, September 05, 2012 3:33 PM
To: arslist@ARSLIST.ORG
Subject: Thoughts regarding a separate DB for custom DB objects

 

** 

I would like to get some input on something I have been thinking about 
recently.  I am considering creating a new DB on the same DB server as the 
ARSystem DB.  This DB would be right next to the ARSystem DB but would house 
all of the custom DB work we do.  My thought is to have all custom tables, 
views, stored procedures, functions, etc. in new DB which would ideally leave 
everything in the ARSystem DB created, maintained and modified via the AR 
System API or BMC installers.  Basically I am picturing a layer of abstraction 
or a library of custom objects if you will.  Maybe more like a different 
namespace or data set for those CMDB gurus out there.

 

As it is right now in our very customized 7.5 ARS DB all custom tables, views, 
etc. are all intermixed with the ARS maintained objects. We try to keep our 
objects lumped together by naming convention but just when my team starts using 
the same convention a different DBA (for example) comes along and uses their 
favorite convention.  If we all agree to only make changes to the custom DB 
then naming convention is not as important (DBAs usually ask which DB do you 
need something not so much “what is your naming convention?”).

 

Another considerations is portability of the ARSystem DB.  Right now when we 
refresh our production DB to another environment there are things like 
different linked server references that need to be updated, object owners, etc. 
 All objects in the custom DB would have the same names between environments 
(Dev, QA, Prod).  With all of the custom objects in their own DB we can move 
ARSystem DBs between environments and as long as the custom DB is configured 
correctly for the environment no changes are needed to any of ARSystem DB 
objects.

 

Our new “out of the box” ITSM 7.6.04 system does not have any custom DB work 
done yet but I know it is only a matter of time before the need arises as we 
transition between old and new systems.  If there are advantages and no major 
negative results to this architecture I would like to set this up while we are 
still out of the box.

 

Can anybody think of any negative (or positive) effects of this approach?  I am 
figuring because it still on the same DB server that there should not be much 
performance impact.

 

Thanks!

Jason

___
UNSUBSCRIBE or access ARSlist Archives at www.arslist.org
attend wwrug12 www.wwrug12.com ARSList: Where the Answers Are


Re: Thoughts regarding a separate DB for custom DB objects

2012-09-07 Thread Jason Miller
Thanks Sylvain for the feed back!  It is interesting that you called it
Utility because I was also thinking about calling the DB Utilities.

That is one of the things I am wondering about; will putting the views and
tables used by AR System in the Utilities DB have much impact on
performance.  I tend to think it will not have too much impact since it is
all on the same DB server, same disk volume, etc.  But then again I am not
a DBA, network engineer or storage engineer  :)

Here is scenario where I would like for custom views to be in their own DB
space.  Our convention is to prefix our custom views with uv_ for User
View (ut_ for User Table).  We also like to name our View forms with the
View name they use.  For example we have a view called uv_LAWItems and
the View Form name is LAW:uv_LAWItems.  The AR maintained view of the
View Form is LAW_uv_LAWItems. There have been times where I was a little
confused around the difference between uv_LAWItems and LAW_uv_LAWItems
(usually late at night under some kind of time restriction).  Now maybe our
naming conventions could use some tweaking?  However moving uv_LAWItems to
a different DB would make it more clear which is the custom object and
which is the AR maintain object referencing the custom object in another DB.

The performance implication is one of the things I am the most curious
about and hoping some of our DB gurus will chime in.

I just realized I didn't include our specs in my initial post.  I am
working mostly with theory here so I am hoping the specs are not
that relevant but here they are:

ARS 7.6.04 SP3
ITSM .7.6.04 SP2
AR Server - Windows 2008 Standard 64-bit
DB Server Windows 2008 Enterprise 64-bit
DBMS - MS SQL 2008 Standard 64-bit

Jason

On Fri, Sep 7, 2012 at 12:05 AM, Sylvain YVON sylvain.y...@gmail.comwrote:

 We did that here on Oracle for a custom 7.5 app with one ARSystem and
 one Utility schemas. The utility schema contains all the temporary
 tables, procedures and packages for maintenance and imports (of users,
 entities, ...). This is very handy because this is all temporary stuff
 that we can afford to loose and restore a week old backup, not like AR
 System data that is so expensive to replicate.
 That said, we chose to create the views and materialized views needed
 by ARS workflow inside the AR System schema simply because we don't
 see a value add in using the utility schema. I mean, if you create
 views, you will probably create a view form in AR System anyway. If
 you use a View Form based on a complexe view, that uses the data
 contained in your AR System tables, are you sure that storing the view
 in a separate schema/DB doesn't add an overhead (like authentication,
 network loop, etc) ? I don't have the answer, maybe it depends on the
 DB engine you use ?

 Sylvain

 On Fri, Sep 7, 2012 at 2:40 AM, Easter, David david_eas...@bmc.com
 wrote:
  **
 
  Just thinking somewhat inside the box – but wouldn’t overlays do the
  majority of this for you?  Any custom objects you create would be well
  known/documented as would any modifications to BMC base objects.  The
 base
  BMC objects would remain on the system unchanged.  If you really then
 wanted
  to transfer only your extensions and modifications to a new box, you’d
 just
  transfer the custom and overlaid objects.
 
 
 
  -David J. Easter
 
  Manager of Product Management, AR System
 
  BSM  Atrium Solutions Management
 
  BMC Software, Inc.
 
 
 
  The opinions, statements, and/or suggested courses of action expressed in
  this E-mail do not necessarily reflect those of BMC Software, Inc.  My
  voluntary participation in this forum is not intended to convey a role
 as a
  spokesperson, liaison or public relations representative for BMC
 Software,
  Inc.
 
 
 
  From: Action Request System discussion list(ARSList)
  [mailto:arslist@ARSLIST.ORG] On Behalf Of Jason Miller
  Sent: Wednesday, September 05, 2012 3:33 PM
  To: arslist@ARSLIST.ORG
  Subject: Thoughts regarding a separate DB for custom DB objects
 
 
 
  **
 
  I would like to get some input on something I have been thinking about
  recently.  I am considering creating a new DB on the same DB server as
 the
  ARSystem DB.  This DB would be right next to the ARSystem DB but would
 house
  all of the custom DB work we do.  My thought is to have all custom
 tables,
  views, stored procedures, functions, etc. in new DB which would ideally
  leave everything in the ARSystem DB created, maintained and modified via
 the
  AR System API or BMC installers.  Basically I am picturing a layer of
  abstraction or a library of custom objects if you will.  Maybe more like
 a
  different namespace or data set for those CMDB gurus out there.
 
 
 
  As it is right now in our very customized 7.5 ARS DB all custom tables,
  views, etc. are all intermixed with the ARS maintained objects. We try to
  keep our objects lumped together by naming convention but just when my
 team
  starts using the same convention a different DBA (for 

Re: Thoughts regarding a separate DB for custom DB objects

2012-09-07 Thread Jose Manuel Huerta Guillén
If the database is MS-SQL and you want to organize your objects to reduce
the risk of editing the wrong object, then I don't recommend you to create
a separated DB. MS-SQL provides the schema functionality. Just create a new
schema, and put all objects there. Then create a user with privileges only
at this schema. Thus, this user will only see the external objects and wont
see the Remedy ones. Give this user to people that must edit those objects.
Remedy will be able to see those objects because they are at the same
database. Also the impact on the database is null, since they are at the
same database.


Jose Manuel Huerta
http://theremedyforit.com/




On Fri, Sep 7, 2012 at 9:08 PM, Jason Miller jason.mil...@gmail.com wrote:

 MS SQL 2008 Standard 64-bit

___
UNSUBSCRIBE or access ARSlist Archives at www.arslist.org
attend wwrug12 www.wwrug12.com ARSList: Where the Answers Are


Re: Thoughts regarding a separate DB for custom DB objects

2012-09-07 Thread Jason Miller
Thanks Joe, Rick and Axton!

Axton pretty much summed up the reasons why I have been considering this
and described our ARSystem DB at the same time :)

I have only scratched the surface when working with Oracle had have never
completely understood the difference between a user's schema and a
different DB.  I guess since the schema falls within the DB the
files, maintenance and configuration are the same where as a completely
different DB would have different file and configuration properties?

I think the issue mentioned not being able to alter the AR maintained views
is a little different and doesn't change in the proposed setup.  We already
know to keep a script handy to reset the grants after the drop/create and
running the script is part of our move to production procedure.  It really
depends on what we are doing if we use the T table or the view.

Jason

On Fri, Sep 7, 2012 at 11:22 AM, Axton axton.gr...@gmail.com wrote:

 ** I've been doing this for years.  I've traditionally worked in Oracle
 shops, where we create a separate schema on the same instance.  The data
 never goes over the network.  All custom db objects go into this schema and
 not the AR owned schema.  Each schema has a schema owner (schema name =
 account name), so there are some grants that have to be given to allow
 cross-talk, but the maintenance is minimal.  The downside to using the
 views is that views can not be altered, only created and dropped.  What
 this means is that if you apply a grant to a view that AR owns (a db view
 for a form), and you add a field to that form, the grants to that view are
 gone.   For this reason, I use the T tables when constructing views.
  Tables can be altered, and this is how Remedy does it, so the grants
 persist through form modifications.

 As to the statement about lob/index storage, etc.; this is typically done
 using separate tablespaces.  Tablespaces are like separate storage
 containers; probably the easiest way to think about them is that they are
 separate files that the db uses to store stuff.  There are some
 characteristics that you can define at the tablespace level (extent size,
 lob characteristics, etc.) that make it advantageous to use separate
 tablespaces for different objects.

 The reason I separate these things out is for ease of maintenance.  Have
 you ever walked into a shop that didn't do this and had an active Remedy
 system that was 6 years old and under constant development?  It get's messy
 in the db.  DB objects pile up; sometimes they are no longer used, and in
 the end, you have a pile of db objects and you don't have a good idea if it
 is something Remedy created or a person created.  It's a hell of a ball of
 yarn to untangle.

 Axton Grams


 On Fri, Sep 7, 2012 at 1:02 PM, Rick Cook remedyr...@gmail.com wrote:

 **
 Ah, that makes more sense now.  I know that some folks move their AR
 indices off to a separate DB, under the control of the DBMS, so I don't
 know why you couldn't move these things, as long as the appropriate AR
 System calls knew where to find them.

 In the few instances where you're moving things that interact a lot with
 the AR System DB from the AR System DB, I wonder if the increased network
 traffic during those tasks would be a greater cost than the benefit of
 having a clean system.  Perhaps if they were on the same DB Server/SAN,
 but under a different DB, that would provide benefit without cost.

 Rick
 On Fri, Sep 7, 2012 at 1:54 PM, Jason Miller jason.mil...@gmail.comwrote:

 ** Now that is a bit tricky...  To stay out of the box we need to
 think inside the box  :)

 You are absolutely correct.  All AR maintained objects will utilize
 overlays and best practices.  What I am talking about are custom DB objects
 not maintained by the AR System.  Most of (if not all of) our custom DB
 objects are for integration purposes

 Here are some examples:

- The Views that View Forms are created against
- Tables that cache data from other systems that View Forms are
created against.
   - In the case of our HR and Financial systems creating View Forms
   over a Linked DB server were too slow for use in UI workflow (Cost 
 Center
   and Sub Account Menus/Validation, HR/Finance Locations, etc.)
- Stored procedures to populate the cache tables mentioned above
- Functions converting to/from epoch time
- Function for INITCAP (we're MS SQL so we had to build it)
- Stored procedures that other systems use to access Remedy data
(yeah we are trying to move most of these to web services when possible).
- Views that other systems use to access Remedy data (yeah we are
trying to move most of these to web services when possible).
- Stored procedures to truncate import Forms (T and H tables)

 Currently all of these things are in our ARSystem DB.  Moving these out
 would make the ARSystem DB more portable and pure.

 Jason

 On Thu, Sep 6, 2012 at 5:40 PM, Easter, David david_eas...@bmc.comwrote:

 

Re: Thoughts regarding a separate DB for custom DB objects

2012-09-07 Thread Jason Miller
This is the second time using a schema has been mentioned.   I am going to
look into this.

I like where you are heading with this.  It keeps the objects organized and
can limit permissions.  The one issue I see with this approach is my team
is local server admin on the DB server and local server admins
are automatically sysadmin.  I am not happy with with this because I don't
like that it gives all server admins (outside of my team) sysadmin but
according to our DBA it is just kind of how things work in this setup.
 The privileged restrictions you mention would not be enforceable for my
team.  Maybe it is time to remove our local admin access?

The other thing I am considering is when we restore the ARSystem DB form
another environment the Utilities DB remains the same and doesn't require
any updates.  A schema would be in the ARSystem DB and things like
references to linked servers would need to be updated since they also came
over with the DB.  I a figuring we could export the schema before the
ARSystem DB refresh and import it back after the refresh?

A few questions:

   - Using a schema would we see the schema reference say a Direct SQL
   action or SQL Menu as we would with calling a different DB?  I think there
   could be a benefit of seeing this reference when troubleshooting logs.
   - Do you think my original suggestion of using a different DB that uses
   the same infrastructure (SQL Instance, storage volume) would have a
   negative impact on performance?


Thanks!
Jason


On Fri, Sep 7, 2012 at 12:15 PM, Jose Manuel Huerta Guillén 
arsl...@theremedyforit.com wrote:

 ** If the database is MS-SQL and you want to organize your objects to
 reduce the risk of editing the wrong object, then I don't recommend you to
 create a separated DB. MS-SQL provides the schema functionality. Just
 create a new schema, and put all objects there. Then create a user with
 privileges only at this schema. Thus, this user will only see the external
 objects and wont see the Remedy ones. Give this user to people that must
 edit those objects. Remedy will be able to see those objects because they
 are at the same database. Also the impact on the database is null, since
 they are at the same database.


 Jose Manuel Huerta
 http://theremedyforit.com/




 On Fri, Sep 7, 2012 at 9:08 PM, Jason Miller jason.mil...@gmail.comwrote:

 MS SQL 2008 Standard 64-bit


 _attend WWRUG12 www.wwrug.com ARSlist: Where the Answers Are_


___
UNSUBSCRIBE or access ARSlist Archives at www.arslist.org
attend wwrug12 www.wwrug12.com ARSList: Where the Answers Are


Re: Thoughts regarding a separate DB for custom DB objects

2012-09-07 Thread Axton
Some terminology to help:
- instance: an installation of oracle (can be multiple instances on 1 host,
one instance on a host, etc.)
- schema: a user that owns objects (schema name matches username); can be
many schemas in a given instance, but certain system instances are always
present.
- tablespace: a storage container (defines data files and it's own set of
storage characteristics)
- user: an account to connect to oracle

Each user has a default tablespace (new objects go here unless explicity
defined otherwise)
A database link lets a user on one instance connect to some remote instance.

Assume you are logged into oracle as aradmin.  If you want to retrieve data
from a table in a different schema, arsexternal, your statement would look
like this:

select * from arsexternal.table

Axton Grams

On Fri, Sep 7, 2012 at 2:36 PM, Jason Miller jason.mil...@gmail.com wrote:

 ** Thanks Joe, Rick and Axton!

 Axton pretty much summed up the reasons why I have been considering this
 and described our ARSystem DB at the same time :)

 I have only scratched the surface when working with Oracle had have never
 completely understood the difference between a user's schema and a
 different DB.  I guess since the schema falls within the DB the
 files, maintenance and configuration are the same where as a completely
 different DB would have different file and configuration properties?

 I think the issue mentioned not being able to alter the AR maintained
 views is a little different and doesn't change in the proposed setup.  We
 already know to keep a script handy to reset the grants after the
 drop/create and running the script is part of our move to production
 procedure.  It really depends on what we are doing if we use the T table or
 the view.

 Jason

 On Fri, Sep 7, 2012 at 11:22 AM, Axton axton.gr...@gmail.com wrote:

 ** I've been doing this for years.  I've traditionally worked in Oracle
 shops, where we create a separate schema on the same instance.  The data
 never goes over the network.  All custom db objects go into this schema and
 not the AR owned schema.  Each schema has a schema owner (schema name =
 account name), so there are some grants that have to be given to allow
 cross-talk, but the maintenance is minimal.  The downside to using the
 views is that views can not be altered, only created and dropped.  What
 this means is that if you apply a grant to a view that AR owns (a db view
 for a form), and you add a field to that form, the grants to that view are
 gone.   For this reason, I use the T tables when constructing views.
  Tables can be altered, and this is how Remedy does it, so the grants
 persist through form modifications.

 As to the statement about lob/index storage, etc.; this is typically done
 using separate tablespaces.  Tablespaces are like separate storage
 containers; probably the easiest way to think about them is that they are
 separate files that the db uses to store stuff.  There are some
 characteristics that you can define at the tablespace level (extent size,
 lob characteristics, etc.) that make it advantageous to use separate
 tablespaces for different objects.

 The reason I separate these things out is for ease of maintenance.  Have
 you ever walked into a shop that didn't do this and had an active Remedy
 system that was 6 years old and under constant development?  It get's messy
 in the db.  DB objects pile up; sometimes they are no longer used, and in
 the end, you have a pile of db objects and you don't have a good idea if it
 is something Remedy created or a person created.  It's a hell of a ball of
 yarn to untangle.

 Axton Grams


 On Fri, Sep 7, 2012 at 1:02 PM, Rick Cook remedyr...@gmail.com wrote:

 **
 Ah, that makes more sense now.  I know that some folks move their AR
 indices off to a separate DB, under the control of the DBMS, so I don't
 know why you couldn't move these things, as long as the appropriate AR
 System calls knew where to find them.

 In the few instances where you're moving things that interact a lot with
 the AR System DB from the AR System DB, I wonder if the increased network
 traffic during those tasks would be a greater cost than the benefit of
 having a clean system.  Perhaps if they were on the same DB Server/SAN,
 but under a different DB, that would provide benefit without cost.

 Rick
 On Fri, Sep 7, 2012 at 1:54 PM, Jason Miller jason.mil...@gmail.comwrote:

 ** Now that is a bit tricky...  To stay out of the box we need to
 think inside the box  :)

 You are absolutely correct.  All AR maintained objects will utilize
 overlays and best practices.  What I am talking about are custom DB objects
 not maintained by the AR System.  Most of (if not all of) our custom DB
 objects are for integration purposes

 Here are some examples:

- The Views that View Forms are created against
- Tables that cache data from other systems that View Forms are
created against.
   - In the case of our HR and Financial systems creating 

Re: Thoughts regarding a separate DB for custom DB objects

2012-09-07 Thread Jose Manuel Huerta Guillén
A schema in MS SQL is just a way to group elements inside a database. So,
you can access them as any other element at the database. But is very easy
to define different properties or security based on schema. That means that
SQL Direct actions or view forms are done as in they were on the same
database (if fact they are).

Using a different database just makes it more difficult to access form
Remedy. If the only purpose is to group elements, then the schema was
introduced with this objective. If you want to set different properties,
then you need different databases.

Anyway, it's a DBA decision.


Regards,


Jose Manuel Huerta
http://theremedyforit.com/




On Fri, Sep 7, 2012 at 9:58 PM, Jason Miller jason.mil...@gmail.com wrote:

 ** This is the second time using a schema has been mentioned.   I am going
 to look into this.

 I like where you are heading with this.  It keeps the objects organized
 and can limit permissions.  The one issue I see with this approach is my
 team is local server admin on the DB server and local server admins
 are automatically sysadmin.  I am not happy with with this because I don't
 like that it gives all server admins (outside of my team) sysadmin but
 according to our DBA it is just kind of how things work in this setup.
  The privileged restrictions you mention would not be enforceable for my
 team.  Maybe it is time to remove our local admin access?

 The other thing I am considering is when we restore the ARSystem DB form
 another environment the Utilities DB remains the same and doesn't require
 any updates.  A schema would be in the ARSystem DB and things like
 references to linked servers would need to be updated since they also came
 over with the DB.  I a figuring we could export the schema before the
 ARSystem DB refresh and import it back after the refresh?

 A few questions:

- Using a schema would we see the schema reference say a Direct SQL
action or SQL Menu as we would with calling a different DB?  I think there
could be a benefit of seeing this reference when troubleshooting logs.
- Do you think my original suggestion of using a different DB that
uses the same infrastructure (SQL Instance, storage volume) would have a
negative impact on performance?


 Thanks!
 Jason


 On Fri, Sep 7, 2012 at 12:15 PM, Jose Manuel Huerta Guillén 
 arsl...@theremedyforit.com wrote:

 ** If the database is MS-SQL and you want to organize your objects to
 reduce the risk of editing the wrong object, then I don't recommend you to
 create a separated DB. MS-SQL provides the schema functionality. Just
 create a new schema, and put all objects there. Then create a user with
 privileges only at this schema. Thus, this user will only see the external
 objects and wont see the Remedy ones. Give this user to people that must
 edit those objects. Remedy will be able to see those objects because they
 are at the same database. Also the impact on the database is null, since
 they are at the same database.


 Jose Manuel Huerta
 http://theremedyforit.com/




 On Fri, Sep 7, 2012 at 9:08 PM, Jason Miller jason.mil...@gmail.comwrote:

 MS SQL 2008 Standard 64-bit


 _attend WWRUG12 www.wwrug.com ARSlist: Where the Answers Are_


 _attend WWRUG12 www.wwrug.com ARSlist: Where the Answers Are_


___
UNSUBSCRIBE or access ARSlist Archives at www.arslist.org
attend wwrug12 www.wwrug12.com ARSList: Where the Answers Are


Re: Thoughts regarding a separate DB for custom DB objects

2012-09-07 Thread Jason Miller
Thanks again for the info!  As Axton explained for Oracle you would
reference the schema.table but I was not sure if MS SQL would do the same.
 I like the idea of seeing something.table in definitions and logging to
indicate the resources being used are outside the realm of ARSystem.

The enhanced security at this time is not too much of a concern at this
time (although I may go ahead since it is a new system and lock down
ARSystem from the start).  Both the schema and different DB approach will
give us more flexible permissions than we have now.

I am looking for group as you mention but also for separation and
independence (within reason).

Now I am  going to bounce this off our DBAs.  It is not so much their
decision regarding the architecture however we greatly value their input as
the experts.  If we gave them too much say they would delete the thousands
of AR maintained views that drive them crazy.

I think we are going to go with a separate DB unless the DBAs or somebody
on the list comes up with a good reason why it isn't good idea.  Worst case
after we set this up is we have to move those objects in to the ARSystem DB
and use the schema approach :)

Thanks everybody,
Jason

On Fri, Sep 7, 2012 at 3:42 PM, Jose Manuel Huerta Guillén 
arsl...@theremedyforit.com wrote:

 ** A schema in MS SQL is just a way to group elements inside a database.
 So, you can access them as any other element at the database. But is very
 easy to define different properties or security based on schema. That means
 that SQL Direct actions or view forms are done as in they were on the same
 database (if fact they are).

 Using a different database just makes it more difficult to access form
 Remedy. If the only purpose is to group elements, then the schema was
 introduced with this objective. If you want to set different properties,
 then you need different databases.

 Anyway, it's a DBA decision.


 Regards,


 Jose Manuel Huerta
 http://theremedyforit.com/




 On Fri, Sep 7, 2012 at 9:58 PM, Jason Miller jason.mil...@gmail.comwrote:

 ** This is the second time using a schema has been mentioned.   I am
 going to look into this.

 I like where you are heading with this.  It keeps the objects organized
 and can limit permissions.  The one issue I see with this approach is my
 team is local server admin on the DB server and local server admins
 are automatically sysadmin.  I am not happy with with this because I don't
 like that it gives all server admins (outside of my team) sysadmin but
 according to our DBA it is just kind of how things work in this setup.
  The privileged restrictions you mention would not be enforceable for my
 team.  Maybe it is time to remove our local admin access?

 The other thing I am considering is when we restore the ARSystem DB form
 another environment the Utilities DB remains the same and doesn't require
 any updates.  A schema would be in the ARSystem DB and things like
 references to linked servers would need to be updated since they also came
 over with the DB.  I a figuring we could export the schema before the
 ARSystem DB refresh and import it back after the refresh?

 A few questions:

- Using a schema would we see the schema reference say a Direct SQL
action or SQL Menu as we would with calling a different DB?  I think there
could be a benefit of seeing this reference when troubleshooting logs.
- Do you think my original suggestion of using a different DB that
uses the same infrastructure (SQL Instance, storage volume) would have a
negative impact on performance?


 Thanks!
 Jason


 On Fri, Sep 7, 2012 at 12:15 PM, Jose Manuel Huerta Guillén 
 arsl...@theremedyforit.com wrote:

 ** If the database is MS-SQL and you want to organize your objects to
 reduce the risk of editing the wrong object, then I don't recommend you to
 create a separated DB. MS-SQL provides the schema functionality. Just
 create a new schema, and put all objects there. Then create a user with
 privileges only at this schema. Thus, this user will only see the external
 objects and wont see the Remedy ones. Give this user to people that must
 edit those objects. Remedy will be able to see those objects because they
 are at the same database. Also the impact on the database is null, since
 they are at the same database.


 Jose Manuel Huerta
 http://theremedyforit.com/




 On Fri, Sep 7, 2012 at 9:08 PM, Jason Miller jason.mil...@gmail.comwrote:

 MS SQL 2008 Standard 64-bit


 _attend WWRUG12 www.wwrug.com ARSlist: Where the Answers Are_


 _attend WWRUG12 www.wwrug.com ARSlist: Where the Answers Are_


 _attend WWRUG12 www.wwrug.com ARSlist: Where the Answers Are_


___
UNSUBSCRIBE or access ARSlist Archives at www.arslist.org
attend wwrug12 www.wwrug12.com ARSList: Where the Answers Are


Re: Thoughts regarding a separate DB for custom DB objects

2012-09-07 Thread Axton
Seperate DB adds complexity with no tangible benefits, that I can see.  A
seperate instance requires maintaining two instances (each patch
separately, audited separately, two sets of accounts to maintain, the
addition of db links, etc.); it also entails running two instances (you
have overhead with each instance: cpu, memory, disk, etc.).

I try to opt for the simplest solution that meets the need.  The schema, as
far as I can see, is that choice.  Life and technology is too complicated
to add complexity for complexity's sake.

Axton Grams

On Fri, Sep 7, 2012 at 6:44 PM, Jason Miller jason.mil...@gmail.com wrote:

 ** Thanks again for the info!  As Axton explained for Oracle you would
 reference the schema.table but I was not sure if MS SQL would do the
 same.  I like the idea of seeing something.table in definitions and
 logging to indicate the resources being used are outside the realm of
 ARSystem.

 The enhanced security at this time is not too much of a concern at this
 time (although I may go ahead since it is a new system and lock down
 ARSystem from the start).  Both the schema and different DB approach will
 give us more flexible permissions than we have now.

 I am looking for group as you mention but also for separation and
 independence (within reason).

 Now I am  going to bounce this off our DBAs.  It is not so much their
 decision regarding the architecture however we greatly value their input as
 the experts.  If we gave them too much say they would delete the thousands
 of AR maintained views that drive them crazy.

 I think we are going to go with a separate DB unless the DBAs or somebody
 on the list comes up with a good reason why it isn't good idea.  Worst case
 after we set this up is we have to move those objects in to the ARSystem DB
 and use the schema approach :)

 Thanks everybody,
 Jason


 On Fri, Sep 7, 2012 at 3:42 PM, Jose Manuel Huerta Guillén 
 arsl...@theremedyforit.com wrote:

 ** A schema in MS SQL is just a way to group elements inside a database.
 So, you can access them as any other element at the database. But is very
 easy to define different properties or security based on schema. That means
 that SQL Direct actions or view forms are done as in they were on the same
 database (if fact they are).

 Using a different database just makes it more difficult to access form
 Remedy. If the only purpose is to group elements, then the schema was
 introduced with this objective. If you want to set different properties,
 then you need different databases.

 Anyway, it's a DBA decision.


 Regards,


 Jose Manuel Huerta
 http://theremedyforit.com/




 On Fri, Sep 7, 2012 at 9:58 PM, Jason Miller jason.mil...@gmail.comwrote:

 ** This is the second time using a schema has been mentioned.   I am
 going to look into this.

 I like where you are heading with this.  It keeps the objects organized
 and can limit permissions.  The one issue I see with this approach is my
 team is local server admin on the DB server and local server admins
 are automatically sysadmin.  I am not happy with with this because I don't
 like that it gives all server admins (outside of my team) sysadmin but
 according to our DBA it is just kind of how things work in this setup.
  The privileged restrictions you mention would not be enforceable for my
 team.  Maybe it is time to remove our local admin access?

 The other thing I am considering is when we restore the ARSystem DB form
 another environment the Utilities DB remains the same and doesn't require
 any updates.  A schema would be in the ARSystem DB and things like
 references to linked servers would need to be updated since they also came
 over with the DB.  I a figuring we could export the schema before the
 ARSystem DB refresh and import it back after the refresh?

 A few questions:

- Using a schema would we see the schema reference say a Direct SQL
action or SQL Menu as we would with calling a different DB?  I think 
 there
could be a benefit of seeing this reference when troubleshooting logs.
- Do you think my original suggestion of using a different DB that
uses the same infrastructure (SQL Instance, storage volume) would have a
negative impact on performance?


 Thanks!
 Jason


 On Fri, Sep 7, 2012 at 12:15 PM, Jose Manuel Huerta Guillén 
 arsl...@theremedyforit.com wrote:

 ** If the database is MS-SQL and you want to organize your objects to
 reduce the risk of editing the wrong object, then I don't recommend you to
 create a separated DB. MS-SQL provides the schema functionality. Just
 create a new schema, and put all objects there. Then create a user with
 privileges only at this schema. Thus, this user will only see the external
 objects and wont see the Remedy ones. Give this user to people that must
 edit those objects. Remedy will be able to see those objects because they
 are at the same database. Also the impact on the database is null, since
 they are at the same database.


 Jose Manuel Huerta
 

Re: Thoughts regarding a separate DB for custom DB objects

2012-09-06 Thread Easter, David
Just thinking somewhat inside the box - but wouldn't overlays do the majority 
of this for you?  Any custom objects you create would be well known/documented 
as would any modifications to BMC base objects.  The base BMC objects would 
remain on the system unchanged.  If you really then wanted to transfer only 
your extensions and modifications to a new box, you'd just transfer the custom 
and overlaid objects.

-David J. Easter
Manager of Product Management, AR System
BSM  Atrium Solutions Management
BMC Software, Inc.

The opinions, statements, and/or suggested courses of action expressed in this 
E-mail do not necessarily reflect those of BMC Software, Inc.  My voluntary 
participation in this forum is not intended to convey a role as a spokesperson, 
liaison or public relations representative for BMC Software, Inc.

From: Action Request System discussion list(ARSList) 
[mailto:arslist@ARSLIST.ORG] On Behalf Of Jason Miller
Sent: Wednesday, September 05, 2012 3:33 PM
To: arslist@ARSLIST.ORG
Subject: Thoughts regarding a separate DB for custom DB objects

**
I would like to get some input on something I have been thinking about 
recently.  I am considering creating a new DB on the same DB server as the 
ARSystem DB.  This DB would be right next to the ARSystem DB but would house 
all of the custom DB work we do.  My thought is to have all custom tables, 
views, stored procedures, functions, etc. in new DB which would ideally leave 
everything in the ARSystem DB created, maintained and modified via the AR 
System API or BMC installers.  Basically I am picturing a layer of abstraction 
or a library of custom objects if you will.  Maybe more like a different 
namespace or data set for those CMDB gurus out there.

As it is right now in our very customized 7.5 ARS DB all custom tables, views, 
etc. are all intermixed with the ARS maintained objects. We try to keep our 
objects lumped together by naming convention but just when my team starts using 
the same convention a different DBA (for example) comes along and uses their 
favorite convention.  If we all agree to only make changes to the custom DB 
then naming convention is not as important (DBAs usually ask which DB do you 
need something not so much what is your naming convention?).

Another considerations is portability of the ARSystem DB.  Right now when we 
refresh our production DB to another environment there are things like 
different linked server references that need to be updated, object owners, etc. 
 All objects in the custom DB would have the same names between environments 
(Dev, QA, Prod).  With all of the custom objects in their own DB we can move 
ARSystem DBs between environments and as long as the custom DB is configured 
correctly for the environment no changes are needed to any of ARSystem DB 
objects.

Our new out of the box ITSM 7.6.04 system does not have any custom DB work 
done yet but I know it is only a matter of time before the need arises as we 
transition between old and new systems.  If there are advantages and no major 
negative results to this architecture I would like to set this up while we are 
still out of the box.

Can anybody think of any negative (or positive) effects of this approach?  I am 
figuring because it still on the same DB server that there should not be much 
performance impact.

Thanks!
Jason
_attend WWRUG12 www.wwrug.com ARSlist: Where the Answers Are_

___
UNSUBSCRIBE or access ARSlist Archives at www.arslist.org
attend wwrug12 www.wwrug12.com ARSList: Where the Answers Are