linux下搭建oracle遇到的问题

 

环境redhat5.4 oracle10g 

                                      

以前的环境是redhat9 oracle9i

数据库无法导出,原来我电脑上安装的客户端是对应的10g的客户端,导出9i的数据比较麻烦,于是在一个9i的客户端上将数据导出。

安装完数据库后,数据库存在两个ncne的数据库和exam的数据库,一开始就想当然的认为一定要建立两个数据库的instance,于是查各种资料,说是用dbca可以新建实例,但是新建实例后,总是安装失败,说是ora-12546 tns perssion denied,苦恼了很久。最后在oracle群里一个人说可以不用建两个实例,建两个用户就可以实现要求,灵光一现,查看以前的PL/SQLtnsnames.ora果然以前监听的只有一个实例,于是知道了该怎么做。在sys账号下登陆oracle,然后执行create user username identified by password;

grant  dba,resource,connect to username;命令,新建用户账户,并且赋予权限。

上面一步做完后以为大功告成,就急忙将数据库搬到楼上去用,结果开机后,发现监听器无法打开,很是苦恼,这想当然的事情再次没有想当然的发生。后来经过各种查资料,终于发现,在oracle_home下的/network/admin/listener.ora没有配置,需要将新建的实例加进去,留下一个作为参考,之前没有加内容时,并没有默认把对应数据库实例的监听器打开,只是打开了oracle自带的库,所以在执行ps –ef|grep lsnrctl时也会发现监听器是开着的。

这样打开后,发现194的程序还是没有链接上数据库,这次好找原因了,是因为194的数据库配置文件与我的数据库的名字不匹配,将其改正过来就行了,注意ncne还有exam的程序里都有三个连接数据库的配置文件,都需要改过来。

 

 

附:oracle启动方法

开启oracle要开启它的“监听器,sqlplusdatabase

进入oracle_home目录,转换用户su oracle          //注意不能再root用户下执行

bin目录下执行                                                     //需转换到oracle用户下才行             

./lsnrctl start

./isqlplusctl start

./sqlplus “/as sysdba”                              //注意前面有点”.”

SQL>startup

 

 

可以输入网址http://你的ip:5560/sqlplus来查看sqlplus是否开启

你可能感兴趣的:(oracle,sql,linux)