Portal Pages have empty records generated with a view that looks like _1 or _2 and the number increases in order. It is unclear what generates these records.
What seems to happen is that some how the customer may have inadvertently deleted the sys_portal_page related to a tab on the dashboard.
On the pa_tabs page, the sys_portal_page records is mandatory and is required to be there but there is no check done if it gets deleted.
When a dashbaord is duplicated and the pa_tabs records does not have a sys_portal_page, it does not know how to handles this since it expects a portal page to be there, so it will create a empty record as well as creating another pa_tab that does not have a page.
Steps to Reproduce
Tested and reproduced in Paris and Orlando
1. Go to Self-Service -> Dashboards
2. Select a dashboard (ex. Incident Management)
3. Add two new tabs by clicking configure on the right and clicking the plus sign to add the tabs
4. Go to sys_portal_page_list.do and sort by created date and you will see the most recent pages that were created (View name something like Incident Management - New Tab 5)
5. Delete both of these portal pages
6. Go to Dashboard and in the left corner to the Dashboard controls and in the drop down menu select Duplicate Dashboard
7. Wait a moment until the dashboard has the name Copy infront of it
8. Go to Portal Pages and notice that multiple empty portal page records are created with view of _1 or _2 or empty
Workaround would be along the lines of ensuring referential integrity between pa_tabs and sys_portal_page record. An example would be to create a before insert business rule on the sys_portal_page table that checks if the page is being referenced in a tab. If the page is referenced in a tab then the delete transaction should be canceled.
Related Problem: PRB1444497