Copying database using PROCOPY across multiple servers

Paul Buckle

New Member
Hi All,

I am new to Progress, having worked extensively on Oracle for the last few years, so I have a few questions.

1. I want to make a copy of our production database, named: LIVE, and place the working copy onto a different server and call it TEST. I understand that the PROCOPY utility will copy the database, but I cannot find any documentation on the utility or it's limits. Does anyone have a link, or can anyone point me in the right direction? My ultimate goal is to somewhat automate this process using a batch file.

2. Can a copy of the database be done while the source database is running? Also, if I am copying the LIVE environment onto a TEST environment, will I need to shut down the TEST database before beginning the copy? I guess the option here would be to include start and stop commands in the batch file for both servers.

3. Does anyone have any detailed information on after-image? I am particularly keen to know how similar it is in principle to Oracle's archive logging, and get an idea of how easy it is to setup and manage.

These are all things I would like to get implemented quickly, so any help would be gratefully received.

Thanks,
Paul
 

TomBascom

Curmudgeon
I would use probkup and prorest for this sort of thing. They're more flexible, better documented and you can create the probkup online (no, you cannot procopy a live database).

For after-imaging: http://dbappraise.com/ppt/ai.pptx And kudos to you for hitting that one early!
 

cj_brandt

Active Member
don't use procopy - go with tom's suggestion of probkup (online) and prorest. You will be very pleased how much easier it is to copy around OE databases instead of Oracle

Oracle redo logs are like OE after image logs
Oracle Rollback Segments are like OE before image logs
 

Paul Buckle

New Member
Thanks guys. I'll look into the PROBKUP and PROREST utilities. I'm assuming at this point that the PROBKUP will create the file and place it in a directory (network dir) of my chosing, and then I can get the PROREST to restore the same file into a new/existing database.

I have been reading quite a bit on AI, and it seems like it wouldn't be too hard to set up, and definitely worth having switched on for a business critical system. Now, my only question is about using AI to update a hot standby database, and whether or not in your experience this worthwhile. I'm guessing based on cj's comment that the hot standby system is similar to Oracle's data guard for replication?

Thanks again!
 

TomBascom

Curmudgeon
You can use after-image logs to keep a "warm spare". It will always be at least one ai extent behind. So if you switch extents every 15 minutes that's how far behind you'll be. A downside is that a warm-spare that you maintain in this way cannot be used for reporting or any other purpose. As soon as someone connects to it it can no longer get updates from the source.

