在实际做项目过程中,经常会用到Oralce,很多时候都需要自己手动安装系统和数据库。在配置数据库时,往往比较头疼。
ora配置文件的编辑特别如此。测试不通过时,发生Error时,我们往往会去搜寻网上的解决方法。甚至还有的人会直接复制粘贴网上的配置信息到ora文件。然后不知不觉把全角空格复制进去了,然后?然后就一头雾水,不知所以然。找了好久好久才发现多了个全角空格。
今天推荐一种Oracle的新玩法,那就是把Oracle彻底破坏掉,让它裸奔。再一件件衣服给它穿上,重新认识Oracle数据库的生成和配置。
1.让Oracle裸奔。
通过DBCA工具删除数据库,一个不剩。

Oracle服务只有两个,
ora配置文件全部删除,
通过Net Manager 工具可以看到里面的配置全部没有了。
通过NetCa工具可以看到没有再可以删除的监听程序了。
网络服务名也没有了。
2.创建数据库。
通过数据库配置助手开始创建数据库,我们不知道后面会发生什么错误,不用担心,它会提示你的。
根据需要选择模板,下一步
设置数据库名,下一步
配置EM,下一步
提示警告来了,意思是当前没有配置监听程序,需要用Netca来配置监听程序才能继续。
OK,那我们去找到这个工具,netca其实是net configuration assistant的缩写。
netca打开后,选择监听程序配置,下一步
添加,下一步
下一步,继续
下一步
默认端口,下一步
不需要配置另外的监听,下一步
监听程序至此配置完成
打开windows的服务,看一下,应该是多了一个listener的服务。
继续返回创建数据库的第四步,下一步,就不会出现警告
设置Oracle的统一口令,下一步
下一步,继续
下一步,继续
勾选需要sample,下一步
设置字符集为UTF-8,下一步
下一步,继续
完成
确认后开始创建数据库。
创建数据库中
创建过程中会出现下面的警告,这个失败会导致不能启动EM服务,下面一些可能的原因确认后发现,还没有注册数据库服务,后面我们会注册,先确定。
OK数据库创建完成了。
我们发现服务列表下多出来一个数据库实例服务。
连上Oracle的sqlplus执行一下,看一下这个创建的实例是否存在。存在即说明数据库真创建成功了。
3.用客户端连接服务端
这边我们在客户机上选择用A5M2的数据库工具连接服务端,看看是否能使用。注:此款工具不需要安装Oracle 客户端
遗憾的是,出现了下面的错误,12514。还记得上面创建数据库时的EM的错误吗,数据库服务还没有注册到监听程序。
那么接下去就去配置它,打开net manager工具,选择listener
上边有个下拉框,有点隐蔽,选择数据库服务。
发现什么都没有,点击最下面的添加数据库。
然后就是输入三个信息。
需要确认一下的是你当前的Oracle主目录是什么。
把这个目录地址,粘贴到对应位置。
完了之后就需要最后一步,保存一下这个配置。
因为更改了listener,所以需要对listener这个服务进行先停止后重启的操作。
然后我们再来试试刚才的客户机的连接。
发现已经连接成功。就可以使用数据库工具对数据库进行操作了。
连接后,先执行一下这个SQL文看看,可以出结果就没有问题。
4.配置EM服务
使用数据库配置助手工具进行配置。
选择配置数据库选件。
选择数据库,下一步
下一步。
下一步,继续。
完成。
点击确定。
开始配置数据库。
数据库配置完成。保存好emkey.ora文件。
OK,最后我们要验证一下EM是否能正常访问。
看到监控画面就说明没有问题了。
5.配置主机名
如果这个时候你在客户机连接DB服务器时,使用主机名可能会出现问题。这需要设置另外一个配置。打开Netca工具。本地网络服务名配置
下一步。
设置服务名,下一步。
下一步。继续。
设置当前服务器主机名。
选择进行测试。
测试失败是因为口令需要输入一次。
更改登录,输入口令密码。
测试成功。
配置一下网络服务名。
不需要配置另外一个服务名。
网络服务名配置完成。
打开net manager,发现服务命名,多了一个venus。
点击下面的listener,改一下主机的IP为主机名。
保存以后,再重启一下listener服务。
确认一下oracle的目录下,只有两个ora配置文件。
使用netca工具,配置命名方法。
下一步。
命名方法配置完成。
多了一个sqlnet.ora配置文件。
打开windows的hosts文件。
修改前的状态。
在最后追加两行。保存后退出。
至此,所有的配置都已经完成。修改hosts文件的原因是,有的环境下,如果你访问EM使用的主机名会访问不到,访问IP地址倒是可以。
为了能访问EM的主机URL地址,做了如上配置。
图片很多,但是思路我想应该还是很清楚的。
清除所有的oracle配置,然后一步步慢慢添加,全程界面配置,不需要命令行或者手动输入内容。为的就是防止莫名其妙的原因。
如果有什么问题,欢迎留言交流。