4 Hidden JD Edwards Cleanup Tasks That Boost Performance
January 26th, 2026
17 min read
In this episode of Not Your Grandpa’s JD Edwards, host Nate Bushfield talks with JD Edwards expert Diane Miller about the overlooked system maintenance tasks that quietly impact performance and storage over time. They break down four common problem areas, log and job history buildup, outdated package builds, security history overload, and object usage tracking left enabled, and explain why these issues matter. Listeners will walk away with practical guidance on cleanup strategies, retention best practices, and how simple system hygiene can lead to a faster, cleaner, and more stable JD Edwards environment.
Table of Contents
- Introduction
- Forgotten System Hygiene Item #1: Logs & Job History Build-Up
- Cleanup Strategies for Logs & Job History
- Forgotten System Hygiene Item #2: Package Build Hoarding
- Forgotten System Hygiene Item #3: Security History Overload
- Forgotten System Hygiene Item #4: Object Usage Tracking Left Enabled
- Wrap up
Transcript
Introduction
Is your JD Edwards system getting slower or harder to manage over time?
Could overlooked clean up tasks cost you time, space, and stability?
In today's episode season, C&C, Diane Miller walks us through some top forgotten gems she sees throughout JD Edwards customers like system maintenance, including cleanup items, bloated logs, and security history overload. You'll leave with an actionable checklist to reduce clutter, gain server disk space, make your support team's life a little bit easier, and potentially improve system performance.
Welcome back tonight your grandpa's JD Edwards, the show that brings modern ERP advice from real experts into the trenches.
I'm your host, Nate Bushfield, and today we're talking with Diane Miller about something every JDE customer should have on their task list, System maintenance. The small hidden gems that silently eat away at disk space and performance. Whether you're running a tight ship or having touch your clean up process in years, this one will help you take it to the next level.
But to start off, Diane, thanks for being here. Reoccurring guests, how are you doing today? I'm doing great. Great to hear. I know that this is right after our holiday break. I know I'm just getting back into everything. So glad that you could jump on for us and tackle this question that I'm sure a lot of people out there in this space are wondering.
So let's start it off. What are the most common cleanup or forgotten system hygiene items you see in the JD Edwards environment? Well, in prepping for this podcast, there's so many items that I I could think of to list. But I thought about probably the first and best four that are the biggest and and most impactful. So like #1 would be letting logs or your work submitted jobs build up #2 keeping too many package bills, old package bills 'cause they can be disclogs #3 not cleaning up security history for like your login and log out data for sure, because it captures every single time somebody logs in and logs out. Number four, forgetting that object usage tracking is actually enabled.
But before we actually get started into this, I also want to make note that every JD Edwards environment is is very different and can vary vary widely. I mean, since there's no customizable answer to all of this, it it's really going to be super high level. And it it, it may not be directly impacting to your system, but it might be to other people's system. And it depends if those these things are actually enabled as well. So, yeah.
And that's a great way to start it off. I mean, yeah, every system is different. So some of these you might not have that issue, but some of these you might. There are others that are out there that we might not even name in this podcast that if you are having that issue, please reach out to our team because we have gone through it before.
Diane Miller here, you've been in this space for a very long time and you've seen it all as many of the podcasts that you've been on with me, but also the conversations that we've had off there. It is very much become apparent that you've seen it all. Am I right in that say all, but I've seen all. There's still a couple things that I've seen that still surprise me. So there are a few.
Fair enough, but let's go into the first one. How do logs and job histories pile up over time?
Forgotten System Hygiene Item #1: Logs & Job History Build-Up
Well, in JDE logs, I mean, they, they exist in several places. There's not just one, and each type, you know needs a different clean up approach. So a practical breakdown of what they are, where they live and how to clean them up safely. Again varies. But for instance, each time a UBE or a batch job runs, it generates a JDE log, the PDF output if there is anything dot log or dot out files, and sometimes XML output for you know, BI, publisher, EDI, etcetera. So that's like 4 logs just for one batch job. And these large secure reside on the enterprise server, the deployment server on the IDMI or the AS400 as it will always be known for those of us that have been in this space for many years.
Fair enough. Are those the types of logs in history data that typically pile up or there may be some others? Well, I'm, there's, there's even more, there's just the brief spattering of them. So, so with those others, are there any specific ones that maybe some customers out there should be on the look for? I, I guess I did. There's others that can get very large, especially if you have debugged turned on for any of your UBES, because then it's, it's tracking everything that the process of the UBE is doing, including business function calls and those types of things. So you've got those that can become huge and and eat up a lot of space, especially if it's a long running job.
I mean, I've, I have seen one that I want to say the debug log was over 25 gig. So that's pretty large. And there are bigger ones. I mean, I've there's even been more, but that that one shocked me. I was like 25 gig. What's the gig that yeah, 25 gigs of debug. I don't know if you could pay me enough money to go through that. Not me, stop to the developers, but how, how would something like that 25 gig affect your system performance? And yeah, obviously your storage will take it up, but mostly on the system performance side.
Well, there's a lot of a lot of tables that can grow to be large. Like I said, the submitted jobs table, that's F986110. Then there's the F98616 table, which is your submitted jobs detail and the statuses. And then of course you've got F00165, which is the media objects table, but it also houses job history and control records as well. And it those tables alone left unattended, I mean your, your system can become slow, painfully slow, especially like working with the submitted job screen, it could take minutes to open filtering it or sorting it or or cancelling of jobs. They can lag. It can just take a really long time to finish.
Users assume that JDE is slow as the you know what, it's really just a maintenance cleanup item that you can do to make the system run and appeared run a lot faster. Batch processing performance can degrade, you know, scheduler queries take longer job submission overhead increases, nightly processed windows quietly stretched to be longer disc growth and database is bloating. You know, these tables never shrink on their own. Larger backup times could, you know, this could also impact that they'll start to run a little longer, more IO, you know, is used for simpler queries. So it also affects your, affects your overall system.
Cleanup Strategies for Logs & Job History
Yeah. And when you're looking a little bit deeper into these logs and these reports, how long should some of these people actually keep these logs? Is there a specific time limit or is it vary based on the situation?
I would say it varies. I mean, it's, it's every customer is different. It depends on your, you know, company's retention. Maybe they need to keep a certain amount of time or a certain amount of years or, or years would be held a really long time. But, you know, you know, it could be anywhere from 60 to 120 days, which is kind of standard for how many, you know, work submitted jobs that you keep out there.
So in terms of like the actual clean up process of it, I I know like, yeah, we were joking about the 25 gigs that would take forever for a person to go through. Is there a tool out there or maybe even a script that would help automate this cleanup?
JD Edwards has a lot of reports that'll help you with purging some of that data. Otherwise there's batch scripts that you can run yourself just to clean up a lot of those logs based on a date or based on a certain amount of of days to keep. So there's there's a couple of different options there.
Yeah, of course. And I'm not sure how digital assistant would help in this way. I'm not even sure if that's really possible. But is that something you've seen or not?
Something that we've really like, experimented with it. Not something that I've seen, but it would be a great thing.
It would be super horrible.
Yeah.
Maybe coming soon.
Yeah, maybe coming soon would make your life a lot easier, I'm sure.
Forgotten System Hygiene Item #2: Package Build Hoarding
But all right, let's go to the let's go to the second one of package build hoarding. Why do so many JD shops hold on to outdated package builds?
I I think it might be just because people don't realize you don't need them beyond the one that is currently deployed. You don't need to keep the rest of them. I mean, you're running off of the one you don't need the rest of the other ones that have been out there.
The the standard, I would say roughly and and Edwards, JD Edwards won't ever come out and say and Oracle will never say you need to keep this many, but I mean roughly about 3 is what is it seems to be like typically the standard of because you've got your full packages, but then you've also got your update packages.
So if your full packages, that's the complete full snapshot of all the objects for a specific path code. And an update packages are just smaller packages containing only specifically changed or new objects that that had to be built and they're built against that existing full package that's already deployed, right.
But to take a step back, maybe for listeners out there that don't know what package builds truly are, could you explain a little bit of what the full versus updated is? Obviously you did right there, but maybe a little bit deeper of like why they are created?
Well, the package bill itself is the process of converting application objects from the like the relational database format into a deployable set of files that are used by the workstations and servers. And then usually there's just the two types, and sometimes there can be actually a third type, which is if you use business services, there's a business services update package as well.
All right. So in terms of why they are created, is there like a specific reason that maybe a company has never even used one versus a company that uses 1:00 every single day?
I'm pretty pretty sure everybody's using one whether they know it or not. It's, it's it's you need to have a full package built in order for your web instances in order to actually connect to JD Edwards to use those objects and run the actual application. So you're using it whether you know it or not.
OK, so if everyone's using one, how much space do these consume?
In my experience, any full packages, including both a client and a server, can take anywhere between 2 to 4 gig per built. So update packages are usually significantly smaller because they're only just a few objects, not the full blown package itself. So they can just be a little up from, you know, 4 or 5 megabytes to several 100 megabytes, but way smaller than a full for sure. And it also depends on how many objects are built in that update package.
Yeah.
So say hypothetically, someone has too many full builds, full package builds that are out there. What would happen to your system if you do have too many?
Nothing specifically. It's not like it's going to break or anything. It's just going to eat up a lot of your disk space on the deployment server or on your enterprise servers or wherever you deploy the actual packages, which isn't going to harm anything other than, like I said, eat the disk space.
OK?
So it's not going to slow anything down or really cripple you in any way?
Nope.
Interesting.
So in your SO, we already talked about the safe number to keep. I know that no one has really said how many you should keep, but if you were to throw out a number out there, what would be the number of packages, package bills that you should keep on the customers that I support?
I keep three. I keep the current active package, the one that's deployed, plus just two historical ones for backups just in case we had to quickly roll back for some odd, odd reason or you know, if the current package went into a an unstable state.
But once the full package is deployed and it's been working for about a week, then I will even go out and delete any of the update packages off the last two old full packages or the last full package just to keep the system clear because again, we they're not needed. You're, you're running off of that current package, so you don't need those other ones just sitting out there and not doing much.
Would you say that that's the recommended process for cleaning them up?
And is it just going back to the old packages that are back there and deleting the updated or would you say there's a different method that you would maybe use?
That's that's what I use. I'm sure there's other methods out there that other people do. And again, it depends on what the company wants to keep or what they feel safe with keeping.
But I mean, for instance, if I built say package 26 and I had deployed it and it's been running perfectly for a week, there's been no issues, no problems. So anything that I would just go out and delete all of the update packages for package 25 because there's no need to have them there. When you actually build the an update package anyway, it pushes everything into the full package. So there's really no need to keep them.
Yeah, and obviously like we're trying to stay fluid in keeping things updated. So when you do have the backups that are there, they're there for more of a crutch, right? Or is it some people are still using that old outdated version and there's some people that are on the newer version?
Or is it more of an whole organization is going to that do now the the whole organization should be going to the new one with the new stuff that came out of the new package builds that have come out with, I want to say the release 26. Don't everybody kill me. It could be released 25. I don't remember which is which, but there is an active package.
So actually once you build that full package and you deploy it, anyone new that signs in goes to that new and connects to that new package. Whereas any other existing sign ONS that have been on all morning, they're still connected to the old one. But once they log off the system and they log back in, they'll be connected to the new system. So it's actually pretty slick.
So you can actually have two currently active packages until all old sessions are rolled off that old one that everybody gets connected to the new one.
Interesting, I did not know that.
Hopefully that helps out some people at home as well.
Forgotten System Hygiene Item #3: Security History Overload
So to shift to the next section and next topic here, what is security history?
So security history is, I think it's a crucial auditing feature that tracks user activity, their login, people's logins, people's logouts, any changes to the user profiles. If you added roles or took away roles, that information is captured in that table, which is F9312. It's, it's a great audit trail table basically for user authentication and any administration security changes, I mean including password changes. You'll find out if somebody changed password for a user ID or if the user themselves did it. It's logged in that table really.
So is there anything else that would be in that table that would be beneficial or are those like the main ones?
Those are the main ones. It's usually your if, if your security history is set to 1, there is a setting that's in the JDEINI section of your enterprise server that has to be turned on. It will then capture your sign in & out activity. So it's every single login. So it's an event type 01 for sign in or login and then log off as a 02. It includes the time stamps and if it was successful or if it was a failure. So if somebody's password isn't working, it'll say failure or failed. But it didn't allow them in and you can kind of dig into it to see that their user ID was disabled or it's not working for whatever reason. Maybe it doesn't have a a system user attached to it or something along that lines, but it also includes the password changes.
Both self-service updates and if an administrator did it or reset their password, and that's an event type 04 that shows profile modifications, it'll log any changes to that user ID that took place in the P0092. It shows your sign in or your password changes, which is also logged in the F98 OW SEC. And then any other administrative changes, you know, audit records that updates for those roles to those user assignments to menu security to it's, it's a lot.
It's perfect. It's super helpful when you're trying to see if users have logged in, if you're trying to clean up user accounts, you can actually look to see when the last time was that they logged into the system and know whether that account, that account is valid anymore or if that user ID is still needed.
Yeah, that's so it's always tracking when people are logging in, the different password changes, everything like that.
But how did, how does that affect performance, maybe even storage and even compliance?
I would say storage. That's where I set the purging of the sign in & offs. The 0102 records might be a great idea. There's no real risk, I don't think just an overabundance of data in that table using up, you know, valuable disk space on your enterprise server and it it might slow down performance when logging in. I don't I've never heard of that or seen that, but just it's something to note I guess.
Yeah.
But it would there be like that the side of it of maybe there is an issue that you run into and maybe it was from X amount of days before. Is there is that the main risk of purging this data a little too quickly?
It could be yeah, for sure. JD Everest does deliver like the the UBE, I think it's R9312 where you can purge that information. But it's, it's one of those orders, not a clear answer. Like it depends how much information you want to keep out there. Some people keep up to a year, some people keep six months because they have so many users logging in and logging out. It's it varies. It's one of those up to you. It really is.
So on the other side, then what's the risk of never purchasing this data again?
Just a very large table using us a lot at this base and and. I think, I think that's it. I mean, I really, I don't see much of A risk with that one.
Yeah, probably it, it might affect performance in that way too, of slowing it down because it has to add to an even longer table and creating even more disk space in that way. So I could see that, Yeah.
How about that?
So let's talk about the clean up. What policies should teams follow when cleaning this data?
Again, it's going to relate back to what does your company want to keep? I mean, I, I have a version of the R9312 that I either, I run monthly as part of my system hygiene on, on customers that it can either keep a rolling, you know, six months of information or whatever that date or time may be. And I then I have another one that that basically they run it once a year and just clean up the whole past year. And then they just capture or you know, if they're keeping two years out there, they clean up the the one year and keep a year's worth out there. So it varies. It's a hard one.
Yeah, it is.
Yeah.
I'm sure that it also goes into compliance as well of what are the industry standards? What do you have to adhere to? What types of data are you using? So yeah, definitely you're right when it comes to it varies, depends on what types of data that you are actually utilizing. If it is sensitive data versus not sensitive data, who has access to it? And yes, if there are certain people in your company that have access to that sensitive data and certain people that don't, it could differ even within your own company, which is funny to think about, but maybe a headache for some people that are out there.
But you know, that's why we have you Diane, to help us through this.
Great.
Just bang me in the head if you all right.
Forgotten System Hygiene Item #4: Object Usage Tracking Left Enabled
So moving on to the fourth problem here, forgetting the object usage tracking when it's enabled.
If you have object usage tracking enabled, why is this item on this list and even as an issue?
Well, I I think let's let's define what it is first. So object user tracking is is a built in feature that monitors which applications, which batch programs, which business functions are actually used by the users and the system it comes disabled with with the software itself. So so you or someone else would have had to enable it and configure it using the application P980042 TI think it is, but it's great with helping IT teams plant upgrades, optimize performance by identifying unused objects, streamlining security. You know, realize that nobody's using this application, but yet it's in Star public and it doesn't need to be.
You can analyze compliance items, you know, to show who uses what, when and where within the system. And it can provide crucial insights for impact analysis before applying patches like ESUS or Asus or just for general system management. It's it's a great thing that Oracle delivered to us, especially for helping with upgrades.
I think that's probably one of the biggest things is people want to realize or you know, what's being used or is it, is it being used is an object actually being used or a version being called or along that lines. So that's, that's usually why most people will turn it on is to see all of that information and capture that information.
But then people forget it's on and it, it can grow to be very large. And those tables can be huge because, again, it's capturing every ube and every application that every user is losing. Unless you have that skinny down, there is a configuration table you can do to just skinny things down and say, I only want to know about this. But most people don't do that. They leave it wide open.
Interesting.
So I would assume that that would also affect performance in a way of like, how could you walk me through how that would affect performance?
Yeah, I think it would definitely increase database activity for sure. Like I said, each, each event is tracked. So like each, each time the user launches it, it calls us, creates a system, call it, it'll create records in the F-989-O2 and I think F98911 tables, adding write operations and database loads to that.
I mean, there will also be resource consumption because the the tracking process itself uses the system resources, CPU, memory to collect and to write all that data, potentially impacting overall system performance and responsiveness.
So I think it, I think it does. But again, I don't think it's, it's large enough that people are going to be like, Oh yeah, that's why my system is super slow. But it's definitely going to, I think it could be a little bit of a hit.
Yeah.
So it might help a little bit. And heck, if you go through all this list and start cleaning everything up, you might see a change from, oh, this is taking a minute to load to maybe this is only taking 30 seconds, maybe even less to load in certain instances, obviously.
But you did mention something a little bit earlier when we were talking about this. But what would be the steps to clean this up or at least minimize what is stored?
Yeah, that's again the Oracle. Oracle delivered a purge. Purge UBE for us to use. That'll clean up all that. That object usage tracking detail in the F98911 table. I think it is by running the R98911. I believe there's AP on the end for purge, which is that UBE that again, it's up to what your company, you know wants to keep and how much they want, how much information they would want to keep.
But you can run that UBE to clean up all of that detail that's may not be needed. I mean, if you turn this on and in 2020 and you know, you forgot that it's there, it's not gathered almost six years of data, that's that table's got to be ginormous.
And it would really good to clean that up and delete some of that older data, especially if you upgraded say in 2024 and you use it all for that. But now again, it's still on. And is anybody looking at it? Do you really need to have it on?
You can minimize what the amount of data that is being written to it. You can add object names to the configuration list of things to exclude and things to not track. Or again, you could just have it wide open or turn it off all together and then wipe out the table your dated.
Your DBA will probably love you because it'll be like whoa the space.
So if you want to make your DBA happy, clean up your data.
Wrap Up
But if you're ready to clean up your JD Edwards environment or just want to avoid wasting disk space and time, ERP Suites is here to help. Visit erpsuites.com to connect with Diane or one of our many CNC experts that we have here and get your system maybe running smoother, faster, and maybe even cleaner.
But that is a wrap for today's episode. Thanks for tuning in to Not Your Grandma's JD Edwards. If today's episode helped you spot a few cleanup opportunities, share with your team, reach out to us, leave a like, leave a comment, interact with us in some ways so we know that this content is getting to you. Be sure to subscribe for more CNC level insights and tips to keep your earpie healthy until next time.
Video Strategist at ERP Suites
Topics: