修改部分
-
fuelmis全部替换新用户名;fuelmis_pass全部替换新密码
-
c:\database\fuelmis.dbf;c:\database\fuelmis_index.dbf文件存放地址。
-
下面代码复制到sql窗口运行。如下
![](https://i-blog.csdnimg.cn/blog_migrate/b626b2dbbcc42adc738a07a709010045.png)
--创建表空间(系统信息,基础信息)
--删除原有的表和表空间
conn system/system_pass;
drop user fuelmis cascade;
drop tablespace fuelmis;
drop tablespace fuelmis_index ;
drop tablespace fuelmis_tmp ;
--修改scott用户的密码为:fuelmis_zh 这是为加密所使用
--ALTER USER scott IDENTIFIED BY fuelmis_zh ;
create tablespace fuelmis logging
datafile 'c:\database\fuelmis.dbf' size 100M
REUSE AUTOEXTEND ON NEXT 20M
EXTENT MANAGEMENT LOCAL;
--创建索引表空间
create tablespace fuelmis_index logging
datafile 'c:\database\fuelmis_index.dbf' size 100M
REUSE AUTOEXTEND ON NEXT 20M
EXTENT MANAGEMENT LOCAL;
--创建临时表空间
create temporary tablespace fuelmis_tmp tempfile
'c:\database\fuelmis_tmp.dbf' size 200M
REUSE AUTOEXTEND ON NEXT 20M
EXTENT MANAGEMENT LOCAL UniForm size 100M;
--创建用户
create user fuelmis identified by fuelmis_pass
default tablespace fuelmis
temporary tablespace fuelmis_tmp
Quota unlimited on fuelmis;
grant imp_full_database to fuelmis;
grant connect,resource to fuelmis;
grant create any table to fuelmis;
grant create any index to fuelmis;
grant create any view to fuelmis;
grant select any table to fuelmis;
grant drop any table to fuelmis;
--提交一次
--设置空表也要导出
alter system set deferred_segment_creation=false;
--设置密码永不过期
ALTER PROFILE DEFAULT LIMIT PASSWORD_LIFE_TIME UNLIMITED;
commit;
conn fuelmis/fuelmis_pass
/*
以下是修改字符集
SQL> sqlplus /nolog;
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 ZHS16GBK;
ORA-12712: new character set must be a superset of old character set
提示我们的字符集:新字符集必须为旧字符集的超集,这时我们可以跳过超集的检查做更改:
SQL> ALTER DATABASE character set INTERNAL_USE ZHS16GBK;
--我们看到这个过程和之前ALTER DATABASE CHARACTER SET操作的内部过程是完全相同的,也就是说INTERNAL_USE提供的帮助就是使Oracle数据库绕过了子集与超集的校验.
SQL> shutdown immediate;
SQL> startup
SQL> select userenv('language') from dual; Oracle查看字符集
如果数据库打不开的话,用SQL>alter database open;
*/
-
导入数据库(记得切换刚刚创建的用户)
![](https://i-blog.csdnimg.cn/blog_migrate/43c8b78d46e71b930a57f0fee3d91888.png)
-
导入数据库阶段,如果出现一行行导入不是统计样式运行以下代码。
图示统计形式
![](https://i-blog.csdnimg.cn/blog_migrate/79f14f1489a5209e3bea74b944413586.png)
有警告最大为12位,实际导入16位问题时(字符集问题)
由于忘记暂不提供截图,遇到在提供。
以下修改可以在sqlplus和pl/sql下面执行以pl/sql为例:
用户名:sys
密码:orcl
数据库:ORCL
连接为:sysdba
![](https://i-blog.csdnimg.cn/blog_migrate/60c9a0d741f6aec259fe2188a2dcd423.png)
![](https://i-blog.csdnimg.cn/blog_migrate/ea9b120bf74cc059722e1d7b5c99cd25.png)
输入以下代码:
/*
以下是修改字符集
SQL> sqlplus /nolog;
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 ZHS16GBK;
ORA-12712: new character set must be a superset of old character set
提示我们的字符集:新字符集必须为旧字符集的超集,这时我们可以跳过超集的检查做更改:
SQL> ALTER DATABASE character set INTERNAL_USE ZHS16GBK;
--我们看到这个过程和之前ALTER DATABASE CHARACTER SET操作的内部过程是完全相同的,也就是说INTERNAL_USE提供的帮助就是使Oracle数据库绕过了子集与超集的校验.
SQL> shutdown immediate;
SQL> startup
SQL> select userenv('language') from dual; Oracle查看字符集
如果数据库打不开的话,用SQL>alter database open;
*/