Take the 2-minute tour ×
Database Administrators Stack Exchange is a question and answer site for database professionals who wish to improve their database skills and learn from others in the community. It's 100% free, no registration required.

Currently i'm using Oracle 10g XE database and want to upgrade to Oracle 11g XE. When i try to run the installer, it fails because of running instance. I searched the internet and got to know i have to uninstall 10g XE before installing 11g. The problem is i want to retrieve my schemas in 11g. So as stated here, i tried,

exp system/<system_password>@<database> file=<user>.dmp owner=<user>

but i got the following error

SP2-0734: unknown command beginning "exp system..." - rest of line ignored.

i read on the internet i tried using

SQL> expdp system/password full=Y directory=DUMP_DIR dumpfile=DB10G.dmp logfile=expdpDB10G.log

but got

SP2-0734: unknown command beginning "expdp syst..." - rest of line ignored.

is there a way (preferably GUI) to just back up my data before uninstall so that it can be recovered after upgrade? I know complete databses can be put into an sql script for mysql using phpmyadmin. Does anything similar exist for oracle as well??

Is recreating a table using netbeans a good solution?

share|improve this question

migrated from stackoverflow.com Apr 22 at 4:54

This question came from our site for professional and enthusiast programmers.

exp and expdp are standalone tools. You run them from the command-line/terminal/shell, not from inside SQL*Plus. –  Luke Woodward Apr 20 at 8:59
wooo.... 3 of-topic flags. It doesn't seem that "off-yopic" to me. can any1 explain me why? –  maxx777 Apr 20 at 9:13
People have flagged it as off-topic because they regard database export as a DBA matter rather than a programming one. –  APC Apr 20 at 10:38

1 Answer 1

up vote 3 down vote accepted

exp and expdp are OS command-line programs. That's why SQL*Plus doesn't recognise them. You need to fire up a console (shell) window.

Note that you can run these wherever makes more sense, your local PC or on the database server itself, provided the Oracle client software is installed.

There is an in-database API for Datapump. It's the PL/SQL package, DBMS_DATAPUMP. Find out more. However, for what your want to do, expdp makes more sense.

" i'm quite amazazed that nowhere in the command i have specified anything regarding oracle databse" (sic)

Welcome to the magic of paths and scope. Oracle exp is the first program of that name your computer found in your current direction or by traversing the command path. So that's what it executed.

exp is an Oracle proprietary utility for exporting data from an Oracle database. It is never going to export anything else. You didn't have to specify a target database because your environment is XE with only one in scope. In an enterprise environment you would probably have to specify a database name in the connection string, because there could be several databases on your network.

share|improve this answer
thanks a lot. this worked fine for me. But i'm quite amazazed that nowhere in the command i have specified anything regarding oracle databse. so how does it recognized? my thinking says exp means "export". So it could have meant to export any kind of file from anywhere. –  maxx777 Apr 20 at 9:19

Your Answer


By posting your answer, you agree to the privacy policy and terms of service.