oracle导表小结
2014-04-01 10:58
120 查看
事件描述:从A主机oracle服务器导出.sql文件到B主机,发现1.导入存在乱码 2.提示USERS表空没有权限(A B主机均为window系统)
1.针对第一点乱码
首先确认系统的默认字符编码GBK,
查询B主机oracle默认编码:select userenv('language') from dual;
结果为:SIMPLIFIED CHINESE_CHINA.ZHS16GBK
操作系统跟oracle编码是一致的,想想,发现editplus的编码之前被我改成UTF-8
EditPlus--->Document---->File Encoding---------->Change File Encoding
改成Chinese Simplified(GB2312)936或则Chinese Simplified(GB18030)54936都可以
关于字符/字符集等问题,可以移步这里 http://bbs.csdn.net/topics/200031525
修改完字符编码后,在来看第二个问题
提示USERS表空间无权限,猜测默认表空应该是USERS
验证下:SELECT u.DEFAULT_TABLESPACE FROM User_Users u,还真是
问了下系统管理员,发现操作表的用户有自己的表空间
于是乎,让DBA执行下以下sql
alter user username quota unlimited on my_tablespace;--username 表示当前用户名,my_tablespace表示指定的表空 sql的作用是让该表空可以自行扩展
OK,最后在要执行的表
create table xxxxxx
(
SYS_INT_ID NUMBER not null,
KPI_ID VARCHAR2(50) not null,
.........
)tablespace my_tablespace
pctfree 10
initrans 1
maxtrans 255
storage
(
initial 80
next 1
minextents 1
maxextents unlimited
);
到此 执行sql就没有问题了
ps:因为这里是新库,表也不多 自己就删除了表 重建表结构,然后在导数据
如果是增量,就要考虑改变表的表空,这里就不在讨论了
参考:
sqlplus 汉字乱码问题的解决
ORA-01950问题
oracle 查看用户所在的表空间
用Java代码查看系统默认字符集编码
1.针对第一点乱码
首先确认系统的默认字符编码GBK,
查询B主机oracle默认编码:select userenv('language') from dual;
结果为:SIMPLIFIED CHINESE_CHINA.ZHS16GBK
操作系统跟oracle编码是一致的,想想,发现editplus的编码之前被我改成UTF-8
EditPlus--->Document---->File Encoding---------->Change File Encoding
改成Chinese Simplified(GB2312)936或则Chinese Simplified(GB18030)54936都可以
关于字符/字符集等问题,可以移步这里 http://bbs.csdn.net/topics/200031525
修改完字符编码后,在来看第二个问题
提示USERS表空间无权限,猜测默认表空应该是USERS
验证下:SELECT u.DEFAULT_TABLESPACE FROM User_Users u,还真是
问了下系统管理员,发现操作表的用户有自己的表空间
于是乎,让DBA执行下以下sql
alter user username quota unlimited on my_tablespace;--username 表示当前用户名,my_tablespace表示指定的表空 sql的作用是让该表空可以自行扩展
OK,最后在要执行的表
create table xxxxxx
(
SYS_INT_ID NUMBER not null,
KPI_ID VARCHAR2(50) not null,
.........
)tablespace my_tablespace
pctfree 10
initrans 1
maxtrans 255
storage
(
initial 80
next 1
minextents 1
maxextents unlimited
);
到此 执行sql就没有问题了
ps:因为这里是新库,表也不多 自己就删除了表 重建表结构,然后在导数据
如果是增量,就要考虑改变表的表空,这里就不在讨论了
参考:
sqlplus 汉字乱码问题的解决
ORA-01950问题
oracle 查看用户所在的表空间
用Java代码查看系统默认字符集编码
相关文章推荐
- 在CentOs6.x 安装Cx_oracle5.x
- orcale 存储过程分页时间戳
- orcale存储过程(统计)
- oracle 由于impdp 引起的表统计信息被锁 ORA-20005: object statistics are locked
- Raysoft.Framework.DBUtility.OracleHelper
- 关于ORACLE RAC grid安装中的GNS配置说明
- ORACLE 检查数据库表中是否存在不规范字 段的语句参考.sql
- 能使 Oracle 索引失效的六大限制条件
- Oracle trunc()函数的用法
- oracle database link创建
- 隐式转换带来的麻烦
- oracle 10g CRS voting disk 管理
- oracle 10g RAC [恢复OCR]
- Oracle 创建LinkedServer(不积跬步,无以至千里)
- Oracle 语句优化
- 11g单机
- oracle 行转列 拼接
- Oracle中获取执行计划的几种方法分析
- Oracle 对行进行分组-group by、having
- Oracle 使用连接显示多个表中的数据