环境redhat5.4 oracle10g
以前的环境是redhat9 oracle9i
数据库无法导出,原来我电脑上安装的客户端是对应的10g的客户端,导出9i的数据比较麻烦,于是在一个9i的客户端上将数据导出。
安装完数据库后,数据库存在两个ncne的数据库和exam的数据库,一开始就想当然的认为一定要建立两个数据库的instance,于是查各种资料,说是用dbca可以新建实例,但是新建实例后,总是安装失败,说是ora-12546 tns perssion denied,苦恼了很久。最后在oracle群里一个人说可以不用建两个实例,建两个用户就可以实现要求,灵光一现,查看以前的PL/SQL的tnsnames.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要开启它的“监听器,sqlplus,database”
进入oracle_home目录,转换用户su oracle //注意不能再root用户下执行
在bin目录下执行 //需转换到oracle用户下才行
./lsnrctl start
./isqlplusctl start
./sqlplus “/as sysdba” //注意前面有点”.”
SQL>startup
可以输入网址http://你的ip:5560/sqlplus来查看sqlplus是否开启