情况描述:
监听创建后,除首次启动监听和OEM均连接成功外,重启服务器后,监听无法启动,于是看监听配置文件,发现确实有连接过,但是无全局数据库名和SID;再查看了hostname为localhost,hosts文件如下,
遂决定先在hosts文件下增加一列‘127.0.0.1 localhost’,然后再重新创建监听;
步骤:
用netca命令无法调出监听画面;
但是,尝试用dbca命令去建库,能调出画面,就是有很多小框出现,于是怀疑可能是字符集的原因,所以才会出现linux终端中文乱码,遂把中文字符集改为英文字符集;
[oracle@localhost ~]$ locale -a|grep gbk
zh_CN.gbk
zh_SG.gbk
改当前终端当前环境变量的字符编码,立即生效(重启服务器(虚拟机)失效);
export LANG=en_US
查看是否生效;
[oracle@localhost ~]$ locale
LANG=en_US
LC_CTYPE="en_US"
LC_NUMERIC="en_US"
LC_TIME="en_US"
LC_COLLATE="en_US"
LC_MONETARY="en_US"
LC_MESSAGES="en_US"
LC_PAPER="en_US"
LC_NAME="en_US"
LC_ADDRESS="en_US"
LC_TELEPHONE="en_US"
LC_MEASUREMENT="en_US"
LC_IDENTIFICATION="en_US"
LC_ALL=
改完字符集后,终端是不显示中文了,但还是无法调出配置界面;
改用netmgr配置监听;
找到之前配置的监听,点击左侧菜单栏中的‘X’,删除创建失败的监听;
重新添加监听,监听名字默认即可;
出现如下,这里我是创建首个监听,就不该监听端口了,就用默认的1521;
鼠标点击右侧上方菜单栏,选择‘Database Services’;
选择‘数据库服务’完后,会出现如下的信息,这三个值根据实际情况填即可,填之前可以看下当前环境的环境变量;
看环境变量用env命令即可;
[oracle@localhost admin]$ env
注意:其中的全局数据库名=数据库名+数据库域名,如全局数据库名是:ora11g.com;
最后一步,保存,点击‘File’中的‘Save Network Configuration’;
在是点保存前查看的配置监听失败的监听文件;
这是点保存后查看的情况,明显少了全局数据库名和SID;
到此,监听配置完成;