1、检查环境一致性
sql
需检查数据库客户端与服务端字符编码,以免后续各类各样的问题数据库
查询服务端编码服务器
注意最好用sqlplus查询,用plsql有时候会出现查询不一致问题,以下图同一个语句在plsql和sqlplus中得到了不一样的查询结果oracle
也能够在NLS_DATABASE_PARAMETERS中查询,以下字符集为AMERICAN_AMERICA.AL32UTF8app
查询客户端编码(环境为WINDOWS)ide
环境变量之中字符集变量设置,变量名NLS_LANG 值设置与服务器端字符集编码一致测试
注册表中的Oracle字符集设置,NLS_LANG 值设置与服务器端字符集编码一致
编码
1、运行cmd;spa
2、登陆数据库,输入命令:sqlplus日志
使用管理员角色登陆须要在用户名后加“ as sysdba” 例如:sys as sysdba,也能够输入sqlplus 非用户密码登录也能够 sqlplus / as sysdba
3、一样建立目录路径:输入命令:create directory data_dir as 'D:\ora\data' ;
1)、data_dir为路径名称,可自命名,D:\ora\data为数据库导出文件存放路径(路径必须存在)
2)、使用命令:select * from dba_directories可查询用户建立目录。
4、为oracle用户授予访问数据目录的权限,输入命令:Grant read,write on directory data_dir to dbuser;
dbuser为数据库用户名
5、导入导出操做受权,输入命令:grant exp_full_database,imp_full_database to dbuser;
6、数据导出,执行命令:expdp dbuser/123456@orcl schemas=dbuser dumpfile=expdp.dmp directory=data_dir logfile=expdp.log
注意该命令是在cmd下执行,不是在sqlplus窗口中执行
命令详情:
expdp [为用户名]/[密码]@[服务名]
schemas=[用户名]
dumpfile=[导出数据库文件名]
directory=[设置目录名]
logfile=[日志文件文件名]
1、运行cmd;
2、登陆数据库,输入命令:sqlplus;
使用管理员角色登陆须要在用户名后加“ as sysdba” 例如:sys as sysdba
非用户密码登录也能够sqlplus / as sysdba
三、建立表空间,用户以及用户受权dba(本地测试) 如单独授予权限 导入导出操做受权,输入命令:grant exp_full_database,imp_full_database to user;
create tablespace table_space
logging
datafile 'E:\app\oradata\orcldb\space.DBF'
size 50m
autoextend on
next 50m maxsize 30000m
extent management local;
create user user
identified by "123456"
default tablespace table_space
temporary tablespace TEMP
profile DEFAULT;
grant dba to user;
后期若是须要扩充表空间能够用:
alter tablespace table_space add datafile 'E:\app\oradata\orcldb\space1.DBF'
size 50m
autoextend on
next 50m maxsize 30000m;
4、建立目录路径:输入命令:create directory data_dir as 'D:\ora\data' ; 路径里存放以前导出的数据库dmp文件
1)、data_dir为路径名称,可自命名,D:\ora\data为数据库导出文件存放路径(路径必须存在);
2)、使用命令:select * from dba_directories可查询用户建立目录。
5、为oracle用户授予访问数据目录的权限,输入命令:Grant read,write on directory data_dir to user;
user为以前创建的导入数据库用户名。
6、数据导入,执行命令:impdp user/123456@orcl REMAP_SCHEMA = dbuser:user table_exists_action = replace directory=data_dir dumpfile=expdp.dmp logfile=expdp.log
命令详情:
impdp [用户名]/[密码]@[服务名]
REMAP_SCHEMA=[源用户名1]:[目标用户名2]
table_exists_action=replace /*存在的表动做(覆盖)*/
directory=[建立目录名]
dumpfile=[.dmp文件名]
logfile=[.log文件名]