fixing oracle primavera p6’s pobs syndrome
TRANSCRIPT
Fixing Oracle Primavera P6’s POBS Syndrome
Jose Pumarhttps://www.linkedin.com/in/pumar
jpumar ( at ) hotmail.com
V1.0
Mar-2016
The POBS syndrome has been around for some time; symptoms include an unintended POBS table size increase, which in turns makes XER’s considerably larger, and slows down the process of importing/exporting them.
The POBS table holds data that is never used by the tool; the table was left there accidentally, and grows over time.
Chances are that your P6 database or XER’s may be “infected” if you or P6 users in your company:
• Haven’t heard about it,
• Exchange XER’s with other users / companies, or
• Have a release of P6 which is 8.3 or earlier (*).
(*) According to Oracle support, the issue has been resolved for releases 8.4 or later of the software.
The Problem
2
A couple of ways to tell if your database or XER’s are infected:
1. While exporting or importing an XER, the progress bar will show a reference to POBS data being imported / exported (it shouldn’t)
2. Size of XER’s is unusually large –the snippet below shows the size prior and after scrubbing an infected XER file
The Problem (cont’d)
3
If you need a solution, this is what you have to do:
1. Scrub all incoming/outgoing XER’s until you can implement prescription 2. below; after that, you should only worry about incoming XER’s.
2. Scrub your database (the solution provided here works if your database is SQL Server based, which is most likely your case).
Read on for detailed instructions.
Disclaimer: No warranty is offered or implied by providing this advice. Make sure that you backup your projects and, if possible, test the solution on a sandbox before doing it on a production database.
The Solution
4
1. Scrubbing XER’s
1. Open Windows’ Notepad
2. Within Notepad, click File and then Open
3. Navigate to where the infected XER is
The Solution (cont’d)
5
1. Scrubbing XER’s (cont’d)
4. Open the XER file. Note: You will need to select All Files (per the snippet below) in order for you to be able to select and open the file
The Solution (cont’d)
6
1. Scrubbing XER’s (cont’d)
5. Make sure that Word Wrap (found under Format) is unchecked, and that your Status Bar (found under View) is active. If you succeeded, your file will look like the below, with what may appear to be a lot of nonsense text (that’s OK)
The Solution (cont’d)
7
%T indicates the start of a table%F indicates the fields of the above table%R indicates the individual records of the table
Status bar
1. Scrubbing XER’s (cont’d)
6. Hit Ctrl + F and find POBS within the file; note that in the example file, it is found on line 25 (per the status bar, highlighted below); the data that is to be deleted starts at line 27 (i.e., the start of all the records in the POBS table)
The Solution (cont’d)
8
1. Scrubbing XER’s (cont’d)
7. Now type %T in the Find dialog box and click on Find Next (make sure that Direction is set to Down). By doing it, you would be looking for the start of the table after POBS, which signifies the end of the POBS records (in this case, row 6153)
The Solution (cont’d)
9
1. Scrubbing XER’s (cont’d)
8. Select all records for table POBS and delete them; in this example, I selected and deleted records from rows 27 to 6153
9. Save the file; once done, you will notice that the size of the file decreases (sometimes, substantially). If you followed these steps, step 1 is done, and you should have a healthy XER
The Solution (cont’d)
10
1. Scrubbing XER’s (cont’d)
As you may have noticed, the procedure described here is a manual one, which doesn’t require third party applications. It may seem a bit complex at first, but you’ll get the hang of it soon.
There are other options to accomplish the same, including Emerald Associates’ POBS Cleaner, which can be requested here.
Keep on reading to learn about scrubbing the database.
The Solution (cont’d)
11
The Solution (cont’d)2. Scrubbing the Database
1. Make sure that your database is SQL Server based. To do that, click on Help | About Primavera P6 Professional and then on the System tab of the pop-up window; look for the SQLServer keyword, and read on if your system is SQL Server based (chances are it is)
12
The Solution (cont’d)2. Scrubbing the Database (cont’d)
2. If you don’t already have it, you will need to install Microsoft’s SQL Server Management Studio (SSMS) to be able to scrub the POBS table. Chances are that when the SQL Server got installed on your system, SSMS was installed with it. Ask IT to install it for you if you don’t have it. You can also download it from here (2016 release) or here (older release); the instructions provided here are based on the 2008 release, which was installed on my system (I don’t expect that there will be major differences between them, in terms of program menu structure, what dialog boxes look like, etc.)
13
The Solution (cont’d)2. Scrubbing the Database (cont’d)
3. Open SSMS; the first thing it will ask you is to connect to a server, which is what you need to do. If it doesn’t, click on File | Connect Object Explorer, and fill out the boxes per the below
14
Next slide will show you how to get this
Use privuser for both (typically); if it fails, ask your system admin to provide the credentials to you
The Solution (cont’d)2. Scrubbing the Database (cont’d)
4. To obtain the server name of your system, click on Help | About Primavera P6 Professional and then on the System tab of the pop-up window; look in area highlighted below, which will contain your server name (it will be different from what’s shown highlighted with red below); note also the word next to it (i.e., PMDB), which is the name of the database you are interested in
15
The Solution (cont’d)2. Scrubbing the Database (cont’d)
5. If you succeed in connecting, SSMS will look something like the below
16
The Solution (cont’d)2. Scrubbing the Database (cont’d)
6. Find your database (PMDB, in our example, and most likely your case), and the tables under it; scroll down until you find POBS
17
The Solution (cont’d)2. Scrubbing the Database (cont’d)
7. Right click on POBS and click on the option shown below
18
The Solution (cont’d)2. Scrubbing the Database (cont’d)
8. You can see that there is a bunch of (unwanted) data in your POBS table; close the tab by clicking on the x highlighted below
19
The Solution (cont’d)2. Scrubbing the Database (cont’d)
9. Right click on the POBS table (make sure that you are on dbo.POBS), and follow the path and click on the option shown below
20
The Solution (cont’d)2. Scrubbing the Database (cont’d)
10. Your screen should like as shown below; go ahead and delete the WHERE clause (i.e., )
21
The Solution (cont’d)2. Scrubbing the Database (cont’d)
11. Your screen should look as shown below; go ahead and click on Execute (highlighted below); make sure you are on dbo.POBS!!!
22
The Solution (cont’d)2. Scrubbing the Database (cont’d)
12. After the deletion, your screen should look as shown below; go ahead and close the tab by clicking on the x
23
The Solution (cont’d)2. Scrubbing the Database (cont’d)
13. Right click on the POBS table and click on the option shown below (we want to verify that there are no records in the table)
24
The Solution (cont’d)2. Scrubbing the Database (cont’d)
14. Your screen should look as shown below, and your DB is now clean.Congratulations! You have become a master scrubber!!!
25
Next StepsYou can now close SSMS.
Going forward, and to keep your database clean, scrub all incoming XER’s.
Questions?
Don’t hesitate to contact me:
26
Jose Pumarhttps://www.linkedin.com/in/pumar
jpumar ( at ) hotmail.com