前言

环境:Centos7.9 Oracle12.1.0.2.0

启动Oracle

[oracle@oracle ~]$ echo $ORACLE_SID			#查看当前的数据库实例名
[oracle@oracle ~]$ sqlplus / as  sysdba;		#登录数据库软件,还可以sqlplus /nolog 登录后connect sys/123456 as sysdba;
SQL> show user;
USER is "SYS"									#说明上述的登录直接就是sys用户了
SQL> startup;									#启动实例并挂载数据库,缺省值为open	

查看oracler软件有多少个数据库/实例

一般的,我们可以通过查看 /u01/app/oracle/oradata/下有多少个数据库文件或者查看监听文件,看下监听文件监听了多少个数据库,我们就能大概判断当前Oracle安装了多少个数据库,如下:

[oracle@oracle ~]$cd    /u01/app/oracle/oradata/					
[oracle@oracle oradata]$  ll
drwxr-x--- 5 oracle oinstall  58 Aug  1 18:46 DEP		
drwxr-x--- 2 oracle oinstall 201 Jul 17 15:50 orcl
[oracle@oracle oradata]$ 
[oracle@oracle ~]$ cat   /u01/app/oracle/product/12.1.0.2/db_1/network/admin/tnsnames.ora 
# tnsnames.ora Network Configuration File: /u01/app/oracle/product/12.1.0.2/db_1/network/admin/tnsnames.ora
# Generated by Oracle configuration tools.

DEP =																	#真的建立了监听
  (DESCRIPTION =
    (ADDRESS = (PROTOCOL = TCP)(HOST = oracle)(PORT = 1521))
    (CONNECT_DATA =
      (SERVER = DEDICATED)
      (SERVICE_NAME = dep)
    )
  )

ORCL =
  (DESCRIPTION =
    (ADDRESS_LIST =
      (ADDRESS = (PROTOCOL = TCP)(HOST = localhost)(PORT = 1521))
    )
    (CONNECT_DATA =
      (SERVICE_NAME = orcl)
    )
  )

启动默认的orcl数据库(单实例)

[root@oracle ~]$ su - oracle						#先切换为Oracle用户,因为只有Oracle用户才对Oracle软件具有完全使用权
[oracle@oracle ~]$ echo $ORACLE_SID					#查看当前的默认启动的实例是什么
orcl
[oracle@oracle ~]$ lsnrctl start    				#启动监听服务					
[oracle@oracle ~]$ sqlplus / as sysdba        		#登录Oracle软件,会连接到一个空的实例,因为数据库还没挂载呢
SQL> startup;										#启动实例,挂载默认orcl数据库
ORACLE instance started.

Total System Global Area 1560281088 bytes
Fixed Size		    2924784 bytes
Variable Size		  989859600 bytes
Database Buffers	  553648128 bytes
Redo Buffers		   13848576 bytes
Database mounted.
Database opened.

SQL> select instance_name from v$instance;			#查看当前的实例,输出显示为orcl
orcl
SQL> exit;
[oracle@oracle ~]$ lsnrctl status					#查看监听状态,发现监听服务已经在监听orcl数据库了 

设置单实例数据库开机自启动(单实例开机自启)

1、将/u01/app/oracle/product/11.2.0.4/db_1/bin/dbstart文件中的ORACLE_HOME_LISTNER=$1修改成ORACLE_HOME_LISTNER=$ORACLE_HOME,前提必须是$ORACLE_HOME环境设置正确
2、修改/etc/oratab文件
 vim /etc/oratab
orcl:/u01/app/oracle/product/11.2.0.4/db_1:Y				#找到这行并将最后的N改为Y即可报存退出
3、编写自启动脚本
	vim /u01/start_orcl.sh
	#!/bin/bash
	su - oracle
	export ORACLE_SID=orcl
	sqlplus / as sysdba <<EOF
	startup;
	quit;
	EOF
chmod +x /u01/start_orcl.sh
4、在/etc/rc.d/rc.local文件添加3条语句(路径要正确):
	su  oracle -lc "/u01/app/oracle/product/11.2.0.4/db_1/bin/lsnrctl start"
	su  oracle -lc  /u01/app/oracle/product/11.2.0.4/db_1/bin/dbstart
	bash /u01/start_orcl.sh 2>>&1/u01/start_orcl.log
5、chmod +x /etc/rc.d/rc.local	
6、重启Linux,执行命令lsnrctl status查看监听状态,如果数据库正在被监听则说明以上设置成功,Oracle自启动成功

启动另外一个dep数据库(多实例)

[oracle@oracle ~]$ export ORACLE_SID=dep			#切换实例,启动dep数据库
[oracle@oracle ~]$ sqlplus /  as sysdba;			#登录Oracle软件,会连接到一个空的实例,因为数据库还没挂载呢

SQL*Plus: Release 12.1.0.2.0 Production on Sun Aug 1 23:31:30 2021
Copyright (c) 1982, 2014, Oracle.  All rights reserved.
Connected to an idle instance.						#连接到一个空的实例

SQL> startup;										#启动实例并挂载dep数据库
ORACLE instance started.

Total System Global Area 1593835520 bytes
Fixed Size		    2924880 bytes
Variable Size		 1023413936 bytes
Database Buffers	  553648128 bytes
Redo Buffers		   13848576 bytes
Database mounted.
Database opened.
SQL> select instance_name from v$instance;			#查看当前的实例,输出显示为dep
SQL>exit;
[oracle@oracle ~]$ lsnrctl status					#查看监听状态,发现监听服务已经在监听orcl数据库和dep数据库了 


## sys登录数据库
多实例启动完了,我们就来登录数据库,如下:
[oracle@oracle ~]$ sqlplus sys/manager001@127.0.0.1:1521/dep as sysdba				#使用sys用户登录orcl数据库,登录成功

SQL*Plus: Release 12.1.0.2.0 Production on Mon Aug 2 23:20:21 2021

Copyright (c) 1982, 2014, Oracle.  All rights reserved.


Connected to:
Oracle Database 12c Enterprise Edition Release 12.1.0.2.0 - 64bit Production
With the Partitioning, OLAP, Advanced Analytics and Real Application Testing options

SQL> 



[oracle@oracle ~]$ sqlplus sys/123456@127.0.0.1:1521/dep as sysdba				#使用sys用户登录dep数据库,登录成功

SQL*Plus: Release 12.1.0.2.0 Production on Mon Aug 2 23:20:21 2021

Copyright (c) 1982, 2014, Oracle.  All rights reserved.


Connected to:
Oracle Database 12c Enterprise Edition Release 12.1.0.2.0 - 64bit Production
With the Partitioning, OLAP, Advanced Analytics and Real Application Testing options

SQL> 

以上的sys用户密码是不相同的,这就是说明每一个数据库都有一个自己的sys用户。

Logo

为开发者提供学习成长、分享交流、生态实践、资源工具等服务,帮助开发者快速成长。

更多推荐