一、从Mongo官网下载企业包:
1、解压缩即可
mongodb-linux-x86_64-enterprise-rhel62-3.2.9.tgz
2、rpm的格式需要手工安装
mongodb-enterprise-server-3.2.9-1.el6.x86_64.rpm
mongodb-enterprise-mongos-3.2.9-1.el6.x86_64.rpm
mongodb-enterprise-shell-3.2.9-1.el6.x86_64.rpm
mongodb-enterprise-tools-3.2.9-1.el6.x86_64.rpm
二、这里采用第一种方式,解压缩,位置/opt
tar -zvf mongodb-linux-x86_64-enterprise-rhel62-3.2.9.tgz
三、配置环境路径
1、修改mongo安装目录
mv mongodb-linux-x86_64-enterprise-rhel62-3.2.9 eemgdb
2、创建数据存储路径
mkdir -p /data/eedb
3、创建启动用户mongo
useradd mongo
4、数据目录所有者为mongo,其他用户不可访问
chown -R mongo /data/eedb
chmod 700 /data/eedb
5、安装所属用户为mongo
chown -R mongo /opt/eemgdb
6、配置好环境变量。
vi .bash_profile
export EEMGDB_HOME=/opt/eemgdb
export PATH=$EEMGDB_HOME/bin:$PATH
source .bash_profile
四、启动mongod并访问mongo
1、使用mongo用户来启动mongod,后台运行
#su - mongo
$numactl --interleave=all mongod --dbpath=/data/eedb/ &
2、登录mongo-shell
$mongo
MongoDB Enterprise >
3、关闭mongod
numactl --interleave=all mongod --dbpath=/data/eedb/ --shutdown
4、还可使用--rest参数启动Web界面方式启动mongod
#su - mongo
$ numactl --interleave=all mongod --dbpath=/data/eedb/ --rest &
2016-09-28T16:50:37.312+0800 I NETWORK [websvr] admin web console waiting for connections on port 28017 --web访问端口
2016-09-28T16:50:37.312+0800 I FTDC [initandlisten] Initializing full-time diagnostic data capture with directory '/data/eedb/diagnostic.data'
2016-09-28T16:50:37.312+0800 I NETWORK [HostnameCanonicalizationWorker] Starting hostname canonicalization worker
2016-09-28T16:50:37.313+0800 I NETWORK [initandlisten] waiting for connections on port 27017 --mongo服务端口
5、使用http web访问:http://10.8.37.xx:28017/
五、将oracle中数据导入到mongodb
1、从oracle导出(使用sqluldr2 或者使用plsql 导出为csv格式数据)
2、使用mongoimport 导入到mongodb
3、获取表中列名称
select COLUMN_NAME||',' from user_tab_columns where table_name='SCENE_xx_CASE'
导入到Mongo
$mongoimport --port 27017 -d test --file ~/scene_law_case.csv --type csv -fields ID,RECEPTION_NO,CASE_NO,CASE_TYPE,CASE_CATEGORY,CASE_NAME,CASE_LEVEL,
SCENE_REGIONALISM,SCENE_DETAIL,OCCURRENCE_DATE_FROM,OCCURRENCE_DATE_TO,EXPOSURE_PROCESS,VICTIM_INFO,
INIT_SERVER_NO,TRANSFER_DATE,REMARK,CRACKED_DATE,SECRECY,DELETE_FLAG,CREATE_USER,CREATE_DATETIME,
UPDATE_USER,UPDATE_DATETIME,RESERVER1,RESERVER2,RESERVER3,RESERVER4,RESERVER5,RESERVER6,
RESERVER7,RESERVER8,IFFLAG,REMARKDESC -c scene_xx_case
4、或者使用--headerline参数,就不需要明确指定csv中的列名称,csv默认第一行为表字段名称
mongoimport --port 27017 -d test --file ~/scene_xx_case.csv --type csv --headerline -c scene_xx_case
访问:
$mongo
进入到mongo shell
db.xxx.find()查看集合所有数据(xxx为集合名称)。相当于select * from xxx_tab
六、从Oralce库导出csv导入到MongoDB,解决乱码问题
1、打开pl/sql>工具>首选项
2、选择unix文件格式,字符编码为utf-8
3、使用pl/sql登录到oracle,导出指定表数据为csv格式。
[mongo@wfdb opt]$ file scene_inv.csv
scene_inv.csv: UTF-8 Unicode (with BOM) text, with very long lines, with CRLF, LF line terminators ---UNIX格式
4、将csv文件到导入到mongo,将Xshell的字符编码修改为UTF-8
使用db.xxx.find()查看数据乱码主要问题在于:
1、导出csv文件为非unix格式的utf-8(平台匹配)
2、xshell字符编码也不是utf-8(字符编码匹配)
3、Mongo内部编码为utf-8(根本原因是要与Mongo内部字符编码相兼容)
经过实验,修正这些问题,就不会有乱码产生。