安装Oracle
因为高级数据库课程需要,开始学习Oracle数据库,学习Oracle首先要安装,我尝试在linux上安装,结果失败了,然后把笔记本重新安装成Windows之后在上面安装上了Oracle。(在Windows上面安装Oracle也会提示很多错误,全部忽略就行了)
Oracle安装完成之后,可以通过SQLplus进行连接,但是sqlplus不是图形化界面不利于保存SQL语句,还是想要通过图形界面访问,一开始使用PLSQL,但是一直连接不上,后来直接用Oracle提供的sqldeveloper进行连接。
本地连接没什么特殊的,很容易就连接成功了,让我头疼的是如何远程连接,我按照网络上的教程,使用Net Managment配置本地服务和监听器,但是在远端使用Sqldeveloper就是通过不了测试,后来发现网上有教程说我缺少Instant Client(即时客户端),下载之后配置好了发现也不行。
我突然想起了之前sqlserver远程连接的时候需要重启服务,于是我去重启了一遍Oracle的TNSListener服务,果真,重启之后配置重新载入就好了。
Oracle小记:
每个Oracle用户一个表方案,访问不同用户的表需要在表名字前面加用户名。
Oracle新建数据库是新建一个服务。
create user *name* identified by *passwd*
创建用户grant connect,dba,resource to *name*
分配权限
在Windows上安装Oracle驱动
为了做分布式实验,需要在一个没有安装Oracle数据库的Windows上面用ODBC来访问oracle,百度了很多,那些回答、博客一点用也没有,唯一有用的是这个,这篇博客说的是对的。
所以我们需要下载两个东西一个是base包(instantclient-basic),另一个是ODBC包(instantclient-odbc),下载下来之后是两个压缩包,解压然后合并(其实都把它们解压到一个位置即可,因为里面的文件夹名字都是一样的,会自动合并),然后把这个文件夹放置到随便一个你喜欢的地方,然后进去用管理员权限运行”odbc_install.exe”就行了,这时候ODBC管理程序里面就会出现Oracle in instantclient了。
要连接服务器还必须得配置TNS,在instantclient根目录下面新建一个目录叫做”NETWORK”,进去再新建一个目录叫做”ADMIN”,在ADMIN里面新建一个文件叫做”tnsnames.ora”(当然你也可以从Oracle服务器里面直接复制出来),这时候还需要配置两个环境变量,分别是ORACLE_HOME
和NLS_LANG
。第一个变量值就是instantclient目录(比如D:instantclient_11_2
),第二个变量值等于SIMPLIFIED CHINESE_CHINA.ZHS16GBK
,这个变量是解决sql通过odbc查询中文乱码问题的。
这时候你去ODBC管理程序里面就可以配置Oracle服务器了。TNS Service Name里面可以下拉出你在tnsnames.ora配置的内容(如果下拉不到东西说明你ORACLE_HOME变量没有配置)。
后来我发现,想要在SqlServer Management Studio里面连接Oracle数据库最简单的方法还是在电脑上安一个Oracle客户端……
最后还是没能逃过安装Oracle.