* Feel |
最开始接触的SQL Server,然后是Mysql ,最近接触了Oracle。oh,最开始接触应该是Access数据库,哈哈。装mysql倒是不怎么费事,感觉sql server装起来还重装过系统(流汗!!!)。最近使用Oracle,又有些当初的感觉,同时觉得很想打怪升级,在不断的突破。
顺便百度了一下,这几种数据库的差别,分享一下~
* 安装 |
安装网上有很多文档,需要的话自行下载就好了~
1. path超过1023位字符 |
这是我们环境变量,path中配置的内容比较多,当安装oracle的时候需要添加path的内容,但是已经没有足够的地方了,解决办法是这样的。
将所有path中的值复制出来,我们新建一个path1,然后将内容贴在path1后面,将Path中全选删除改为默认值
%SystemRoot%\system32;%SystemRoot%;%SystemRoot%\System32\Wbem;
最后在这个默认值后添加%path1%引用path1即可保存。
2. 路径必须是英文 |
我们安装oracle的时候,安装文件的目录总必须是英文的,否则便会报错,这一点需要我们注意一下。
* 使用 |
因为oracle数据库没有提供可视化界面,我们操作oracle可以在dos窗口,如果我们想要通过可视化的界面控制的话, 可以通过navicat和PL/SQL Developer。
* navicat连接 |
navicat的使用很方便,可以通过他远程连接服务器上的数据库,同时可以连接多种关系模式的数据库,例如mysql,sql server,oracle等。
1. ORA-12737 Instant Client Light:unsupported server character set ZHS16GBK |
从这个错误上看,可以知道是客户端不支持服务器端的字符集造成的,我们在安装oracle的时候选择的是中文,navicat支持的是英文,因此我需要替换掉Navicat使用的OCI的DLL文件即可解决这个问题,用什么替换呢?用oracle安装文件中的oci.dll。
进而我们连接,进入如下窗口:
需要填写的信息我们可以从安装文件的\NETWORK\ADMIN下面的tnsnames.ora中获得,如下:
BJPOWERN =
(DESCRIPTION =
(ADDRESS = (PROTOCOL = TCP)(HOST = xxx)(PORT = 1521))
(CONNECT_DATA =
(SERVER = DEDICATED)
(SERVICE_NAME = bjpowernode.com)
)
)
2. Cannot create oci environment |
以上的信息配置好,我们测试连接,出现这样的错误:
之前尝试过很多办法,包括从oracle中将oci.dll替换navicat的dll;将navicat中oci.dll的目录配置成oracle一样的目录;不过可惜我没有成功;一个偶然的机会,当自己连接在dos窗口(命令管理员)连接oracle数据库,问题便解决了,我目前的猜测是跟服务有一些关系~
C:\Windows\system32>sqlplus drp1/drp1 as sysdba
SQL*Plus: Release 10.2.0.1.0 - Production on 星期三 5月 2 11:06:41 2018
Copyright (c) 1982, 2005, Oracle. All rights reserved.
连接到:
Oracle Database 10g Enterprise Edition Release 10.2.0.1.0 - Production
With the Partitioning, OLAP and Data Mining options
SQL>
追加:自己探索的时候发现,navicat.exe以管理员的身份运行上面的问题也可以解决了呢,说明之前自己的认识一些服务没有开启的猜测应该不是很对,这样看来应该是权限的问题了。
进去之后我们可以看到表结构,之后的操作跟我们使用mysql也木有太大的差别了~
* PL/SQL Developer |
plsql还是比较主流的,在开发和管理上都比较方便,还支持导入。导出功能, 不过需要安装Oracle的客户端,并且需要配置tnsname,我想这也是他比较弱的一个地方吧~
1. Not logged on |
我们兴致勃勃的进入登录的页面,只要输入用户名和密码,其他的默认就可以了:
but,这里提示我们没有登录?挺奇怪的的,这不是正要登录吗?还是说在提示我oracle数据库的一些服务没有开启吗?下面是提示页面:
解决的办法:如同上面的 Cannot create oci environment一样~以管理员的身份运行,或者在dos窗口(管理员)连接~
2. ORA-01031: 权限不足 |
权限不足,我们需要 connect as sysdba进入,进行授权,同时在使用的过程中我们也需要了解一些常用的命令了;
- 创建用户
create user drp1 identified by bbs123;
- 创建表空间
create tablespace ts_bbs datafile ‘E:\bbs\bbs_data.dbf’ size 100m;
- 将表空间分配给用户
alter user drp1 default tablespace ts_bbs;
- 给用户授权
grant create session, create table, create view, create sequence, unlimited tablespace to drp1 ;
* End |
有没有一种升级打怪的感觉呢?这种感觉是不是很棒呢?自己也查了一下几种常用的数据库的区别,感觉说的很搞笑,分享给大家吧。
平台:
Mysql、oracle都是可以在当下几乎所有主流平台上使用的;
而sql server只能在windows平台,没有丝毫的开放性;安全性:
sql server没有获得任何的安全认证;
oracle获得了最高级别的ISO标准认证;性能:
sql server在多用户时性能不佳
oracle性能最高可操作性:
sql server操作简便,但只有GUI;
oracle操作比较复杂,同时有GUI与命令行操作,windows.NT及unix下一样;
mysql操作比较简单,同时有GUI与命令行,windows.NT及unix下一样;