---数据库导入导出操作:
cd home/oracle下
exp etb_card/card2332 file=etb.dmp; ——etb_card库导出;
sqlplus / as sysdba ――dba权限进入ORACLE
select instance_name from v$instance; ――查看新库的SERVICE_NAME,用于配置TNS;
select * from dba_data_files ――查看表空间
create tablespace user_data
logging
datafile '/home/oradata/oracle11g/SMXBank_data.dbf'
size 50m
autoextend on
next 50m maxsize 20480m
extent management local;
--创建表空间
create user etb identified by etbetb default tablespace
users; ――创建用户
grant dba to etb; --权限
select userenv('language') from dual; ――查看新库的码格式(需与原库一至,否则中文会乱码)
imp etb/etbetb file=etb.dmp full=y导入
附1:
Oracle删除当前用户下所有的表的方法
1、如果有删除用户的权限,则可以:
drop user user_name cascade;
加了cascade就可以把用户连带的数据全部删掉。
删除后再创建该用户。
--创建管理员用户
create user用户名identified by密码default
tablespace space_data(表空间名称)temporary tablespace space_temp(临时表空间名称);
--授权
grant connect,dba to用户名;
附2:
修改编码格式:
sql>
conn / as sysdba;
sql> shutdown immediate;
sql> startup mount;
sql> alter system enable restricted session;
sql> alter system set job_queue_processes=0;
sql> alter system set aq_tm_processes=0;
sql> alter database open;
sql> alter database character set internal_useJA16SJIS;
sql> shutdown immediate;
sql> startup;
说明:字符集的格式如下
NLS_LANG = language_territory.charset
它有三个组成部分(语言、地域和字符集),每个成分控制了NLS子集的特性。
其中:
Language:指定服务器消息的语言,影响提示信息是中文还是英文
Territory:指定服务器的日期和数字格式,
Charset: 指定字符集。
如:AMERICAN _ AMERICA. ZHS16GBK
从NLS_LANG的组成我们可以看出,真正影响数据库字符集的其实是第三部分。
所以两个数据库之间的字符集只要第三部分一样就可以相互导入导出数据,前面影响的只是提示信息是中文还是英文。
所以,alter database character set internal_useJA16SJIS;中JA16SJIS只是select userenv('language') from dual;值中的最后一个字段。