For a "hot spare" you probably want OpenEdge Replication. Basically it uses a network connection to send the ai notes to the target in real time rather than batching them up in ai files. It has two modes -- synchronous (every trx is completed on both systems before the source commits) and asynchronous (don't worry about it). SFAIK nobody actually uses synchronous -- the performance penalty is too high.

A major advantage to OE Replication is that you can connect read-only sessions to it and use them for real-time reporting and so forth.

Replication is notoriously finicky, hard to setup and rather fragile to operate. You very much want to be on the latest release because all the good stuff is in new releases (this has been true for a long time...)

There are licensing implications to either approach that you may need to consider. You may, or may not, have all of the required licenses. With the ai logs/warm spare approach you can technically do the work but may need to obtain licenses to make it legit. With OE Replication you need an approriate license for the SW to work at all.
 

Paul Buckle

New Member
Thanks Tom.

I'm going to have a play with the various options available to me.

If I have any questions, I'll be sure to post back here with them.

Thanks again for the help.

Paul
 

rstanciu

Member
The best way to understand a Progress database If you have already known how it work's Oracle
is to take some time to read the documentation, take some training days.

You can not help your company using a "forum" or "google", the best think will happening ... you are fired :((
 

Paul Buckle

New Member
I appreciate the advice 'rstanciu', but I can assure I have complete faith in my own ability... I also have been in IT long enough to realise that forums are not going to give me an answer to everything. I am not a 'DBA' per se, nor is it my primary job responsibility, or why I was hired. My search for knowledge is purely to improve the efficiency of the application for the company and to improve their current setup.
 

samrat.ry

New Member
Hi Tom,

This is Samrat, I worked with you in Intcomex account...if you still remember me :). Can you please help me to access the ppt? I can't access it now.

Thanks you,
Samrat
 
The best way to understand a Progress database If you have already known how it work's Oracle
is to take some time to read the documentation, take some training days.

You can not help your company using a "forum" or "google", the best think will happening ... you are fired :((
Well, I too have been an Oracle DBA for the past 25+ years, so from that point of view Progress has pretty good documentation. However when my company decided to replace one of those with a Progress DB and Application it was delivered by a third party, which has given us some documentation on the basics and a one day training presentation about how to back it up, etc.

After 5 years I have not been offered any training ("TOO EXPENSIVE, we'll manage" - said my boss, thank you). I wanted to go on a course, but it was about £4000+ for 4 days. Should I be paying out of my pocket?

I managed to learn the most by taking part in an upgrade with my third party, so learned a few basics - how to create a new DB, how to hack it up, restore it, setup DR procedures. However - a lot has come from GOOGLE and Progress knowledge base articles (and this forum, KUDOS to you guys... )

Welcome to the real world of cost cutting....

I never used PROCOPY, probkp and prorest are so simple and robust and safe.
 

Rob Fitzpatrick

ProgressTalk.com Sponsor
This is getting off topic but I'll add my two cents (subject to inflation ;)).

OpenEdge isn't Oracle. There will necessarily be some similarities between the two but they are least likely to be in the respective platform information resources.

"Take some training days" is a luxury reserved for managers and above (i.e. those least likely to want and benefit from said training), and perhaps the lucky few with access to a generous training budget. Many people work on this platform for years and never receive any structured training.

Not all information resources are created equal. Even within one type, e.g. instructor-led training, there is a lot of variance. I went on a few courses early on, sometimes with a great instructor (once) and sometimes with a lousy one (several times). Courses may be fine if you want to learn specifically what is in the syllabus, and maybe a bit outside of that if there is Q&A time and you have a willing and competent instructor. But by their nature they also tend to be fairly high-level and fairly out of date. I'd confidently estimate that much more than 99.9% of my current OpenEdge knowledge did not come from training courses of any sort.

OpenEdge is a niche platform. You likely won't find third-party training institutes or Amazon book listings with instructional material as you will with other technology platforms. In my experience, the people who rise on this platform are the ones who are motivated to learn and who leave no stone unturned to do it. Casually dismissing the value of internet-based content is the path to mediocrity.

My own journey has included:
  • Reading the docs
    You would think that this goes without saying, but apparently not. I will never cease to be amazed when I encounter people who use this platform literally every day and don't know where to find the product documentation.
    Some people prefer to read the downloaded PDFs, some go for the online docs, some literally do a Google search every time; whatever floats your boat. But if you're a professional on this platform, even if it's only part of your job, and you can't quickly get to the docs for your release when asked to, you aren't trying hard enough, IMHO.
  • Reading the knowledge base
    The Progress knowledge base is a treasure trove of information, for OpenEdge and beyond. Is it perfect? No! (But no knowledge resource is perfect.) Some articles are out of date, some are poorly written or contain generally good information that is poorly worded. Some contain sketchy sample code. Some are flat-out wrong. So a little skepticism and critical thought is healthy. On the upside, the KB contains valuable and detailed procedure walkthroughs, how-tos, bug reports, workarounds, and highly detailed technical backgrounders that are not in the product documentation. By and large, it is very good and is an indispensable resource. And it is updated daily.
    Every OpenEdge knowledge worker (dev, DBA, technician, architect, whatever) should subscribe to PANS, the daily e-mail notification service that provides links to the newest and most recently updated KB articles. It's essential daily reading.
    The KB is also available as an offline download, in the Windows-based ProKB application. It provides useful search tools not in the online version. Highly recommended; I use it daily.
  • Instructor-led training courses
    I covered this above.
  • Self-paced training courses
    Availability, product coverage, currency (i.e. being up to date) and pricing have varied a lot over the years. Look to see what is out there and go through it, budget permitting. It may be useful for you, particularly if you're relatively new to the platform.
  • Attending local PUG events
    If you live in a region where there is a local Progress User Group, attend their events if you can. Typically a day or two and quite cheap. Great opportunity to learn, ask questions, and network with your peers.
  • Attending international PUG conferences
    The best OpenEdge educational bang for the buck, bar none. Unfortunately on temporary hiatus, as so many other things are, during the pandemic.
    Build a business case for your boss to send you to a PUG Americas or PUG EMEA conference. If that fails, take a week's vacation and self-fund your attendance. Beg, borrow or steal if you have to (ok, don't steal ;)). You won't regret it.
    For less than the price of one training course, you can choose from dozens of in-depth presentations from industry experts (Progress and third party) about OpenEdge development, tools, application design, architecture, database management, industry trends, and complementary technologies, across multiple simultaneous tracks, with over a dozen presentation time slots. You will have access to hands-on workshops to learn about and use technologies that interest you and upgrade your skills. You will see keynotes and product roadmap info to keep you in the loop on what lies ahead. You can attend a product expo and get demos and ask questions about products from Progress and related third parties.
    You will talk to the most senior people at Progress; ask questions, share your business challenges, learn about best practices and hidden gems. You will eat breakfast, lunch, and dinner with your peers and share knowledge, lessons learned, war stories, etc. You will unwind, relax, party, and share a beverage with friends new and old! You will build valuable relationships.
    Worst case, if you can't attend, you can visit the web sites and download years worth of slide decks, audio and video recordings, and sample code from past presentations. They contain valuable information that cannot be found anywhere else (docs, KB, etc.). Absorb this info and become a local expert.
  • Attending Progress technical conferences
    Progress also runs its own conferences; some technical and some more business-focused. Sometimes in the US, sometimes overseas. Almost every year, but that's subject to the vagaries of shifting marketing strategy. Similarly, the location, time of year, and conference branding are subject to change. Past events have had various names; Progress Exchange, Progress Exchange Online, Progress Revolution, Progress Next. If you search the community site you might find info from past conferences, including slide decks or recordings. Info from more recent events may be behind a paywall (for past attendees only) or not online at all.
    These events are big and splashy, and expensive, and typically you will incur higher costs for travel/hotel and see less actual technical content as compared with an international PUG conference. Still very valuable if you can make it.
  • Attending Progress roadshows
    Occasionally, Progress will do a tour of cities with one-day events to show off major releases or new features. I've been to a few locally. They're small events, maybe 25-100 people in attendance and a few speakers, in one room; like a miniature conference. A good chance to get some high-level info but also to speak and network with the people who design and build the products you use. They don't happen often but they are worthwhile.
  • Participating in online forums
    I absolutely cannot overstate the importance of this for me. Once I discovered ProgressTalk, the now-defunct PEG, and the many incarnations of Progress' own forums (PSDN/Communities/Community, the latter of which has frustratingly been re-platformed multiple times), my learning skyrocketed.
    Some people never discover these platforms, or are somewhat aware but never use them. Some are hesitant to use them because they don't want to publicly display their ignorance. If you're lurking here and you can identify with this, I get it. I felt this way at first. I didn't know anything about OpenEdge and felt insecure about it, and certainly didn't want to broadcast that fact. My best advice is: park your ego and get over it; get involved. It's okay to not know things. No one knows everything, not even the gurus.
    Ask questions; seek advice; read past threads. If you are respectful and answer people's questions when they try to help you (basically, if you act like a decent human being), they will go out of their way to help you. I started out just lurking, reading the forums, then asking questions and getting help. Slowly but surely, as I learned more, I started answering questions from others too. Interestingly, answering questions (and reading answers from others in the same thread) is a great way to learn new information and challenge your assumptions. Sometimes we know things, and sometimes we think we know things and later learn we were wrong. Engaging in those conversations is a great way to accelerate that process.
  • Building a personal network
    The other items above give you chances to meet people in the industry outside of your own organization, both inside and outside PSC. Getting to know people at such events, outside of an office context, really makes a difference. It gives you more options for collaboration, support, and career-building.
  • Playing
    Really! Install OpenEdge on your home machine, or take your work machine home if you can. If you don't have licenses, use the free trial. Experiment with features that interest you. Run some sample code from the docs or KB and learn how it works. Get outside your comfort zone: if you're a dev, create a database and learn the basics: stop it, start it, back it up, restore it, run some utilities, even dump and load it! If you're a DBA, do some dev tutorials, learn some OO basics, write a class, etc. A tech company can sometimes be a Tower of Babel; little domains where each person speaks their own language and there are serious communication gaps across teams. Learning to converse with other people on their terms can accelerate progress and also help you get noticed and get ahead.
 

Rob Fitzpatrick

ProgressTalk.com Sponsor
Continued from the last post, as I hit the post-size limit.

Each person's learning journey will be different. But knowing what is out there to be learned is a big first step. I hope this personal perspective is helpful.

Some links:

Training

Knowledge Base
ProKB download: http://download.progress.com/open/products/prokb/ProKBsetup.exe (download is updated daily with new content)
KB and product notifications ("PANS"): Progress Customer Community

Product Documentation, etc.
Landing page: https://docs.progress.com/
PDF docs: https://docs.progress.com/category/openedge-archives
Online docs (selected releases): https://docs.progress.com/category/openedge-information-hub
Videos: https://docs.progress.com/category/openedge-videos
Webinars: OpenEdge - Webinars - Progress
Whitepapers: OpenEdge Whitepapers - Progress
Blogs: Posts on OpenEdge - Progress Blogs

PUGs

International PUG Conferences

Forums:
ProgressTalk.com ;)
 
Top