--时间:2020年8月24日
--作者:飞翔的小胖猪
一、启动关闭数据库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; &n.........