配置oracle-client链接server
由于Oracle的imp/exp组件的操作原则--向下兼容,且有一些规则:
规则1:低版本的exp/imp可以连接到高版本(或同版本)的数据库服务器,但高版本的exp/imp不能连接到低版本的数据库服务器;
规则2:高版本exp出的dmp文件,低版本无法imp(无法识别dmp文件);低版本exp出的dmp文件,高版本可以imp(向下兼容);
规则3:从Oracle 低版本Export的数据可以Import到Oracle高版本中,但限于Oracle的相邻版本,如从Oracle 10 到 Oracle 11.对于两个不相邻版本间进行转换,如从Oracle 9 到 Oracle 11,则应先将数据输入到中间版本-Oracle 10,再从中间数据库转入更高版本Oracle 11.
客户端与服务端需保持版本一致。所有操作皆在root账户下进行操作。
1,安装oracle linux客户端
oracle-instantclient11.2-basic-11.2.0.4.0-1.x86_64.rpm
oracle-instantclient11.2-sqlplus-11.2.0.4.0-1.x86_64.rpm
oracle-instantclient11.2-devel-11.2.0.4.0-1.x86_64.rpm
安装命令:rpm -ivh ~/tmp/oracle-instantclient11.2-basic-11.2.0.2.0.i386.rpm
2,配置环境变量
vi /etc/profile
export ORACLE_HOME=/usr/lib/oracle/11.2/client64/
export LD_LIBRARY_PATH=:$ORACLE_HOME/lib:/usr/local/lib:$LD_LIBRARY_PATH:.
export TNS_ADMIN=$ORACLE_HOME
export PATH=$PATH:$ORACLE_HOME/bin:
#export NLS_LANG="simplified chinese_china.ZHS16GBK"
export NLS_LANG="AMERICAN_AMERICA.ZHS16GBK"
3,配置tnsnames.ora文件
在/usr/lib/oracle/11.2/client64/下创建network/admin/文件夹,将tnsnames.ora放到此目录下
ORCL_192.168.1.170 =
(DESCRIPTION =
(ADDRESS_LIST =
(ADDRESS = (PROTOCOL = TCP)(HOST = 192.168.1.170)(PORT = 1521))
)
(CONNECT_DATA =
(SID = ORCL)
(SERVER = DEDICATED)
)
)
4,配置exp和imp命令
从服务端拷贝exp和imp文件放到/usr/lib/oracle/11.2/client64/bin下面
从服务端拷贝expus.msb和impus.msb文件放到/usr/lib/oracle/11.2/client64/rdbms/mesg下面
如果报With the Partitioning, OLAP and Data Mining optionsexp: symbol lookup error: exp: undefined symbol: sldext错误,
则需要将服务端的libclntsh.so.11.1文件拷贝到客户端/usr/lib/oracle/11.2/client64/lib下面,覆盖同名文件即可。
如果出现-bash: /usr/lib/oracle/11.2/client64//bin/exp: Permission denied错误,则需要对文件进行授权
chmod +x /usr/lib/oracle/11.2/client64//bin/exp
chmod +x /usr/lib/oracle/11.2/client64//bin/imp
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 基于Microsoft.Extensions.AI核心库实现RAG应用
· Linux系列:如何用heaptrack跟踪.NET程序的非托管内存泄露
· 开发者必知的日志记录最佳实践
· SQL Server 2025 AI相关能力初探
· Linux系列:如何用 C#调用 C方法造成内存泄露
· 无需6万激活码!GitHub神秘组织3小时极速复刻Manus,手把手教你使用OpenManus搭建本
· Manus爆火,是硬核还是营销?
· 终于写完轮子一部分:tcp代理 了,记录一下
· 别再用vector<bool>了!Google高级工程师:这可能是STL最大的设计失误
· 单元测试从入门到精通