How to create and drop partitions automatically?

How to create and drop partitions automatically?
The environment is Oracle 10g(10.2.0.3) on the RHEL4.0 system.
I want to partition the MESSAGE table by date (NUMTODSINTERVAL(1,'DAY') ). One partition per day. Because the table is huge, only 2 partitions (today and yesterday's data) are necessary to be kept online. All the partitions that earlier than the previous day will be backed up and then dropped. I want to make the partition creating and dropping jobs run automatically. How to do it?
Thank you

junez wrote:
How to create and drop partitions automatically?
The environment is Oracle 10g(10.2.0.3) on the RHEL4.0 system.
I want to partition the MESSAGE table by date (NUMTODSINTERVAL(1,'DAY') ). One partition per day. Because the table is huge, only 2 partitions (today and yesterday's data) are necessary to be kept online. All the partitions that earlier than the previous day will be backed up and then dropped. I want to make the partition creating and dropping jobs run automatically. How to do it?With 11g, new partitions can automatically be created.
With 10g, you need to do that yourself. I prefer to create a "buffer" of future partitions - in case the job whose task it is to add new partitions gets held up or stuck. Or the job queue is full due to some problem and it does not get the chance to execute in time.
I dislike your partitioning criteria. I prefer using the date directly and not mangling it to something else. If a specific day has a large volume of data, then another option is to use hourly date ranged partitions. With local partitioned indexes and the date time range used for querying, this can be quite effective performance wise.
As for partitioning maintenance - I use a custom written partitionManager PL/SQL package that provides an interface for adding daily and hourly partitions to a table. Input parameters are for example name of the table, start date and the number of partitions to add. Similarly it provides interfaces for aging partitions - again by specifying a table and a date-time to use as the starting point, back into time, for removing old partitions.
I typically call this code from the actual application code itself - so before a new partition will be used for example, the app code will first ensure that it has a partition to use. This is safer than a separate job as the dependency is resolved where and when it is needed - and not done as a separate task.
For example - you should have a procedure/package that provides an app the means to log a message into your MESSAGE table. As part of an autonomous transaction, this procedure can check if the required partition exists, before attempting to insert a message into the table.
Where this approach is not possible, a DBMS_JOB can be used to create future partitions - but as I mentioned, rather have it add a bunch of future (empty) partitions in case something goes pear shape with the job mechanism.

Similar Messages

  • How to create ddl for partitioning for a child table?

    Hi folks,
    I am new to the partitioning topic. I red some manuals and tutorials but I did not found exactly what I need. So I would ask for your help.
    I have two tables.
    The partitioning of the master table is clear:
    create TABLE ASP_PARTITION_TABLE_MASTER
    MASTER_ID VARCHAR2(20) NOT NULL
    , TIMESTAMP DATE
    , DATA VARCHAR2(20)
    , CONSTRAINT ASP_PARTITION_TABLE_MASTE_PK PRIMARY KEY
    MASTER_ID
    USING INDEX
    ENABLE
    PARTITION BY RANGE (TIMESTAMP)
    PARTITION PARTITION1 VALUES LESS THAN (TO_DATE('20090101','YYYYMMDD')) NOCOMPRESS
    , PARTITION PARTITION2 VALUES LESS THAN (TO_DATE('20100101','YYYYMMDD')) NOCOMPRESS
    , PARTITION PARTITION3 VALUES LESS THAN (TO_DATE('20110101','YYYYMMDD')) NOCOMPRESS
    This table should be partitioned by a timestamp.
    Now comes the difficulty:
    I have a child table which has the master_id as foreign key. The slave table should also be partitioned by the timestamp - but this one occurs only in the master table.
    CREATE TABLE ASP_PARTITION_TABLE_SLAVE
    SLAVE_ID VARCHAR2(20) NOT NULL
    , FK_MASTER_ID NUMBER(10)
    , DATA1 VARCHAR2(20)
    , DATA2 VARCHAR2(20)
    , COLUMN1 VARCHAR2(20)
    , CONSTRAINT ASP_PK_SLAVE PRIMARY KEY
    SLAVE_ID
    ENABLE
    ALTER TABLE ASP_PARTITION_TABLE_SLAVE
    ADD CONSTRAINT ASP_FK_MASTER_IS FOREIGN KEY
    SLAVE_ID
    REFERENCES ASP_PARTITION_TABLE_MASTER
    MASTER_ID
    ON DELETE CASCADE ENABLE;
    How can I create such a range partition for the slave table?
    PS: Currently we are using oracle 10.2 but we will upgrade to oracle 11g in near future.
    Thanks in advance,
    Andreas

    @sb92075:
    seems if I should give more details:
    the parent table is holding the master_id, the timestamp and plenty of general information which is valid for all children.
    Each parent has between 5 and 50 children which contain different data items. So our child table is much bigger than the parent table.
    Our selects are joining parent and child table filtered by the timestamp and some other indexed rows, so we are not saving the same timestamp redundantly.
    @bluefrog
    With the partitioning we would like to reach the following goals:
    1. gain more performance (quicker response time)
    2. get the ability to archive and drop partitions which are older than a specific timestamp. (We only need to keep the data of the last 1.5 years so we would like to drop the complete partition / tablespace instead of using a delete-statement which generates much load (transaction, archive, logging)).
    Thank you for your links. I will have a look on it.
    But due to the archiving issue we would also like split up the child table by the timestamp of the parent table.
    Regards, Andreas

  • How to drag and drop tab nodes between tab panes

    I'm working on example from this tutorial( Drag-and-Drop Feature in JavaFX Applications | JavaFX 2 Tutorials and Documentation ). Based on the tutorial I want to drag tabs between two tabs. So far I managed to create this code but I need some help in order to finish the code.
    Source
    tabPane = new TabPane();
    Tab tabA = new Tab();
       Label tabALabel = new Label("Main Component");
    tabPane.setOnDragDetected(new EventHandler<MouseEvent>()
                @Override
                public void handle(MouseEvent event)
                    /* drag was detected, start drag-and-drop gesture*/
                    System.out.println("onDragDetected");
                    /* allow any transfer mode */
                    Dragboard db = tabPane.startDragAndDrop(TransferMode.ANY);
                    /* put a string on dragboard */
                    ClipboardContent content = new ClipboardContent();
                    content.put(DataFormat.PLAIN_TEXT, tabPane);
                    db.setContent(content);
                    event.consume();
    What is the proper way to insert the content of the tab as object? Into the tutorial simple text is transferred. How I must modify this line content.put(DataFormat.PLAIN_TEXT, tabPane);?
    And what is the proper way to insert the tab after I drag the tab:
    Destination
    tabPane.setOnDragDropped(new EventHandler<DragEvent>()
                @Override
                public void handle(DragEvent event)
                    /* data dropped */
                    /* if there is a string data on dragboard, read it and use it */
                    Dragboard db = event.getDragboard();
                    boolean success = false;
                    if (db.hasString())
                        //tabPane.setText(db.getString());
                        Tab tabC = new Tab();
                        tabPane.getTabs().add(tabC);
                        success = true;
                    /* let the source know whether the string was successfully
                     * transferred and used */
                    event.setDropCompleted(success);
                    event.consume();
    I suppose that this transfer can be accomplished?
    Ref javafx 2 - How to drag and drop tab nodes between tab panes - Stack Overflow

    I would use a graphic (instead of text) for the Tabs and call setOnDragDetected on that graphic. That way you know which tab is being dragged. There's no nice way to put the Tab itself into the dragboard as it's not serializable (see https://javafx-jira.kenai.com/browse/RT-29082), so you probably just want to store the tab currently being dragged in a property.
    Here's a quick example; it just adds the tab to the end of the current tabs in the dropped pane. If you wanted to insert it into the nearest location to the actual drop you could probably iterate through the tabs and figure the coordinates of each tab's graphic, or something.
    import java.util.Random;
    import javafx.application.Application;
    import javafx.beans.property.ObjectProperty;
    import javafx.beans.property.SimpleObjectProperty;
    import javafx.event.EventHandler;
    import javafx.scene.Scene;
    import javafx.scene.control.Label;
    import javafx.scene.control.Tab;
    import javafx.scene.control.TabPane;
    import javafx.scene.input.ClipboardContent;
    import javafx.scene.input.DragEvent;
    import javafx.scene.input.Dragboard;
    import javafx.scene.input.MouseEvent;
    import javafx.scene.input.TransferMode;
    import javafx.scene.layout.StackPane;
    import javafx.scene.layout.VBox;
    import javafx.stage.Stage;
    public class DraggingTabPane extends Application {
      private static final String TAB_DRAG_KEY = "tab" ;
      private ObjectProperty<Tab> draggingTab ;
    @Override
      public void start(Stage primaryStage) {
      draggingTab = new SimpleObjectProperty<>();
      TabPane tabPane1 = createTabPane();
      TabPane tabPane2 = createTabPane();
      VBox root = new VBox(10);
      root.getChildren().addAll(tabPane1, tabPane2);
      final Random rng = new Random();
      for (int i=1; i<=8; i++) {
        final Tab tab = createTab("Tab "+i);
        final StackPane pane = new StackPane();
          int red = rng.nextInt(256);
          int green = rng.nextInt(256);
          int blue = rng.nextInt(256);
        String style = String.format("-fx-background-color: rgb(%d, %d, %d);", red, green, blue);
        pane.setStyle(style);
        final Label label = new Label("This is tab "+i);
        label.setStyle(String.format("-fx-text-fill: rgb(%d, %d, %d);", 256-red, 256-green, 256-blue));
        pane.getChildren().add(label);
        pane.setMinWidth(600);
        pane.setMinHeight(250);
        tab.setContent(pane);
        if (i<=4) {
          tabPane1.getTabs().add(tab);
        } else {
          tabPane2.getTabs().add(tab);
      primaryStage.setScene(new Scene(root, 600, 600));
      primaryStage.show();
      public static void main(String[] args) {
      launch(args);
      private TabPane createTabPane() {
        final TabPane tabPane = new TabPane();
        tabPane.setOnDragOver(new EventHandler<DragEvent>() {
          @Override
          public void handle(DragEvent event) {
            final Dragboard dragboard = event.getDragboard();
            if (dragboard.hasString()
                && TAB_DRAG_KEY.equals(dragboard.getString())
                && draggingTab.get() != null
                && draggingTab.get().getTabPane() != tabPane) {
              event.acceptTransferModes(TransferMode.MOVE);
              event.consume();
        tabPane.setOnDragDropped(new EventHandler<DragEvent>() {
          @Override
          public void handle(DragEvent event) {
            final Dragboard dragboard = event.getDragboard();
            if (dragboard.hasString()
                && TAB_DRAG_KEY.equals(dragboard.getString())
                && draggingTab.get() != null
                && draggingTab.get().getTabPane() != tabPane) {
              final Tab tab = draggingTab.get();
              tab.getTabPane().getTabs().remove(tab);
              tabPane.getTabs().add(tab);
              event.setDropCompleted(true);
              draggingTab.set(null);
              event.consume();
        return tabPane ;
      private Tab createTab(String text) {
        final Tab tab = new Tab();
        final Label label = new Label(text);
        tab.setGraphic(label);
        label.setOnDragDetected(new EventHandler<MouseEvent>() {
          @Override
          public void handle(MouseEvent event) {
            Dragboard dragboard = label.startDragAndDrop(TransferMode.MOVE);
            ClipboardContent clipboardContent = new ClipboardContent();
            clipboardContent.putString(TAB_DRAG_KEY);
            dragboard.setContent(clipboardContent);
            draggingTab.set(tab);
            event.consume();
        return tab ;

  • How to create check in batch automatically after automatic payment program

    Hello
    SAP Experts i am getting a  issue
    how to create check in batch automatically after automatic payment program ( t code is f110)
    Thanks & Regards
    Narendra.G

    Hi Narendra,
    Please note the process below for cheque Printing:-
    1. The pre requisite for Cheque printing is you have used program RFFOUS_c/or the Z version of this program in FBZP and that you have maintained the form name in the field Form name for Payment medium in FBZP.
    2. You have a pre printed stationary on which you want to print and the Program & the form has been modified to print as per this.
    3. In F110, you must have assigned the Variant name, which would specify the cheque lot no. and this should exactly match with the current cheque no. in the pre printed stationary.
    4. Now, after all this setting, when you run Payment run in F110, then also only the Payment documents are posted but the cheque no.s are not updated in the Payment document no. nor the PAYR table is updated. It is only when you run the Print out tab, that a spool is created in SP01 for cheque printing as per the Payment documents.
    5. Then in SP01, you can print the spool on your pre printed stationary.
    This is the complete process of printing cheques from F110. Hope this helps..
    Regards,
    SAPFICO

  • How to drag and drop the af:inputNumberSpinbox in the control panel

    Hi,
    I am using jdev 11.1.1.4.0
    I need the component as <af:inputNumberSpinbox> . Create a data model and how to drag and drop as inputNumberSpinbox in the data control.
    normally drog and drop the particular attribute as inputText box only. I want <af:inputNumberSpinbox>.
    anythig want to change in the view object control hints itself. help me.
    Regards,
    ragupathi S.
    Edited by: Ragu on Jun 22, 2011 4:45 PM

    Hi,
    Can't you drop it as an inputText and then change it in the source to inputNumberSpinbox?
    Regards,
    Stijn.

  • How to drag and drop a picture at run time in a window displaying pictures?

    How to drag and drop a picture at run time in a window displaying pictures on the front panel. The main thing is that the window is displaying frames continuously?

    vivman,
    So from your description you have a picture control where you've already created an image and you'd like to drag an image around inside of the picture control. This can be done although it is going to take a significant amount of research and programming on your behalf. You can use the drag event in the event handler to find out when the drag occurs and where the cursor is. Then edit the picture as you move your mouse so that when you drop the picture gets updated.
    The even structure is a somewhat advanced topic and the drag and drop feature is one of the more advanced uses of this structure. I would search the example finder (help>>find examples) for "event" and "drag" to see how to use these events. Also you'll want to look at the examples for the picture control.
    Sounds like a cool project! Check out Darren's Weekly Nugget 10/30/2006 this topic (http://forums.ni.com/ni/board/message?board.id=170&message.id=212920). It might prove useful.
    Good luck!
    Chris C
    Chris Cilino
    National Instruments
    LabVIEW Product Marketing Manager
    Certified LabVIEW Architect

  • How to Create and Deploy Web Services Using Oracle 9i JDeveloper

    Hi,
    My Question is how to create and deploy Web Services using Oracle 9i JDeveloper.Anybody please give me a detailed Reply.Please Reply to [email protected]
    Hopr to Hear From you,
    Regards,
    G Sreekumar

    You could use datasources. You should do this in your BC4J Configuration. Then when deploying your applicaiton use the command -installDataSource (from admin.jar) to create the right datasource.
    You could probably use the name of your connection + "DS" so you can also use it locally in JDeveloper as JDev seesm to create this automaticly for your Connections.

  • How to drag and drop user from one node to other node.

    Dear All,
    How to drag and drop user from one node to other node.I tried but no success.
    What are precautions to be taken.
    Cay anybody kindly explain it.
    Thank you.

    Hello, if you had this message you had created BP....
    Now you don't have to user USERS_GEN this transaction is used only in first action, when you create the user in R/3 and then you pass this user to EBP in the organizational structure.
    Now you have to:
    1) Go to PPOMA_BBP
    2) Double click on organizational unit that you want to put this user (purchasing organization or purchasing group box for example)
    3) Select assign button in the top of the functions in the transaction
    4) Click on incorporates -- position
    5) Put userID that you want to add in this organizational unit
    6) Click Save
    Thanks
    Rosa

  • How to create a new partition

    i just got a new thinkpa. i would like to know how to create a new partition. 
    i tried partition magic 8.0 and it gave me BSoDs. please let me know. thanks. 
    thinkpad t400 t9400
    2gb ram
    windows sp3
    160gb 7200 rpm

    folivio wrote:
    I'm not an expert, but I partitioned the C: drive and made a partition for Windows 8. It worked perfectly as a multi-boot setup.
    A word of caution...Make sure that you want to make it a permanent change. When I removed the Win 8 partition and tried to restore my system to factory settings, I could not get the F2 during restart to work. F2 now brings up the multi-boot screen. So I tried to restore using the DVD Restore Set I made before I did anything to the partitions. I was able to boot to the DVD Restore Set by using the F12 key during restart and selecting the BDDVD drive. It looked like it was going to work, but after it loaded the minmum Windows files and I clicked on Restore, I got an error stating that the partition had changed and I could not restore.
    I contacted tech support and they are sending me a disc to restore the system.
    Regards
    Thanks for the heads up. I'd like to use the SSD for installing Windows 8. It seems to have about 25GB free. Isn't that a better place to install the OS? I am not sure why the bigger drive is marked as C: and the small, faster one as D: :-(

  • How to create and install a toolbar to a browser using java

    Hi all,
    Can any one guide me about how to create and install toolbar to a browser using java ??
    please any one help me about this,i am not getting any idea about this..
    Thanks and Regards
    Sandesh S

    I doubt you can. Those browser toolbars are done by implementing to an API provided by the browser. That API, I don't believe, is provided via Java. But of course, that would be entirely up to the browser, not Java.

  • How to create and execute a function whose return value is  a table

    hi folks ,
    i would like know how to create and execute a function whose return value is a table ,
    am new to pl/sql ,
    my statement for the function is
    SELECT ct.credential_code, c.expiration_date
    FROM certifications c, credential_types ct
    WHERE ct.crdnt_id = c.crdnt_id
    AND c.person_id = person_id;
    i would like to have the result of the above query as return value for the function.
    Thanks in advance ,
    Ashok.c

    hi Ps ,
    Can you please do small sample ,
    that would help me in clear understanding
    thanks in advance
    ashok.c

  • How to create and call a COM component in Java

    Hi All,
    can you suggest how to create and call a COM component..or if have any sample simple application can you send it to me...i will try to develop my project.
    actually i am configuring a OCR Engine using SDK which is in VB .Net when i contacted their support they told that if i have any sample COM based component Project they will help me...
    So please can you help in this.
    Thanks in advance.

    As said by my fellow posters Java Devolopment Environment (Except Microsoft implementation of JVM,this is no longer supported by MS themseleves) does not provide an built-in support to serve this cause.
    If you are looking to devolop a custom based solution the below is a good place to start with where end user is talking about Java <=> JNI <=> Native <=> COM connectivity.
    [http://bloggershetty.blogspot.com/2004/12/java-jni-com-activex-bridge-lots-of.html]
    However,if you are looking for ready made solutions ?
    Implementation any one of the solutions stated below might serve your cause.
    Open Source Solutions:
    [http://j-interop.org/]
    [http://www.danadler.com/jacob/]
    Commercial Solutions:
    [http://javacombridge.com/]
    [http://www.jnbridge.com/]
    [http://www.nevaobject.com/j2cdetails.asp?kw=java%20com%20bridge]
    [http://j-integra.intrinsyc.com/]
    Hope this might help :)
    REGARDS,
    RaHuL

  • How to Create and Test a Zone of Type F1-APP-URL

    Hi,
    I would like to how to create and test a Zone of Type F1-APP-URL?
    What all is required to setup an ADF application based URL in F1-APP-URL, what to configure and what are the basics or definite steps required to have a Zone of Type F1-APP-URL up and running in the application? Any Sample ADF components to be created?
    Please kindly let me know. Any test or dummy URL existing already which is based on ADF?

    Refer to Doc. Id 1515146.1 on the support site. Although for the moment it refers to a MWM example and may not be much of a help but it'd give a basic idea as to how it should be done.

  • How to create and implement a new work schedule rule successfully?

    Dear Community,
    How to create and implement a new work schedule rule successfully?
    In other words, what are all the basic steps to create and implement a new work schedule rule successfully?
    Thanks in advance.

    Hi,
    Follow the below steps to create Work Schedule:
    Holiday Calendar
    Transaction Code: SCAL
    Holiday calendar comprises of list of paid holidays to be given to employees on festivals by the company.
    Personnel Area/SubArea Groupings
    Go to SPRO --> Time Management --->Work Schedules --> Personnel SubArea Groupings
    Maintain perosnnel area/Subarea groupings for work schedule.
    i.e. Suppose in Mumbai you have WS = GEN ( 10 to 6) and in Chennai you have WS = NORM ( 8 to 4 )
    Work Schedule
    Go to SPRO --> Time Management --->Work Schedules -->Daily Work Schedules
    Go to SPRO --> Time Management --->Work Schedules -->Period Work Schedules
    Daily Work Schedule is actually your office timings with breaks (paid /unpaid) i.e. Planned Working Time which is then included
    in Period Work Schedule to make a week ( M T W T F S S )
    Daily Work Schedule (i.e. Day) -
    > Period Work Schedule (i.e. Week)
    Work Schedule Rules
    Go to SPRO --> Time Management --->Work Schedules -->Work Schedule Rules and Work Schedules
    After doing above mentioned configurations,maintain employee group/subgroup groupings in which you have to define which calendar is applicable for which type of employees for which work schedule.
    You will maintain this work schedule in infotype 0007 - Planned Working Time of employee via transaction code - PA30

  • How to create and maintain a backup catalog, separate from default  location,  on and external HD

    How to create and maintain a backup catalog on a separate hd - separate from default location of the catalog?

    Simply copy the LR catalog backup file to another location. It’s quite small and only contains metadata e.g. your edit develop settings, keywords, captions, titles and camera exif data etc.
    The LR backup does not physically copy your image files. So make sure you have a separate system backup for your photo files and folders.

Maybe you are looking for

  • Can we show custom error message if the user fail to log in MII system.

    Hi, Is it possible to show a custom error message when a log in is failed because of access restrictions? I am using xMII version 11.5 Thanks Regards, Neha Maheshwari

  • How can i make higher resolution titles?

    i am working on a dvd that will be nationally produced through churches all over america and most likely the world and everything is going great (now that i bought more RAM...) but i am using just very basic titles for the dvd but they look so pixela

  • Can I use my nano with Mac & Windows?

    I have a new nano, and was using it on my Mac until that crashed. I have alot of music on it and want to use it on my kid's pc (windows), but the PC is ignoring it. Shouldn't it work on both machines? help..............

  • The agent inbox doesnu2019t display email

    Hi Gurus, I need to customizing the email inbound in agent inbox, but I cannot see the email in agent inbox only can see it in the E-mail Inbox with salespro business rol. I did the following: 1.- I created a user MAILADM with the Email (emailin@comp

  • Concatente field from table with node keys

    HI All I have table like the following and i need to concatenate all field names that releated to given nodekey until i will get to the root Field names             parent key       node key COMPLEXNODE1               1               4 COMPLEXNODE2