使用环境为HP UNIX;
使用exp命令导出数据库的时候,格式如下:
exp pwsys/pass1000@hsew owner=pwsys file=/oracle/backup/hsew.dmp log=/oracle/backup/hsew.log
假如只需要导出表结构,而不需要数据的时候,可以加参数rows=n,即:
exp pwsys/pass1000@hsew owner=pwsys file=/oracle/backup/hsew.dmp log=/oracle/backup/hsew.log rows=n
还有需要注意的一点是:
在导出的时候可能数据库和本地的NLS_LANG参数不一致,会出现下面的提示信息:
Export done in US7ASCII character set and AL16UTF16 NCHAR character set
server uses ZHS16GBK character set (possible charset conversion)
EXP-00091: Exporting questionable statistics.
按照我以前导出导入的经历,应该是没有太大的影响,但是为了将风险降到最低,还是处理一下:
首先查询一下数据库使用的字符集:
SQL>
select
*
from
v$nls_parameters
where
parameter=
'NLS_CHARACTERSET'
;
接下来再看看本地环境变量中的NLS_LANG(切换到oracle用户下查看)
echo $NLS_LANG
比较两者的结果,假如一样,导出肯定就没有问题了,要是不一样的话,在导出的时候修改环境变量,然后导出。
具体做法为:
切换到oracle用户下(su - oracle),(假如装有多个实例,切换到对应的实例 export ORACLE_SID=OOO)
输入一下命令:export NLS_LANG=
ZHS16GBK;(注:此处的
ZHS16GBK只是一个示例,实际情况需要切换成上面sql查询出来的数据库字符集
NLS_CHARACTERSET)
然后
exp pwsys/pass1000@hsew owner=pwsys file=/oracle/backup/hsew.dmp log=/oracle/backup/hsew.log