安装原因
1.可以学习一下PowerDesigner
2.可以防止损坏公司服务器数据
选择Oracle10g XE版本原因
1.免费、小巧
2.使用的人多,出问题好查资料
3.可以为后续的数据库学习积累经验
安装过程
打开安装文件,选择路径为D:\oraclexe,然后一路next。OK
问题发现
打开pl/sql developer,提示客户端和服务器端字符集不同。
使用sysdba身份登录,使用sql
select * from nls_database_parameters;
查看字符集得知:
1.别的服务器使用的字符集都是ZHS16GBK
2.我安装的服务器字符集为AL8UTF8。
解决方法
更改本地服务器的字符集
尝试一(直接修改字符集)
--关闭数据库实例
SQL> SHUTDOWN IMMEDIATE;
--创建一个Oracle实例。读取init.ora初始化参数文件、启动后台进程、初始化系统全局区(SGA)
SQL> STARTUP nomount;
--由实例安装数据库
SQL> ALTER DATABASE mount exclusive;
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;
--设置字符集为ZHS16GBK
SQL> ALTER DATABASE CHARACTER SET ZHS16GBK;
ERROR at line 1:
ORA-12712: new character set must be a superset of old character set
提示我们的字符集:新字符集必须为旧字符集的超集,这时我们可以跳过超集的检查做更改(UTF8可以根据需要更改,如ZHS16GBK
--跳过限制直接修改
SQL> ALTER DATABASE CHARACTER SET INTERNAL_USE ZHS16GBK;
--重启数据库
SQL>SHUTDOWN IMMEDIATE;
SQL>STARTUP
启动后发现,乱码问题严重。特别是HTMLDb(就是配置数据库页面)
尝试二(重新建立一个新的数据库)
1.建立新的数据库文件存放目录D:\oraclexe\oradata\MXE
2.将文件D:\oraclexe\app\oracle\product\10.2.0\server\config\scripts\init.ora
拷贝至D:\oraclexe\app\oracle\product\10.2.0\server\config\scripts\minit.ora
3.修改2中的文件minit.ora,将路径目录替换为D:\oraclexe\oradata\MXE
修改后,文件minit.ora内容如下
############################################### ########################################### ########################################### ########################################### os_authent_prefix="" |
4.关闭数据库
SQL>shutdown immediate;
5.用修改过的pfile minit.ora启动数据库(nomount)
SQL>startup nomount pfile='D:\oraclexe\app\oracle\product\10.2.0\server\config\scripts\minit.ora'
6.执行建立数据库脚本
CREATE DATABASE XE
alter user sys identified by dakeng; |
7执行创建数据字典和程序包的系统SQL脚本
@D:\oraclexe\app\oracle\product\10.2.0\server\RDBMS\ADMIN\catalog.sql
@D:\oraclexe\app\oracle\product\10.2.0\server\RDBMS\ADMIN\catproc.sql
8关闭数据库,但不停止服务
SQL> shutdown immediate;
9用修改过的pfile test.ora启动数据库
startup pfile='D:\oraclexe\app\oracle\product\10.2.0\server\config\scripts\minit.ora'
创建用户表空间:
create tablespace USERS datafile 'D:\oraclexe\oradata\MXE\USERS01.DBF' size 100m
AUTOEXTEND ON NEXT 100M MAXSIZE UNLIMITED;