--时间:2020年8月24日

--作者:飞翔的小胖猪

手工目录:

#############################################################

一、启动关闭数据库
  1.1 启动10g、11g、12c非容器数据库。
    1.1.1 手动启动数据
    1.1.2 rhel6自动启动数据库
    1.1.3 rhel7自动启动数据库
  1.2 启动容器数据库
    1.2.1 切换PDB
    1.2.2 PDB切换到CDB
    1.2.3 pdb连接字符串
  1.3 RAC启停

#############################################################

一、启动关闭数据库

10g,11g数据库只需要进入到不同的实例中执行一个命令即可。对于创建有容器数据库的12c及以上的版本需要启动容器数据库。

1.1      启动10g、11g、12c非容器数据库。

在windos下数据库安装过后,oracle数据库会跟随系统自启动。在linux下需要手动设置oracle启动。在6下可以使用自定义脚本的模式也可以使用oracle自带的dbstart命令执行。

1.1.1  手动启动数据

[root@12c ~]# su - oracle                 #切换到oracle用户下

[oracle@12c ~]$ rlwrap sqlplus / as sysdba               #进入到sqlplus控制台

SQL> startup                               #启动数据库

SQL> select name,open_mode from v$database;                #查看数据库状态

 

1.1.2  rhel6自动启动数据库

在rhel6的操作系统中可以把数据库启动脚本做成服务加入到开启启动项中,设置随主机启动。

1.复制开机启动脚本

[root@wyzc ~]# cp /etc/init.d/network  oracle                 //拷贝一个模板用来定义oracle开机启动

定义系统启动脚本:

[root@wyzc ~]# vim /etc/init.d/oracle

#! /bin/bash

#

# ORACLE        up/down ORACLE

#

# chkconfig: 2345  90 1

# description: Activates/Deactivates all network interfaces configured to

# Source function library.

. /etc/init.d/functions

case "$1" in

  start)

        su - oracle -c "/home/oracle/start11g"

        ;;

  stop)

        su - oracle -c "/home/oracle/shutdown11g"

        ;;

  *)

        echo $"Usage: $0 {start|stop}"

        exit 2

esac

exit $rc

2.关闭数据库脚本

[oracle@wyzc ~]$ cat shutdown11g              //11g关闭数据库,同时停止监听端口

#!/bin/bash

sqlplus / as sysdba <<EOF

shutdown immediate

EOF

lsnrctl stop;

3.启动数据库脚本

[oracle@wyzc ~]$ cat start11g               //打开数据监听端口,启动数据库

#!/bin/bash

lsnrctl start;

sqlplus / as sysdba <<EOF

startup

EOF

 

1.2  启动容器数据库

默认情况下在12C的CDB中执行SQL>startup;并不能把PDB启动至OPEN状态,只到MOUNT状态

[root@12c ~]# su - oracle                  #切换到oracle用户下

[oracle@12c ~]$ rlwrap sqlplus / as sysdba                #进入到sqlplus控制台

SQL> startup                       #启动数据库实例

SQL> select name,open_mode from v$database;                #查看数据库实例状态

SQL> col name for a20                        #设置name列的显示长度为20个字符

SQL> select con_id,name,open_mode from v$pdbs;          #查看确认pdbs状态

 发现CDB状态正常,PDB处于mountd状态。

 

SQL> select con_id,name,open_mode from v$pdbs;          #查看确认pdb状态

SQL> alter pluggable database LVANPDB open;                #启动插入式数据库

SQL> select con_id,name,open_mode from v$pdbs;          #查看确认pdb状态

 

1.2.1  切换PDB

在安装有容器数据库的12C及以上版本的数据库管理时时常需要切换到CDB和PDB中进行操作。

1.CDB切换到PDB中,sys用户

[root@12c ~]# su - oracle                            #切换到oracle用户

[oracle@12c ~]$ rlwrap sqlplus / as sysdba                #进入到sqlplus控制台

SQL> show pdbs;                                          #查看pdbs名称

SQL> alter session set container=LVANPDB;     #切换到pdb中,用户为sys

SQL> show con_name;                        #查看容器名称

SQL> show con_id;                               #查看容器ID

 

SQL> ALTER PLUGGABLE DATABASE OPEN READ ONLY FORCE;                #切换到只读状态
SQL> ALTER PLUGGABLE DATABASE CLOSE IMMEDIATE;                           #关闭数据库

同时也可以通过切换到pdb实例后再进行启动停止操作。

[root@12c ~]# su - oracle                  #切换到oracle用户

[oracle@12c ~]$ rlwrap sqlplus / as sysdba                #进入sqlplus控制台

SQL> startup            #启动数据库

SQL> col name for a25;             #格式化字符

SQL> select con_id,name,open_mode from v$pdbs;          #查看pdb名及状态

SQL> alter session set container=lvanpdb;                  #切换到pdb中

SQL> startup                       #在pdb中启动数据库

SQL> select name,open_mode from v$database;                #确认pdb数据库状态

  

1.2.2  PDB切换到CDB

SQL> show con_name;               #查看当前容器名字

SQL> show user;                          #查看当前用户

SQL> alter session set container=CDB$ROOT;           #切换CDB中

SQL> show con_name;               #查看当前容器名字

SQL> show user;                          #查看当前用户

 

1.2.3  pdb连接字符串

[root@12c ~]# su - oracle                  #切换到oracle用户,因为oracle下有sqlplus工具命令

[oracle@12c ~]$ rlwrap  sqlplus  lvan/yinwan@192.168.111.3:1521/lvanpdb  #使用lvan用户登录pdb数据库

SQL> show user;                 #查看当前用户名

SQL> show con_name;      #查看当前容器名

 

1.3  RAC启停

#查看数据库名

[grid@18crac1 ~]$ srvctl config database  

 

#启动数据库

[grid@18crac1 ~]$ srvctl start database -d orcl  

 

#查看数据库实例启动情况

[grid@18crac1 ~]$ crsctl stat res -t  |grep -iA5 ora.orcl.db

 

#停止数据库

[grid@18crac1 ~]$ srvctl stop database -d orcl

[grid@18crac1 ~]$ crsctl stat res -t  |grep -iA5 ora.orcl.db

 

#启动数据库到mount阶段

[grid@18crac1 ~]$ srvctl start instance -d orcl  -i orcl1 -o mount           

[grid@18crac1 ~]$ crsctl stat res -t  |grep -iA5 ora.orcl.db  

内容来源于网络如有侵权请私信删除

文章来源: 博客园

原文链接: https://www.cnblogs.com/Pigs-Will-Fly/p/13552158.html

你还没有登录,请先登录注册
  • 还没有人评论,欢迎说说您的想法!