How to find the incremental growth of index for last few months

Hi,
How to find the incremental growth of index for last few months.
Thanks,
Sathis.

Hi,
Check the below link, it may help you!
http://www.rampant-books.com/t_tracking_oracle_database_tables_growth.htm
Thanks,
Sankar

Similar Messages

  • How to find the database growth rate?

    Wanted to do the forecasting of disk growth for one year. How to find the database growth rate?
    Rahul

    This is code authored by Richard Ding that will log database sizes to a table.  If you run it every day, then you can go back and compare the database size differences day to day... week to week... month to month... and year over year.  That is
    how I forecast growth over time.
    Note:  There is a database name required that is local to your environment, so change [YOURDATABASENAME] to whatever local database you wish to use.  I will also post the DDL to create the target table.  Create that table in the database you
    name in the stored procedure code and all should run fine.
    USE [master]
    GO
    /****** Object: StoredProcedure [dbo].[sp_SDS] Script Date: 04/22/2015 09:32:53 ******/
    SET ANSI_NULLS ON
    GO
    SET QUOTED_IDENTIFIER ON
    GO
    CREATE PROCEDURE [dbo].[sp_SDS]
    @TargetDatabase sysname = NULL, -- NULL: all dbs
    @Level varchar(10) = 'Database', -- or "File"
    @UpdateUsage bit = 0, -- default no update
    @Unit char(2) = 'MB' -- Megabytes, Kilobytes or Gigabytes
    AS
    ** author: Richard Ding
    ** date: 4/8/2008
    ** usage: list db size AND path w/o SUMmary
    ** test code: sp_SDS -- default behavior
    ** sp_SDS 'maAster'
    ** sp_SDS NULL, NULL, 0
    ** sp_SDS NULL, 'file', 1, 'GB'
    ** sp_SDS 'Test_snapshot', 'Database', 1
    ** sp_SDS 'Test', 'File', 0, 'kb'
    ** sp_SDS 'pfaids', 'Database', 0, 'gb'
    ** sp_SDS 'tempdb', NULL, 1, 'kb'
    SET NOCOUNT ON;
    IF @TargetDatabase IS NOT NULL AND DB_ID(@TargetDatabase) IS NULL
    BEGIN
    RAISERROR(15010, -1, -1, @TargetDatabase);
    RETURN (-1)
    END
    IF OBJECT_ID('tempdb.dbo.##Tbl_CombinedInfo', 'U') IS NOT NULL
    DROP TABLE dbo.##Tbl_CombinedInfo;
    IF OBJECT_ID('tempdb.dbo.##Tbl_DbFileStats', 'U') IS NOT NULL
    DROP TABLE dbo.##Tbl_DbFileStats;
    IF OBJECT_ID('tempdb.dbo.##Tbl_ValidDbs', 'U') IS NOT NULL
    DROP TABLE dbo.##Tbl_ValidDbs;
    IF OBJECT_ID('tempdb.dbo.##Tbl_Logs', 'U') IS NOT NULL
    DROP TABLE dbo.##Tbl_Logs;
    CREATE TABLE dbo.##Tbl_CombinedInfo (
    DatabaseName sysname NULL,
    [type] VARCHAR(10) NULL,
    LogicalName sysname NULL,
    T dec(10, 2) NULL,
    U dec(10, 2) NULL,
    [U(%)] dec(5, 2) NULL,
    F dec(10, 2) NULL,
    [F(%)] dec(5, 2) NULL,
    PhysicalName sysname NULL );
    CREATE TABLE dbo.##Tbl_DbFileStats (
    Id int identity,
    DatabaseName sysname NULL,
    FileId int NULL,
    FileGroup int NULL,
    TotalExtents bigint NULL,
    UsedExtents bigint NULL,
    Name sysname NULL,
    FileName varchar(255) NULL );
    CREATE TABLE dbo.##Tbl_ValidDbs (
    Id int identity,
    Dbname sysname NULL );
    CREATE TABLE dbo.##Tbl_Logs (
    DatabaseName sysname NULL,
    LogSize dec (10, 2) NULL,
    LogSpaceUsedPercent dec (5, 2) NULL,
    Status int NULL );
    DECLARE @Ver varchar(10),
    @DatabaseName sysname,
    @Ident_last int,
    @String varchar(2000),
    @BaseString varchar(2000);
    SELECT @DatabaseName = '',
    @Ident_last = 0,
    @String = '',
    @Ver = CASE WHEN @@VERSION LIKE '%9.0%' THEN 'SQL 2005'
    WHEN @@VERSION LIKE '%8.0%' THEN 'SQL 2000'
    WHEN @@VERSION LIKE '%10.0%' THEN 'SQL 2008'
    WHEN @@VERSION LIKE '%11.0%' THEN 'SQL 2012'
    WHEN @@VERSION LIKE '%12.0%' THEN 'SQL 2014'
    END;
    SELECT @BaseString =
    ' SELECT DB_NAME(), ' +
    CASE WHEN @Ver = 'SQL 2000' THEN 'CASE WHEN status & 0x40 = 0x40 THEN ''Log'' ELSE ''Data'' END'
    ELSE ' CASE type WHEN 0 THEN ''Data'' WHEN 1 THEN ''Log'' WHEN 4 THEN ''Full-text'' ELSE ''reserved'' END' END +
    ', name, ' +
    CASE WHEN @Ver = 'SQL 2000' THEN 'filename' ELSE 'physical_name' END +
    ', size*8.0/1024.0 FROM ' +
    CASE WHEN @Ver = 'SQL 2000' THEN 'sysfiles' ELSE 'sys.database_files' END +
    ' WHERE '
    + CASE WHEN @Ver = 'SQL 2000' THEN ' HAS_DBACCESS(DB_NAME()) = 1' ELSE 'state_desc = ''ONLINE''' END + '';
    SELECT @String = 'INSERT INTO dbo.##Tbl_ValidDbs SELECT name FROM ' +
    CASE WHEN @Ver = 'SQL 2000' THEN 'master.dbo.sysdatabases'
    WHEN @Ver IN ('SQL 2005', 'SQL 2008', 'SQL 2012', 'SQL 2014') THEN 'master.sys.databases'
    END + ' WHERE HAS_DBACCESS(name) = 1 ORDER BY name ASC';
    EXEC (@String);
    INSERT INTO dbo.##Tbl_Logs EXEC ('DBCC SQLPERF (LOGSPACE) WITH NO_INFOMSGS');
    -- For data part
    IF @TargetDatabase IS NOT NULL
    BEGIN
    SELECT @DatabaseName = @TargetDatabase;
    IF @UpdateUsage <> 0 AND DATABASEPROPERTYEX (@DatabaseName,'Status') = 'ONLINE'
    AND DATABASEPROPERTYEX (@DatabaseName, 'Updateability') <> 'READ_ONLY'
    BEGIN
    SELECT @String = 'USE [' + @DatabaseName + '] DBCC UPDATEUSAGE (0)';
    PRINT '*** ' + @String + ' *** ';
    EXEC (@String);
    PRINT '';
    END
    SELECT @String = 'INSERT INTO dbo.##Tbl_CombinedInfo (DatabaseName, type, LogicalName, PhysicalName, T) ' + @BaseString;
    INSERT INTO dbo.##Tbl_DbFileStats (FileId, FileGroup, TotalExtents, UsedExtents, Name, FileName)
    EXEC ('USE [' + @DatabaseName + '] DBCC SHOWFILESTATS WITH NO_INFOMSGS');
    EXEC ('USE [' + @DatabaseName + '] ' + @String);
    UPDATE dbo.##Tbl_DbFileStats SET DatabaseName = @DatabaseName;
    END
    ELSE
    BEGIN
    WHILE 1 = 1
    BEGIN
    SELECT TOP 1 @DatabaseName = Dbname FROM dbo.##Tbl_ValidDbs WHERE Dbname > @DatabaseName ORDER BY Dbname ASC;
    IF @@ROWCOUNT = 0
    BREAK;
    IF @UpdateUsage <> 0 AND DATABASEPROPERTYEX (@DatabaseName, 'Status') = 'ONLINE'
    AND DATABASEPROPERTYEX (@DatabaseName, 'Updateability') <> 'READ_ONLY'
    BEGIN
    SELECT @String = 'DBCC UPDATEUSAGE (''' + @DatabaseName + ''') ';
    PRINT '*** ' + @String + '*** ';
    EXEC (@String);
    PRINT '';
    END
    SELECT @Ident_last = ISNULL(MAX(Id), 0) FROM dbo.##Tbl_DbFileStats;
    SELECT @String = 'INSERT INTO dbo.##Tbl_CombinedInfo (DatabaseName, type, LogicalName, PhysicalName, T) ' + @BaseString;
    EXEC ('USE [' + @DatabaseName + '] ' + @String);
    INSERT INTO dbo.##Tbl_DbFileStats (FileId, FileGroup, TotalExtents, UsedExtents, Name, FileName)
    EXEC ('USE [' + @DatabaseName + '] DBCC SHOWFILESTATS WITH NO_INFOMSGS');
    UPDATE dbo.##Tbl_DbFileStats SET DatabaseName = @DatabaseName WHERE Id BETWEEN @Ident_last + 1 AND @@IDENTITY;
    END
    END
    -- set used size for data files, do not change total obtained from sys.database_files as it has for log files
    UPDATE dbo.##Tbl_CombinedInfo
    SET U = s.UsedExtents*8*8/1024.0
    FROM dbo.##Tbl_CombinedInfo t JOIN dbo.##Tbl_DbFileStats s
    ON t.LogicalName = s.Name AND s.DatabaseName = t.DatabaseName;
    -- set used size and % values for log files:
    UPDATE dbo.##Tbl_CombinedInfo
    SET [U(%)] = LogSpaceUsedPercent,
    U = T * LogSpaceUsedPercent/100.0
    FROM dbo.##Tbl_CombinedInfo t JOIN dbo.##Tbl_Logs l
    ON l.DatabaseName = t.DatabaseName
    WHERE t.type = 'Log';
    UPDATE dbo.##Tbl_CombinedInfo SET F = T - U, [U(%)] = U*100.0/T;
    UPDATE dbo.##Tbl_CombinedInfo SET [F(%)] = F*100.0/T;
    IF UPPER(ISNULL(@Level, 'DATABASE')) = 'FILE'
    BEGIN
    IF @Unit = 'KB'
    UPDATE dbo.##Tbl_CombinedInfo
    SET T = T * 1024, U = U * 1024, F = F * 1024;
    IF @Unit = 'GB'
    UPDATE dbo.##Tbl_CombinedInfo
    SET T = T / 1024, U = U / 1024, F = F / 1024;
    SELECT DatabaseName AS 'Database',
    type AS 'Type',
    LogicalName,
    T AS 'Total',
    U AS 'Used',
    [U(%)] AS 'Used (%)',
    F AS 'Free',
    [F(%)] AS 'Free (%)',
    PhysicalName
    FROM dbo.##Tbl_CombinedInfo
    WHERE DatabaseName LIKE ISNULL(@TargetDatabase, '%')
    ORDER BY DatabaseName ASC, type ASC;
    SELECT CASE WHEN @Unit = 'GB' THEN 'GB' WHEN @Unit = 'KB' THEN 'KB' ELSE 'MB' END AS 'SUM',
    SUM (T) AS 'TOTAL', SUM (U) AS 'USED', SUM (F) AS 'FREE' FROM dbo.##Tbl_CombinedInfo;
    END
    IF UPPER(ISNULL(@Level, 'DATABASE')) = 'DATABASE'
    BEGIN
    DECLARE @Tbl_Final TABLE (
    DatabaseName sysname NULL,
    TOTAL dec (10, 2),
    [=] char(1),
    used dec (10, 2),
    [used (%)] dec (5, 2),
    [+] char(1),
    free dec (10, 2),
    [free (%)] dec (5, 2),
    [==] char(2),
    Data dec (10, 2),
    Data_Used dec (10, 2),
    [Data_Used (%)] dec (5, 2),
    Data_Free dec (10, 2),
    [Data_Free (%)] dec (5, 2),
    [++] char(2),
    Log dec (10, 2),
    Log_Used dec (10, 2),
    [Log_Used (%)] dec (5, 2),
    Log_Free dec (10, 2),
    [Log_Free (%)] dec (5, 2) );
    INSERT INTO @Tbl_Final
    SELECT x.DatabaseName,
    x.Data + y.Log AS 'TOTAL',
    '=' AS '=',
    x.Data_Used + y.Log_Used AS 'U',
    (x.Data_Used + y.Log_Used)*100.0 / (x.Data + y.Log) AS 'U(%)',
    '+' AS '+',
    x.Data_Free + y.Log_Free AS 'F',
    (x.Data_Free + y.Log_Free)*100.0 / (x.Data + y.Log) AS 'F(%)',
    '==' AS '==',
    x.Data,
    x.Data_Used,
    x.Data_Used*100/x.Data AS 'D_U(%)',
    x.Data_Free,
    x.Data_Free*100/x.Data AS 'D_F(%)',
    '++' AS '++',
    y.Log,
    y.Log_Used,
    y.Log_Used*100/y.Log AS 'L_U(%)',
    y.Log_Free,
    y.Log_Free*100/y.Log AS 'L_F(%)'
    FROM
    ( SELECT d.DatabaseName,
    SUM(d.T) AS 'Data',
    SUM(d.U) AS 'Data_Used',
    SUM(d.F) AS 'Data_Free'
    FROM dbo.##Tbl_CombinedInfo d WHERE d.type = 'Data' GROUP BY d.DatabaseName ) AS x
    JOIN
    ( SELECT l.DatabaseName,
    SUM(l.T) AS 'Log',
    SUM(l.U) AS 'Log_Used',
    SUM(l.F) AS 'Log_Free'
    FROM dbo.##Tbl_CombinedInfo l WHERE l.type = 'Log' GROUP BY l.DatabaseName ) AS y
    ON x.DatabaseName = y.DatabaseName;
    IF @Unit = 'KB'
    UPDATE @Tbl_Final SET TOTAL = TOTAL * 1024,
    used = used * 1024,
    free = free * 1024,
    Data = Data * 1024,
    Data_Used = Data_Used * 1024,
    Data_Free = Data_Free * 1024,
    Log = Log * 1024,
    Log_Used = Log_Used * 1024,
    Log_Free = Log_Free * 1024;
    IF @Unit = 'GB'
    UPDATE @Tbl_Final SET TOTAL = TOTAL / 1024,
    used = used / 1024,
    free = free / 1024,
    Data = Data / 1024,
    Data_Used = Data_Used / 1024,
    Data_Free = Data_Free / 1024,
    Log = Log / 1024,
    Log_Used = Log_Used / 1024,
    Log_Free = Log_Free / 1024;
    DECLARE @GrantTotal dec(11, 2);
    SELECT @GrantTotal = SUM(TOTAL) FROM @Tbl_Final;
    INSERT INTO [YOURDATABASENAME].[dbo].[DBSize]
    ([Weight]
    ,[DBName]
    ,[Used]
    ,[Free]
    ,[Total]
    ,[Data]
    ,[Data_Used]
    ,[Log]
    ,[Log_Used]
    ,[DT])
    SELECT
    CONVERT(dec(10, 2), TOTAL*100.0/@GrantTotal) AS 'WEIGHT (%)',
    DatabaseName AS 'DATABASE',
    CONVERT(VARCHAR(12), used) AS 'USED',
    CONVERT(VARCHAR(12), free) AS 'FREE',
    TOTAL,
    CONVERT(VARCHAR(12), Data) AS 'DATA',
    CONVERT(VARCHAR(12), Data_Used) AS 'DATA_USED',
    CONVERT(VARCHAR(12), Log) AS 'LOG',
    CONVERT(VARCHAR(12), Log_Used) AS 'LOG_USED',
    GETDATE()
    FROM @Tbl_Final
    WHERE DatabaseName LIKE ISNULL(@TargetDatabase, '%')
    ORDER BY DatabaseName ASC;
    IF @TargetDatabase IS NULL
    SELECT CASE WHEN @Unit = 'GB' THEN 'GB' WHEN @Unit = 'KB' THEN 'KB' ELSE 'MB' END AS 'SUM',
    SUM (used) AS 'USED',
    SUM (free) AS 'FREE',
    SUM (TOTAL) AS 'TOTAL',
    SUM (Data) AS 'DATA',
    SUM (Log) AS 'LOG'
    FROM @Tbl_Final;
    END
    RETURN (0)
    GO
    USE [YOURDATABASENAME]
    GO
    /****** Object: Table [dbo].[DBSize] Script Date: 04/22/2015 09:49:10 ******/
    SET ANSI_NULLS ON
    GO
    SET QUOTED_IDENTIFIER ON
    GO
    SET ANSI_PADDING ON
    GO
    CREATE TABLE [dbo].[DBSize](
    [UID] [int] IDENTITY(1,1) NOT NULL,
    [Weight] [decimal](18, 2) NULL,
    [DBName] [varchar](250) NULL,
    [Used] [decimal](18, 2) NULL,
    [Free] [decimal](18, 2) NULL,
    [Total] [decimal](18, 2) NULL,
    [Data] [decimal](18, 2) NULL,
    [Data_Used] [decimal](18, 2) NULL,
    [Log] [decimal](18, 2) NULL,
    [Log_Used] [decimal](18, 2) NULL,
    [DT] [datetime] NULL,
    CONSTRAINT [PK_DBSize] PRIMARY KEY CLUSTERED
    [UID] ASC
    )WITH (PAD_INDEX = OFF, STATISTICS_NORECOMPUTE = OFF, IGNORE_DUP_KEY = OFF, ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON) ON [PRIMARY]
    ) ON [PRIMARY]
    GO
    SET ANSI_PADDING OFF
    GO

  • How to find the number of references created for a given  object ??

    How to find the number of references created for a given object in a big application environment.
    That means, if i give any object name (of my application) as input, then how can i find the[b] number of references created for that particular object ??

    Please do not post the same question multiple times.
    As for your original question, there is no direct way to do it.
    Especially not the way you phrased it,
    since objects don't have "names".
    Applications also don't have "names".
    They have classes and instances.
    Also, there are 2 related issues, and I'm not sure which one is the one you asked.
    #1. Finding the number of references to the same object.
    Eg.
    Map<String,String> a = new HashMap<String,String>();
    Map<String,String> b = new HashMap<String,String>();
    Map<String,String> c = a;In this case, there are only 2 objects.
    The first object has (at least) 2 references pointing to it.
    The second object has (at least) 1 reference pointing to it.
    (There may be more, if the HashMap library keeps
    references to these things, or if the HashMap object has
    some internal cyclic references...)
    If you're asking this, then it can't be done.
    It's an active research topic in universities
    and software research labs, called "alias analysis".
    Type it in google, and you'll see people are working hard
    and having little success so far.
    #2. Finding the number of instances created from a class.
    In this case, what you have to do is to add a counter to
    the constructor of the class. Every time an object is constructed,
    you increment the counter. Like this:
       class MyClass
           public static int counter = 0;
           public MyClass( )  { counter++; }
        // Then later in your program, you can do this:
        MyClass a = new MyClass();
        MyClass b = new MyClass();
        System.out.println(MyClass.counter); // It should show 2Note: you won't be able to do this to every class in the system.
    For every class you care about, you have to modify its constructor.
    Also: when an object is deleted, you won't always know it
    (and thus you won't always be able to decrement the counter).
    Finalizers cannot always work (read Joshua Bloch's
    "Effective Java" book if you don't believe me), but basically
    (1) finalizers will not always be called, and
    (2) finalizers can sometimes cause objects to not be deleted,
    and thus the JVM will run out of memory and crash

  • How to find the count of tables going for fts(full table scan in oracle 10g

    HI
    how to find the count of tables going for fts(full table scan) in oracle 10g
    regards

    Hi,
    Why do you want to 'find' those tables?
    Do you want to 'avoid FTS' on those tables?
    You provide little information here. (Perhaps you just migrated from 9i and having problems with certain queries now?)
    FTS is sometimes the fastest way to retrieve data, and sometimes an index scan is.
    http://asktom.oracle.com/pls/asktom/f?p=100:11:0::::P11_QUESTION_ID:9422487749968
    There's no 'FTS view' available, if you want to know what happens on your DB you need, like Anand already said, to trace sessions that 'worry you'.

  • How to find the number of idocs generated for a customer on the basis of his purchase order in a day ?

    How to find the number of idocs generated for a customer on the basis of his purchase order in a day ?

    Dear Friends,
    I am absolutely agree with your answer .
    But my question is,
    Lets say.....
    One customer sending X number of purchase orders in a day , so how many IDocs generated on that specific day for that specific customer .
    So, Question is , How can we find the no of sales orders(IDocs) generated for the customers on the specific day ?
    Hope you all understood my requirement .
    Thanks & Regards,
    Aditya

  • How to find the WebUrl alert was raised for external network

    I have two weburl's requestes to monitor under SCOM2007 R2
    url one:  https://www.asdftest.com
    url two:  https://www.lkjhtest.com
    "url one" is configured to access the weburl from internal network and external network(internet) as well.
    "url two" is not configured to access from external network(internet). only configured for for internal network.
    I have configured for scom monitoring for the above two urls using the SCOM 2007 R2 web application template. After configuration i have not received any alert from the "Url Two"
    Q1). I am expecting an alert for "Url two" because it is not configured for external network access. 
    why i was not received any alert for that.
    Q2). How to find an web Url alert is raised for internal network or external network. SCOM Tool is not asked me to specify that the weburl is is from internal/external network access.
    Q3). Particularly how to find the Url alert was raised for external network
    please suggest me and correct me if i am wrong. 
    Thanks in advance.

    Hi,
    Please refer to your another thread:
    http://social.technet.microsoft.com/Forums/en-US/10d32ff3-d1a5-4875-b1ad-bb01a5799a33/web-url-monitoring-internalexternal-network?forum=operationsmana
    Regards,
    Yan Li
    Regards, Yan Li

  • How to find the customer ledger account display for profit centerwise

    Dear All,
    how to find the customer ledger account display for profit centerwise
    Pleas give your valuable suggestion
    Regards
    Vishwajeet Sharma

    Hi
    check the tables
    A959
    A962
    A997
    The assignment depends on so many things
    with respect to which transaction you wants the PRCTR field for KUNNR?
    Regards
    Anji

  • How to find the TCODE that is created for the table maintanance generator

    Hi ,
    How to find the TCODE that is created for the table maintanance generator of particular table,if we only know the table name.
    Regards
    Ramakrishna L

    Hello,
    I try it this way
    1. Goto SE16 --> enter table TSTCP.
    2. In the selection-screen displayed, enter
    PARAM = *<ZTABNAME>*
    You will get the t-code for the TMG.
    BR,
    Suhas
    PS: Are you sure a t-code has been created for this TMG ?

  • How to find a perticular t.codse used in last 6 months

    Hi All,
    can anyone let us know how to find a perticular t.codse used in last 6 months.
    Regards!!

    Hi,
    Its all depends on the settings has done for transaction ST03N.
    If it has explicitly set to last 6 months then you can find in the left hand side transaction profile coloumn of ST03N.
    If not you can set it  by the following way:
    ST03N>goto collector and perfomrance DB>monitoring database-->Reorganisation
    Thank you,
    Tilak

  • How to find the grants given to user for package/procedure?

    Hi all,
    how to find the grants in oracle for what all are the grants a user is having for package and procedure?
    Thanks & Regards,
    M.Murali..

    M. Murali
    Questions like this are asked over and over again on numerous sites on the Internet, including this forum, and answered.
    You are aware this forum has a 'Search Forum' button?
    PLEASE USE IT and STOP asking FAQ and DOC questions!!!!!!!!!!!!!!!!!!!
    Sybrand Bakker
    Senior Oracle DBA
    Experts: those who did read the documentation

  • How to find the cpu usage per query for a time period

    Hi All,
    Is there a way to find the cpu used per query for a given time period?
    DB:10.2.0.5
    OS:AIX
    Thanks

    user13364377 wrote:
    if there are multiple queries starting at the same time, then what to do?Handle:      user13364377
    Status Level:      Newbie (10)
    Registered:      Jul 5, 2010
    Total Posts:      264
    Total Questions:      113 (84 unresolved)
    why so many unanswered questions?
    clarify your question
    same SQL multiple times from different sessions?
    or
    different SQLs from different sessions?

  • How to get Maximum Number of Concurrent users for last few days?

    Hi,
    How I can get maximum number of concurrent users which were logged in to the system (ECC 5.0) I mean I want to check the hostory for last few weeks. Is there any way to get the same? I know that I can get Cumulative number of users in st03 under Expert mode but that is the number of users logged into the system during the day. Is there any place where SAP maintians the High Watermark of Number of concurrent users reached in the system?
    Thanks in advance...
    Regards,
    Pravin

    Sorry I really missed that I have posted a question here on sdn. I wanted to know this for planning the system hardware requirements. Activities like PM ( Performance Management ) happens once a year and during that activity we see heavy user loan on the system so if I have the exact stats of 1 or 2 years data I can size the system better next time. Fortunately last 2 years PM was very smooth for us. In that look for the improvement because each time we had little extra Harware. By doing the exact analysis we can save a Cost of ownership...
    I was looking for R/3 users. I could see the number in st07 but I want to know the exact number at particular time.. I believe that st07 stores only for few days.
    Thanks
    Pravin

  • Does it harm the battery if the macbook stays turned off for a few months?

    I might be in a situation where I will not use my macbook for a few months. A family member may use it occasionally, but it would be turned off most of the time. Does this hurt the battery or other aspects of computer performance?

    From the User Manual: "Storing your MacBook If you are going to store your MacBook for an extended period of time, keep it in a cool location (ideally, 71° F or 22° C) and discharge the battery to 50 percent. When storing your computer for longer than five months, discharge the battery to approximately 50 percent and then remove it from your MacBook. To maintain the capacity of the battery, recharge the battery to 50 percent every six months or so."

  • How to find the worst cluf having indexes? on 10gR2

    If the clustering factor(dba_index.clustering_factor) value is close to number of rows of the related table(dba_table.num_rows) this shows bad clustering_factor(CLUF) where as if CLUF is close to the number of blocks of that related table than this shows good CLUF.
    So how may I find the indexes having the worst CLUF valuse in my database. Looking for an SQL operator which produces this "close to" output;
    create table tdba_indexes nologging parallel 4 pctused 99 pctfree 1 as
    SELECT t2.owner, t2.table_name, index_name, clustering_factor, t2.num_rows, t2.blocks, t2.sample_size
      FROM dba_indexes t1, dba_tables t2
    WHERE clustering_factor > 0
       AND t1.owner NOT IN ('SYS', 'SYSTEM')
       AND t2.owner NOT IN ('SYS', 'SYSTEM')
       and t1.owner = t2.owner
       and t1.table_name = t2.table_name
       AND t2.blocks > 0
    ORDER BY clustering_factor DESC ;
    create table tcluf_bad nologging parallel 4 pctused 99 pctfree 1 as 
    SELECT *
      FROM (SELECT CASE
                      WHEN a_sql_operator_needed_here_for_close_to_determination THEN
                       'BAD'
                      ELSE
                       'NOT SO BAD'
                   END AS "CLUF",
                   abs(clustering_factor / num_rows) ratio1,
                   abs(clustering_factor / blocks) ratio2,
                   t.*
              FROM tdba_indexes t)
    WHERE cluf = 'BAD' ;Thank you.

    John thank you for your comments. You are right, making structural changes on a table(like CTAS with ORDER BY parallel to the bad CLUF indexes' columns sort) may introduce new problems for other queries involved with other indexes.
    This is not a good approach after all. What I am trying is to reduce he high db file sequntial read waits on my CRM database.
    http://www.perfvision.com/wait/db_file_sequential_read.html
    My primary focus must be SQL and Application tuning to reduce the logical i/o amounts of these queries which are the root cause of this wait. But also I saw that these queries have high CLUF values and doing INDEX RANGE SCAN and this kind of a change may also helpful.
    In order to find the root cause queries of this wait I am planning to use this query, can I also have your comments on this;
    SELECT a.sql_text, t.*
      FROM (SELECT tt.*
              FROM (SELECT rownum rn, x.*
                      FROM (SELECT a.sql_text, a.user_io_wait_time, a.executions, a.sql_id
                              FROM v$sqlstats a
                             WHERE user_io_wait_time > 0
                               AND executions > 10
                             ORDER BY a.user_io_wait_time DESC) x) tt
             WHERE rn < 11) a,
           TABLE(dbms_xplan.display_cursor(a.sql_id,
                                           NULL,
                                           'ALL')) t
    WHERE plan_table_output LIKE '%INDEX%RANGE%SCAN%';Best regards.
    Message was edited by:
    antu

  • How-To Find the R/3 Table Name for a BW Data Source

    Hi there,
      Please advice how can I find the respective table name in R/3 for a particular BW DataSource ?
      P/S : I would like a technical how-to instead of referring the table names at HELP.SAP.COM
      For instance, for my Standard Business Content Info Cube 0CCA_C03(CO-OM-CCA: Statistical Key Figures) which extracts from BW Data Source: 0CO_OM_CCA_4
      My question is, how can I find out which specific tables in SAP R/3 is this Data Source pulling the data from ?

    Hi Dinesh,
       Data Source: 0CO_OM_CCA_4
       1) In my R/3, I ran SE16 : Table -> ROOSOURCE
       2) OLTPSOURCE -> 0CO_OM_CCA_4
       3) EXMETHOD = F1
         (Hence, I assume the Extraction Method is a Function Module)
       4) So, Function Module = BWOM_RS_GET_CTRSTA
       5) Run SE37 in R/3
          How do I find out the specific tables in this Function Module ?
          Would you please list them for me, so I can further refer to the individual tables ?

Maybe you are looking for