cari
Rumahpangkalan datatutorial mysqlOracle EXP导出报错EXP-00091分析解决

Oracle EXP/IMP是早期推出数据备份还原工具。因其简单易用、功能强大的特性,广泛的被行业接受。一些开发工具(如PL/SQL Develop

Oracle EXP/IMP是早期推出数据备份还原工具。因其简单易用、功能强大的特性,广泛的被行业接受。一些开发工具(如PL/SQL Developer)中甚至集成嵌入了EXP/IMP工具。一些国内开发团队默认数据部署策略中,EXP/IMP也占到了相当比例。
随着Oracle版本的推进,新特性的推出,特别是海量数据库不断出现在企业应用环境下,传统的EXP/IMP工具架构已经不能承担发展的需要。于是在10g版本中,Oracle推出了服务端运行的数据泵Data Pump工具。到11g版本中,Data Pump已经成为成熟的数据导入导出、备份解决方案。

但是在实际开发领域,Exp/Imp还是有很大的市场。虽然11g中已经不推荐使用Exp/Imp,但是很多厂商部署小数据应用还是采用Exp/Imp方法。

本次记录的是一次部署导出Exp中出现的问题,记录下来,留待需要的朋友需要。

--------------------------------------分割线 --------------------------------------

Oracle 11g 在RedHat Linux 5.8_x64平台的安装手册

Linux-6-64下安装Oracle 12C笔记

在CentOS 6.4下安装Oracle 11gR2(x64)

Oracle 11gR2 在VMWare虚拟机中安装步骤

Debian 下 安装 Oracle 11g XE R2

--------------------------------------分割线 --------------------------------------


 
1、问题综述
 
厂商上线部署系统,进行最后的数据导出导入测试。由于不是最终的环境,而且上线系统数据量初始比较少,所以推荐使用Exp/Imp或者Data Pump工具。在导出过程中,系统数据虽然成功导出,但是出现报错EXP-00091。对应截屏照片如下(安全原因,屏蔽部分信息): 
 

 
导出语法也没有什么额外的信息过程。一时间笔者也没有处理的思路。
 
2、问题分析和检索
 
留下错误信息提示和语句信息之后,笔者查询了Oracle MOS官方网站,希望找到对应的资料。在文档EXP Utility Reports EXP-91 During Export (文档 ID 730106.1)中,笔者找到了这个问题的解释。
Oracle统计量是CBO的工作基础。Oracle优化器在发展历程中,经历了从RBO到CBO的演变过程。RBO时代,优化器生成规则是以代码的方式固化在Oracle代码中的。而CBO的工作是基于数据对象统计量。统计量反映在实体上,就是一系列的元数据信息。在9i时代,CBO与RBO共同作用,而且统计量是需要人工进行收集维护的。而且,由于数据变化的原因,在一些早期CBO版本中,“实时”统计量往往还不能获得最好的执行计划。
所以,在9i的Exp/Imp工具开始,统计量导出就成为Exp工具默认行为。Exp/Imp工具是一个客户端工具,客户端的字符集设置nls_lang和数据库服务器端是存在不同的。如果nls_lang环境变量设置与数据库服务器设置不同,就会导致这个问题出现。
下面我们通过实验来试图重现错误,来证实我们的推论。
 
3、错误模拟
 
我们使用oracle 11gR2来进行测试模拟,具体版本号为11.2.0.4。客户端操作系统为Windows。
 
 
SQL> select * from v$version;
 
BANNER
--------------------------------------------------------------------------------
Oracle Database 11g Enterprise Edition Release 11.2.0.4.0 - 64bit Production
PL/SQL Release 11.2.0.4.0 - Production
CORE      11.2.0.4.0    Production
TNS for 64-bit Windows: Version 11.2.0.4.0 - Production
NLSRTL Version 11.2.0.4.0 – Production
 
 
当前,服务器NLS关键参数如下。注意,查看nls信息一定是数据库层面的。
 
 
SQL> select * from nls_database_parameters;
 
PARAMETER                      VALUE
------------------------------ --------------------------------------------------------------------------------
NLS_LANGUAGE                  AMERICAN
NLS_TERRITORY                  AMERICA
NLS_CURRENCY                  $
NLS_ISO_CURRENCY              AMERICA
NLS_NUMERIC_CHARACTERS        .,
NLS_CHARACTERSET              AL32UTF8
(篇幅原因,有省略……)
 
 
Nls_lang环境变量的参数格式包括nls_language、nls_territory和nls_characterset。具体格式如下:
 
NLS_LANG=_. 
 

更多详情见请继续阅读下一页的精彩内容:

linux

Kenyataan
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn
Bagaimanakah pelesenan MySQL berbanding dengan sistem pangkalan data lain?Bagaimanakah pelesenan MySQL berbanding dengan sistem pangkalan data lain?Apr 25, 2025 am 12:26 AM

MySQL menggunakan lesen GPL. 1) Lesen GPL membolehkan penggunaan percuma, pengubahsuaian dan pengedaran MySQL, tetapi taburan yang diubah suai mesti mematuhi GPL. 2) Lesen komersial boleh mengelakkan pengubahsuaian awam dan sesuai untuk aplikasi komersil yang memerlukan kerahsiaan.

