Oracle 数据库 问题总结
1.导入数据库报错问题1
描述,原数据从oracle 11 g 中导出为xx.dmp文件,在配置好的新数据库中导入时,提示,导入成功并且存在警告。
问题原因分析,oracle 11g 安装在windos 上,导入的新数据库在linux上,导入失败的原因可能是,存在编码不一致问题。
解决:在linux 上新建数据库时,可选择 字符编码:ZHS16GBK,这样可以保证从windows 上的oracle数据库导出的字符可以识别。
查看oracle 数据库字符编码:
SQL> select * from nls_database_parameters where parameter ='NLS_CHARACTERSET';
PARAMETER
------------------------------
VALUE
--------------------------------------------------------------------------------
NLS_CHARACTERSET
ZHS16GBK
2.导入数据库失败问题2
导入数据库失败,也可能是客户端的编码和数据的编码不一致。
数据库编码:
SQL> select userenv('language') from dual;
USERENV('LANGUAGE')
----------------------------------------------------
AMERICAN_AMERICA.ZHS16GBK
SQL>
客户端系统编码:
[oracle@oracle12c ~]$ cat .bash_profile
# .bash_profile
# Get the aliases and functions
if [ -f ~/.bashrc ]; then
. ~/.bashrc
fi
# User specific environment and startup programs
#PATH=$PATH:$HOME/bin
#export PATH
ORACLE_BASE=/u01/app/oracle
ORACLE_HOME=$ORACLE_BASE/product/12.2.0/dbhome_1
ORACLE_SID=orcl
export NLS_LANG=AMERICAN_AMERICA.ZHS16GBK
export LC_ALL=C
PATH=$PATH:$HOME/bin:$ORACLE_HOME/bin
LD_LIBRARY_PATH=$ORACLE_HOME/lib:/usr/lib
export ORACLE_BASE ORACLE_HOME ORACLE_SID PATH LD_LIBRARY_PATY