OracleRAC日常基本维护命令

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了OracleRAC日常基本维护命令相关的知识,希望对你有一定的参考价值。

参考技术A

  所有实例和服务的状态

  $ srvctl status database d orcl

  Instance orcl is running on node linux

  Instance orcl is running on node linux

  单个实例的状态

  $ srvctl status instance d orcl i orcl

  Instance orcl is running on node linux

  在数据库全局命名服务的状态

  $ srvctl status service d orcl s orcltest

  Service orcltest is running on instance(s) orcl orcl

  特定节点上节点应用程序的状态

  $ srvctl status nodeapps n linux

  VIP is running on node: linux

  GSD is running on node: linux

  Listener is running on node: linux

  ONS daemon is running on node: linux

  ASM 实例的状态

  $ srvctl status a *** n linux

  ASM instance +ASM is running on node linux

  列出配置的所有数据库

  $ srvctl config database

  orcl

  显示 RAC 数据库的配置

  $ srvctl config database d orcl

  linux orcl /u /app/oracle/product/ /db_

  linux orcl /u /app/oracle/product/ /db_

  显示指定集群数据库的所有服务

  $ srvctl config service d orcl

  orcltest PREF: orcl orcl AVAIL:

  显示节点应用程序的配置 —(VIP GSD ONS 监听器)

  $ srvctl config nodeapps n linux a g s l

  VIP exists : /linux vip/ / /eth :eth

  GSD exists

  ONS daemon exists

  Listener exists

  显示 ASM 实例的配置

  $ srvctl config a *** n linux

  +ASM /u /app/oracle/product/ /db_

  集群中所有正在运行的实例

  SELECT

  inst_id

   instance_number inst_no

   instance_name inst_name

   parallel

   status

   database_status db_status

   active_state state

   host_name host

  FROM gv$instance

  ORDER BY inst_id;

  INST_ID INST_NO INST_NAME PAR STATUS DB_STATUS STATE HOST

  

   orcl YES OPEN ACTIVE NORMAL rac

   orcl YES OPEN ACTIVE NORMAL rac

  位于磁盘组中的所有数据文件

  select name from v$datafile

  union

  select member from v$logfile

  union

  select name from v$controlfile

  union

  select name from v$tempfile;

  NAME

  

  +FLASH_RECOVERY_AREA/orcl/controlfile/current

  +FLASH_RECOVERY_AREA/orcl/onlinelog/group_

  +FLASH_RECOVERY_AREA/orcl/onlinelog/group_

  +FLASH_RECOVERY_AREA/orcl/onlinelog/group_

  +FLASH_RECOVERY_AREA/orcl/onlinelog/group_

  +ORCL_DATA /orcl/controlfile/current

  +ORCL_DATA /orcl/datafile/example

  +ORCL_DATA /orcl/datafile/indx

  +ORCL_DATA /orcl/datafile/sysaux

  +ORCL_DATA /orcl/datafile/system

  +ORCL_DATA /orcl/datafile/undotbs

  +ORCL_DATA /orcl/datafile/undotbs

  +ORCL_DATA /orcl/datafile/undotbs

  +ORCL_DATA /orcl/datafile/undotbs

  +ORCL_DATA /orcl/datafile/users

  +ORCL_DATA /orcl/datafile/users

  +ORCL_DATA /orcl/onlinelog/group_

  +ORCL_DATA /orcl/onlinelog/group_

  +ORCL_DATA /orcl/onlinelog/group_

  +ORCL_DATA /orcl/onlinelog/group_

  +ORCL_DATA /orcl/tempfile/temp

   rows selected

  属于 ORCL_DATA 磁盘组的所有 ASM 磁盘

  SELECT path

  FROM v$a *** _disk

  WHERE group_number IN (select group_number

  from v$a *** _diskgroup

  where name = ORCL_DATA );

  PATH

  

  ORCL:VOL

  ORCL:VOL

   启动/停止RAC集群

  确保是以 oracle UNIX 用户登录的 我们将从rac 节点运行所有命令

  # su – oracle

  $ hostname

  Rac

  停止 Oracle RAC g 环境

  第一步是停止 Oracle 实例 当此实例(和相关服务)关闭后 关闭 ASM 实例 最后 关闭节点应用程序(虚拟IP GSD TNS 监听器和 ONS)

  $ export ORACLE_SID=orcl

  $ emctl stop dbconsole

  $ srvctl stop instance d orcl i orcl

  $ srvctl stop a *** n rac

  $ srvctl stop nodeapps –n rac

  启动 Oracle RAC g 环境

  第一步是启动节点应用程序(虚拟 IP GSD TNS 监听器和 ONS) 当成功启动节点应用程序后 启动 ASM 实例 最后 启动 Oracle 实例(和相关服务)以及企业管理器数据库控制台

  $ export ORACLE_SID=orcl

  $ srvctl start nodeapps n rac

  $ srvctl start a *** n rac

  $ srvctl start instance d orcl i orcl

  $ emctl start dbconsole

  使用 SRVCTL 启动/停止所有实例

  启动/停止所有实例及其启用的服务 我只是觉得有意思就把此步骤作为关闭所有实例的一种方法加进来了!

  $ srvctl start database d orcl

lishixinzhi/Article/program/Oracle/201311/16967

nginx日常维护常用命令

一、简明nginx常用命令

1. 启动 Nginx

[email protected]:sudo ./sbin/nginx

2. 停止 Nginx

[email protected]:sudo ./sbin/nginx -s stop
[email protected]:sudo ./sbin/nginx -s quit

-s都是采用向 Nginx 发送信号的方式。

3. Nginx 重载配置

