标签 编码 下的文章

CentOS7.x快速安装Mariadb10.4

MariaDB数据库管理系统是MySQL的一个分支,主要由开源社区在维护,采用GPL授权许可 MariaDB的目的是完全兼容MySQL,包括API和命令行,使之能轻松成为MySQL的代替品。在存储引擎方面,使用XtraDB(英语:XtraDB)来代替MySQL的InnoDB。 MariaDB由MySQL的创始人Michael Widenius(英语:Michael Widenius)主导开发,他早前曾以10亿美元的价格,将自己创建的公司MySQL AB卖给了SUN,此后,随着SUN被甲骨文收购,MySQL的所有权也落入Oracle的手中。MariaDB名称来自Michael Widenius的女儿Maria的名字。

mariadb.png
CentOS7快速安装Mariadb10.04方法如下:
1、检查是否已经具有MariaDB相关安装,并删除已有安装:

rpm -qa|grep mariadb  #查询已安装包
rpm -e --nodeps mariadb-*   #移出相关包
yum remove mysql mysql-server mysql-libs compat-mysql51   # 删除Mysql服务

2、增加MariaDB的仓库源,使用官方脚本会自动安装最新仓库:

yum install wget -y
wget https://downloads.mariadb.com/MariaDB/mariadb_repo_setup
chmod +x mariadb_repo_setup
./mariadb_repo_setup
yum install MariaDB-server -y
systemctl start mariadb
systemctl enable mariadb

3、初始化安全设置:

mysql_secure_installation   #根据提示操作修改密码等


---阅读剩余部分---

exp导出报错EXP-00091: Exporting questionable statistics问题解决

使用如下命令执行导出操作:

exp user/pass@orcl file=/bak/20180803.dmp log=/bak/20180803.log owner=username buffer=111149600 grants=y 

输出如下信息,其中包含一些EXP-00091的错误提示:

EXP-00091: Exporting questionable statistics.
EXP-00091: Exporting questionable statistics.
. . exporting table                ARAP_BILLCONFER          0 rows exported
EXP-00091: Exporting questionable statistics.
EXP-00091: Exporting questionable statistics.
. . exporting table                   ARAP_BILLMAP     336693 rows exported

导出来的dump文件可用于导入。

看下官方对EXP-00091的介绍:

EXP-00091: Exporting questionable statistics. 
Cause: Export was able export statistics, but the statistics may not be usuable. The statistics are questionable because one or more of the following happened during export: a row error occurred, client character set or NCHARSET does not match with the server, a query clause was specified on export, only certain partitions or subpartitions were exported, or a fatal error occurred while processing a table. 
Action: To export non-questionable statistics, change the client character set or NCHARSET to match the server, export with no query clause, export complete tables. If desired, import parameters can be supplied so that only non-questionable statistics will be imported, and all questionable statistics will be recalculated.

导出过程中,由于客户端字符集或NCHARSET参数和服务器端不一致,导致一些统计信息不可用。解决方案是可以导出不存在问题的统计信息,或者改变客户端字符集或NCHARSET参数。

解决方法:
查询服务器端字符集:

SQL> select userenv('language') from dual;

USERENV('LANGUAGE')
----------------------------------------------------
SIMPLIFIED CHINESE_CHINA.ZHS16GBK

设置客户端字符集:

export NLS_LANG="SIMPLIFIED CHINESE_CHINA.ZHS16GBK"

并将这句写入到/home/oracle/.bash_profile文件的最末;

然后重新执行导出,问题解决;

或者在exp导出的时候增加参数(不推荐)

statistics=none   #统计信息字段statistics设置为none

不再报错,但这种方式相当于未导出那些因字符集不一致错误的统计信息,导入自然也不会有这部分统计信息,如果需要,那么只能再重新收集统计信息。

Python模块之codecs: 自然语言编码转换

当python要做编码转换的时候,会借助于内部的编码,转换过程是这样的:
原有编码 -> 内部编码 -> 目的编码
python的内部是使用unicode来处理的,但是unicode的使用需要考虑的是它的编码格式有两种,一是UCS-2,它一共有65536个码位,另一种是UCS-4,它有2147483648g个码位。对于这两种格式,python都是支持的,这个是在编译时通过--enable-unicode=ucs2或--enable-unicode=ucs4来指定的。那么我们自己默认安装的python有的什么编码怎么来确定呢?有一个办法,就是通过sys.maxunicode的值来判断:

import sys
print sys.maxunicode

如果输出的值为65535,那么就是UCS-2,如果输出是1114111就是UCS-4编码
使用codecs读取中文csv文件:

#!/usr/bin/env python
#-*- coding:utf-8 -*-
import codecs
import sys
print sys.getdefaultencoding()
myfile = codecs.open("test.csv","r","gbk")    #文档是ANSI格式的时候使用gbk,否则直接使用utf-8
line = myfile.readline()
while line:
     print line,
     line = myfile.readline()
myfile.close()

ORACLE11g修改数据库字符集

dbca建立数据库实例的时候,编码选错了,导入备份以后,中文汉字全部用?号显示,
查询默认编码、字符集参数

selectuserenv('language') from dual;
select name,value$ from props$ where name like '%NLS%';
select * from nls_database_parameters;

LS_CHARACTERSET是数据库字符集,NLS_NCHAR_CHARACTERSET是国家字符集
ORACLE中有两大类字符型数据,VARCHAR2是按照数据库字符集来存储数据。
而NVARCHAR2是按照国家字符集存储数据的。同样,CHAR和NCHAR也一样,一是数据库字符符,一是国家字符集。




---阅读剩余部分---

最新

分类

归档

评论

其它