rac(六)创建数据库

创建数据库

 

 

 

 

 

 

 

 

 

 

显示上述报错

default listener is not configured in grid infrastructure home

 crsctl stat res -t查看资源

看不到 ora.LISTENER.lsnr

这里的服务显然没有listener

crs服务中没有注册到listener的服务,需要手工的添加一下

使用srvctl指令查看listener服务
[grid@oel11g ~]$ srvctl status listener
PRCN-2044 : No listener exists
以上证明确实没有listener服务添加入crs中

shdb1:~ # su - grid
grid@shdb1:~> srvctl status listener
Listener LISTENER_ORA is enabled
Listener LISTENER_ORA is running on node(s): shdb1,shdb2
grid@shdb1:~>

通过如下指令加listener加入到crs服务中

grid@shdb1:~> srvctl add listener
grid@shdb1:~> srvctl status listener
Listener LISTENER is enabled
Listener LISTENER is not running
Listener LISTENER_ORA is enabled
Listener LISTENER_ORA is running on node(s): shdb1,shdb2
grid@shdb1:~> srvctl start listener
PRCC-1014 : LISTENER_ORA was already running
PRCR-1004 : Resource ora.LISTENER_ORA.lsnr is already running
PRCR-1079 : Failed to start resource ora.LISTENER_ORA.lsnr
CRS-5702: Resource 'ora.LISTENER_ORA.lsnr' is already running on 'shdb1'

grid@shdb1:~> srvctl status listener
Listener LISTENER is enabled
Listener LISTENER is running on node(s): shdb1,shdb2
Listener LISTENER_ORA is enabled
Listener LISTENER_ORA is running on node(s): shdb1,shdb2
grid@shdb1:~>

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

创建监听和服务名文件

 

 

 

 

 

 

 

 

 

 

 

 

 

以oracle用户执行以下命令,设置本地监听器指向多个监听器配置。

sqlplus / as sysdba

SQL> alter system set local_listener='(DESCRIPTION=(ADDRESS_LIST=(ADDRESS=(PROTOCOL=TCP)(HOST=10.10.10.30)(PORT=1521))(ADDRESS=(PROTOCOL=TCP)(HOST=10.10.10.30)(PORT=1526))))' sid='shinfo1';

SQL> alter system set local_listener='(DESCRIPTION=(ADDRESS_LIST=(ADDRESS=(PROTOCOL=TCP)(HOST=10.10.10.40)(PORT=1521))(ADDRESS=(PROTOCOL=TCP)(HOST=10.10.10.40)(PORT=1526))))' sid='shinfo2';

10.10.10.30和10.10.10.40分别为服务器节点shdb1和shdb2的虚拟IP地址。
1521端口号为grid用户下默认监听器listener对应的端口。
1526端口号为oracle用户下新建监听器listener_ora对应的端口。

 

以oracle用户登录各服务器节点,执行命令vi $ORACLE_HOME/network/admin/listener.ora,
打开“$ORACLE_HOME/network/admin/listener.ora”文件。按“i”键,使文件进入编辑状态。
在文件中添加如下内容,防止监听无响应或者连接数据库时出现ORA-12570: TNS:packet reader failure错误。
SUBSCRIBE_FOR_NODE_DOWN_EVENT_LISTENER_ORA=OFF

按“Esc”键,执行命令:wq保存文件并退出。


13.以grid用户重新启动监听。

srvctl stop listener -l LISTENER_ORA

srvctl start listener -l LISTENER_ORA

说明:

LISTENER_ORA为oracle用户下新建的监听器名称,请使用实际规划值。
如果无法停止监听,请执行srvctl start listener -l LISTENER_ORA -f命令强制停止。

 

 


修改初始化文件
1.以oracle用户登录服务器节点1。
2.修改“initSID.ora”文件。

cd /opt/app/oracle/product/dbs

vi initshinfo1.ora

SPFILE='+DATADG/shinfo/spfileshinfo.ora'
_optim_peek_user_binds=false
_b_tree_bitmap_plans=false


修改初始化文件
1.以oracle用户登录服务器节点2。
2.修改“initSID.ora”文件。

cd /opt/app/oracle/product/dbs

vi initshinfo2.ora

SPFILE='+DATADG/shinfo/spfileshinfo.ora'
_optim_peek_user_binds=false
_b_tree_bitmap_plans=false

 

配置VNCR


在Oracle 11.2.0.4.0以上版本中,通过配置VNCR(Valid Node Checking Registration)可以修复CVE-2012-1675安全漏洞。


配置Oracle用户下的VNCR
1.以oracle用户在各节点执行vi $ORACLE_HOME/network/admin/listener.ora命令,打开“$ORACLE_HOME/network/admin/listener.ora”文件。
2.按“i”键,进入编辑状态,在文件内添加如下内容。
VALID_NODE_CHECKING_REGISTRATION_LISTENER_ORA=1


3.按“ESC”键,执行命令:wq保存并退出。
4.以oracle用户在各节点执行以下命令重启监听LISTENER_ORA。

lsnrctl stop listener_ora

lsnrctl start listener_ora

 

配置grid用户下的VNCR
1.以grid用户在各节点的“$ORACLE_HOME/network/admin/listener.ora”里添加如下内容。


VALID_NODE_CHECKING_REGISTRATION_LISTENER=1
VALID_NODE_CHECKING_REGISTRATION_LISTENER_SCAN1=1
REGISTRATION_INVITED_NODES_LISTENER_SCAN1=(shdb1, shdb2) #注意此处是主机名,不是实例名

 


2.以grid用户在各节点执行以下命令重启监听LISTENER。

lsnrctl stop listener

lsnrctl start listener


3.以grid用户在listener_scan1监听所运行的节点上执行以下命令重启监听LISTENER_SCAN1。

lsnrctl stop listener_scan1

lsnrctl start listener_scan1

 

posted @ 2020-08-10 12:05  霸王龙的日常  阅读(449)  评论(0编辑  收藏  举报