Bilakah anda memilih InnoDB atas myisam, dan sebaliknya?Bilakah anda memilih InnoDB atas myisam, dan sebaliknya?Apr 25, 2025 am 12:22 AM

Keadaan ketika memilih innoDB dan bukannya myisam termasuk: 1) sokongan transaksi, 2) persekitaran konkurensi tinggi, 3) konsistensi data yang tinggi; Sebaliknya, keadaan apabila memilih myisam termasuk: 1) terutamanya membaca operasi, 2) Tiada sokongan transaksi diperlukan. InnoDB sesuai untuk aplikasi yang memerlukan konsistensi data yang tinggi dan pemprosesan urus niaga, seperti platform e-dagang, manakala MyISAM sesuai untuk aplikasi bacaan dan bebas transaksi seperti sistem blog.

Terangkan tujuan kunci asing di MySQL.Terangkan tujuan kunci asing di MySQL.Apr 25, 2025 am 12:17 AM

Di MySQL, fungsi kunci asing adalah untuk mewujudkan hubungan antara jadual dan memastikan konsistensi dan integriti data. Kekunci asing mengekalkan keberkesanan data melalui pemeriksaan integriti rujukan dan operasi cascading. Perhatikan pengoptimuman prestasi dan elakkan kesilapan biasa apabila menggunakannya.

Apakah jenis indeks yang berbeza di MySQL?Apakah jenis indeks yang berbeza di MySQL?Apr 25, 2025 am 12:12 AM

Terdapat empat jenis indeks utama dalam MySQL: Indeks B-Tree, Indeks Hash, Indeks Teks Penuh dan Indeks Spatial. 1. B-Tree Index sesuai untuk pertanyaan, penyortiran dan pengelompokan, dan sesuai untuk penciptaan pada lajur Nama Jadual Pekerja. 2. Indeks hash sesuai untuk pertanyaan yang setara dan sesuai untuk penciptaan pada lajur ID jadual hash_table enjin penyimpanan memori. 3. Indeks teks penuh digunakan untuk carian teks, sesuai untuk penciptaan pada lajur kandungan jadual artikel. 4. Indeks spatial digunakan untuk pertanyaan geospatial, sesuai untuk penciptaan pada lajur geom jadual lokasi.

Bagaimana anda membuat indeks di MySQL?Bagaimana anda membuat indeks di MySQL?Apr 25, 2025 am 12:06 AM

TOCREATEANINDEXINMYSQL, USETHECreateIndexStatement.1) forasingLecolumn, gunakan "createIndexidx_lastNameonemployees (lastName);" 2) foracompositeIndex, gunakan "createindexidx_nameonemployees (lastName, firstName)