1
[email protected]:sudo ./sbin/nginx -s reload

上述是采用向 Nginx 发送信号的方式,或者使用:

[email protected]:service nginx reload

4. 指定配置文件

[email protected]:sudo ./sbin/nginx -c /usr/local/nginx/conf/nginx.conf

-c表示configuration,指定配置文件。

5. 查看 Nginx 版本
有两种可以查看 Nginx 的版本信息的参数。第一种如下:

[email protected]:/usr/local/nginx$ ./sbin/nginx -v
nginx: nginx version: nginx/1.0.0

另一种显示的是详细的版本信息:

[email protected]:/usr/local/nginx$ ./sbin/nginx -V
nginx: nginx version: nginx/1.0.0
nginx: built by gcc 4.3.3 (Ubuntu 4.3.3-5ubuntu4) 
nginx: TLS SNI support enabled
nginx: configure arguments: --with-http_ssl_module --with-openssl=/home/luming/openssl-1.0.0d/

6. 检查配置文件是否正确

[email protected]:/usr/local/nginx$ ./sbin/nginx -t
nginx: [alert] could not open error log file: open() "/usr/local/nginx/logs/error.log" failed (13: Permission denied)
nginx: the configuration file /usr/local/nginx/conf/nginx.conf syntax is ok
2012/01/09 16:45:09 [emerg] 23898#0: open() "/usr/local/nginx/logs/nginx.pid" failed (13: Permission denied)
nginx: configuration file /usr/local/nginx/conf/nginx.conf test failed

如果出现如上的提示信息,表示没有访问错误日志文件和进程,可以sudo(super user do)一下:

[email protected]:/usr/local/nginx$ sudo ./sbin/nginx -t
nginx: the configuration file /usr/local/nginx/conf/nginx.conf syntax is ok
nginx: configuration file /usr/local/nginx/conf/nginx.conf test is successful

如果显示如上,则表示配置文件正确。否则,会有相关提示。

 

7. 显示帮助信息

[email protected]:/user/local/nginx$ ./sbin/nginx -h

或者:

[email protected]:/user/local/nginx$ ./sbin/nginx -?

 

以上这些涵盖了 Nginx 日常维护的所有基本操作,另外还有向 master 进程发送信号的相关命令,我们会在下面看到。

二、在Linux下通过master发送信号的相关命令

停止操作
停止操作是通过向nginx进程发送信号(什么是信号请参阅linux文 章)来进行的
步骤1:查询nginx主进程号
ps -ef | grep nginx
在进程列表里 面找master进程,它的编号就是主进程号了。
步骤2:发送信号
从容停止Nginx:
kill -QUIT 主进程号
快速停止Nginx:
kill -TERM 主进程号
强制停止Nginx:
pkill -9 nginx

另外, 若在nginx.conf配置了pid文件存放路径则该文件存放的就是Nginx主进程号,如果没指定则放在nginx的logs目录下。有了pid文 件,我们就不用先查询Nginx的主进程号,而直接向Nginx发送信号了,命令如下:
kill -信号类型 ‘/usr/nginx/logs/nginx.pid‘ (推荐)

平滑重启
如果更改了配置就要重启Nginx,要先关闭Nginx再打开?不是的,可以向Nginx 发送信号,平滑重启。
平滑重启命令:
kill -HUP 住进称号或进程号文件路径
或者使用

nginx -s reload(推荐)

/usr/nginx/sbin/nginx -s reload

注意,修改了配置文件后最好先检查一下修改过的配置文件是否正 确,以免重启后Nginx出现错误影响服务器稳定运行。判断Nginx配置是否正确命令如下:

nginx -t -c /usr/nginx/conf/nginx.conf

或者

nginx -t (推荐)

/usr/nginx/sbin/nginx -t

平滑升级
如果服务器正在运行的Nginx要进行升级、添加或删除模块时,我们需 要停掉服务器并做相应修改,这样服务器就要在一段时间内停止服务,Nginx可以在不停机的情况下进行各种升级动作而不影响服务器运行。
步骤1:
如 果升级Nginx程序,先用新程序替换旧程序文件,编译安装的话新程序直接编译到Nginx安装目录中。
步 骤2:执行命令
kill -USR2 旧版程序的主进程号或进程文件名
此时旧的Nginx主进程将会把自己的进程文件改名为.oldbin,然后执行新版 Nginx。新旧Nginx会同市运行,共同处理请求。
这时要逐步停止旧版 Nginx,输入命令:
kill -WINCH 旧版主进程号
慢慢旧的工作进程就都会随着任务执行完毕而退出,新版的Nginx的工作进程会逐渐取代旧版 工作进程。

此 时,我们可以决定使用新版还是恢复到旧版。
不重载配置启动新/旧工作进程
kill -HUP 旧/新版主进程号
从容关闭旧/新进程
kill -QUIT 旧/新主进程号
如果此时报错,提示还有进程没有结束就用下面命令先关闭旧/新工作进程,再关闭主进程号:
kill -TERM 旧/新工作进程号

这样下来,如果要恢复到旧版本,只需要上面的几个步 骤都是操作新版主进程号,如果要用新版本就上面的几个步骤都操作旧版主进程号就行了。

上面就是Nginx的一些基本的操作,希望以后Nginx能有更好的方法来处理这些操作, 最好是Nginx的命令而不是向Nginx进程发送系统信号


































以上是关于OracleRAC日常基本维护命令的主要内容,如果未能解决你的问题,请参考以下文章

MongoDB之基本操作与日常维护

mha日常维护命令

MHA 日常维护命令集

nginx日常维护常用命令

db_ha集群日常维护命令

db_ha集群日常维护命令