Bagaimanakah MySQL berbeza dari SQLite?Bagaimanakah MySQL berbeza dari SQLite?Apr 24, 2025 am 12:12 AM

Perbezaan utama antara MySQL dan SQLite adalah konsep reka bentuk dan senario penggunaan: 1. MySQL sesuai untuk aplikasi besar dan penyelesaian peringkat perusahaan, menyokong prestasi tinggi dan kesesuaian yang tinggi; 2. SQLITE sesuai untuk aplikasi mudah alih dan perisian desktop, ringan dan mudah dibenamkan.

Apakah indeks di MySQL, dan bagaimana mereka meningkatkan prestasi?Apakah indeks di MySQL, dan bagaimana mereka meningkatkan prestasi?Apr 24, 2025 am 12:09 AM

Indeks dalam MySQL adalah struktur yang diperintahkan satu atau lebih lajur dalam jadual pangkalan data, yang digunakan untuk mempercepat pengambilan data. 1) Indeks meningkatkan kelajuan pertanyaan dengan mengurangkan jumlah data yang diimbas. 2) Indeks B-Tree menggunakan struktur pokok yang seimbang, yang sesuai untuk pertanyaan dan penyortiran pelbagai. 3) Gunakan pernyataan createIndex untuk membuat indeks, seperti createIndexidx_customer_idonorders (customer_id). 4) Indeks komposit boleh mengoptimumkan pertanyaan berbilang lajur, seperti createIndexidx_customer_orderonorders (customer_id, order_date). 5) Gunakan Jelaskan untuk menganalisis rancangan pertanyaan dan elakkan

Terangkan cara menggunakan transaksi di MySQL untuk memastikan konsistensi data.Terangkan cara menggunakan transaksi di MySQL untuk memastikan konsistensi data.Apr 24, 2025 am 12:09 AM

Menggunakan transaksi dalam MySQL memastikan konsistensi data. 1) Mulakan transaksi melalui starttransaction, dan kemudian laksanakan operasi SQL dan serahkannya dengan komit atau rollback. 2) Gunakan SavePoint untuk menetapkan titik simpan untuk membolehkan rollback separa. 3) Cadangan Pengoptimuman Prestasi termasuk memendekkan masa urus niaga, mengelakkan pertanyaan berskala besar dan menggunakan tahap pengasingan yang munasabah.

See all articles

Alat AI Hot

Undresser.AI Undress

Undresser.AI Undress

Apl berkuasa AI untuk mencipta foto bogel yang realistik

AI Clothes Remover

AI Clothes Remover

Alat AI dalam talian untuk mengeluarkan pakaian daripada foto.

Undress AI Tool

Undress AI Tool

Gambar buka pakaian secara percuma

Clothoff.io

Clothoff.io

Penyingkiran pakaian AI

Video Face Swap

Video Face Swap

Tukar muka dalam mana-mana video dengan mudah menggunakan alat tukar muka AI percuma kami!

Alat panas

Dreamweaver Mac版

Dreamweaver Mac版

Alat pembangunan web visual

VSCode Windows 64-bit Muat Turun

VSCode Windows 64-bit Muat Turun

Editor IDE percuma dan berkuasa yang dilancarkan oleh Microsoft

SublimeText3 versi Mac

SublimeText3 versi Mac

Perisian penyuntingan kod peringkat Tuhan (SublimeText3)

Pelayar Peperiksaan Selamat

Pelayar Peperiksaan Selamat

Pelayar Peperiksaan Selamat ialah persekitaran pelayar selamat untuk mengambil peperiksaan dalam talian dengan selamat. Perisian ini menukar mana-mana komputer menjadi stesen kerja yang selamat. Ia mengawal akses kepada mana-mana utiliti dan menghalang pelajar daripada menggunakan sumber yang tidak dibenarkan.

Dreamweaver CS6

Dreamweaver CS6

Alat pembangunan web visual