本文章主要讲解Oracle数据库的启动与关闭方法,详细讲解启动Oracle的命令,三种启动数据库的方法及区别;关闭数据库的4种方法及他们的区别。
 
 
启动和关闭数据库
 
 
•数据库没启动前,只有拥有DBA权限或者以sysoper或sysdba身份才能连接到数据库。
 
•完整的启动数据库包含三个过程:
 
启动实例
 
•读取初始化参数,位于$oracle_home\ora90\database下spfileSIDNAME.ora, initSIDNAME.ora
 
•分配SGA,并启动后台进程
 
•打开警告文件和跟踪文件来记录后台进程遇到的错误,位于$oracle_home\admin\sidname\bdump
 
安装数据库
 
•将数据库与一个打开的实例关联,
 
•打开控制文件,并获得数据,及其重做日志文件名字与状态
 
打开数据库
 
•打开数据库与联机重做日志文件
 
 
 
 
1、启动实例
 
2、安装数据库
 
 
SQL>startup mount,启动实例,安装数据库,不打开数据库。
 
相当于以下两个语句:
 
SQL>startup nomount
 
SQL>alter database mount;
 
修改数据库的运行方式或进行数据库恢复使用这种方式启动
 

 
3、打开数据库
 
 
 
 
 

 
数据库关闭方式
 

 
 
 
 
 
 
 
•查看当前连接的是哪个数据库
 
 
select value from v$parameter where name='db_name';
 
 
select name from v$database;
 
 
show parameters db_name
 
 
 
配置监听程序
 
监听程序使用是用来监听客户端连接的,并与客户端建立连接,数据安装完后有一个默认的监听
 

 
 
 
本地网络服务名
 
•本地网络服务名:
 
数据库的本地名称,如
 
•数据库SID为study
 
•配置本地服务名为localstudy
 
  以下两个连接数据库是一样的:
 
  SQL>conn scott/tiger@study
 
  SQL>conn scott/tiger@localstudy
 
当要连接远程的数据库时,需要配置网络服务名,通过网络服务名来连接数据库
 
 
配置本地网络服务名
 
•当连接远程的Oracle服务器时,需要配置本地网络服务名,通过本地网络服务名来连接
 
 
 
•也可以到$oracle_home\ora90\network\admin\listener.ora文件直接添加网络服务名
 
 

 
 
 
 
 
监听、服务的启动和关闭
 
•有两种方式来启动和关闭服务
 
1.在本地服务中启动
 
2.命令行启动
 
 
在本地服务中启动
 
•首先打开本地服务面板:
 
开始-管理工具-服务
 
•操作如下:
 
先选择你要操作的服务,然后右键,在弹出诓中单击你要操作的功能按钮
 
 
 

 
 
 
命令行启动服务(cmd)
 
•启动关闭监听器
 
启动:lsnrctl start
 
关闭:lsnrctl stop
 
•启动关闭数据库
 
启动:net start OracleServiceSID  
 
关闭:net stop OracleServiceSID
 
例如:我的数据库SID是:ITDB,那么启动命令为:
 
  net stop OracleServiceITDB
 
•启动关闭管理服务(OMS)
 
启动:oemctl start oms
 
关闭:oemctl stop oms //关闭时要输入管理员用户名/密码
 
 
Oracle配置文件
 
•Oracle11g数据库的物理文件主要有以下几种:
 
参数文件(parameter file)
 
•位于$oracle_home\admin\oracle实例\pfile\init.ora 
 
•init.ora是一个文本,定义了要启动的数据库及内存结构的大约200多项参数信息
 
•启动任何例程前,系统都要先读取该文件的各项信息,通过该文件来寻找控制文件
 
控制文件(control file)
 
•用于记录和维护整个数据库的全局物理结构,是二进制文件,以.ctl为后缀
 
•存放有关的关键控制信息,如数据库名和创建时间,大小及其位置等
 
•在创建数据库时生成,以后当数据库发生任何物理变化时被自动更改
 
•每个数据库至少包含一个控制文件,当数据库启动时,首先按照控制文件设定的数据文件、日志文件等来检查数据库的状态是否正常,最后才完成数据库的启动
 
 
数据文件(data file)
 
•存放数据库数据的文理文件,以.dbf为后缀
 
•数据库至少包含一个数据文件
 
•数据库安装完成后,系统会自动创建默认的表空间,放在$oracle_home\oradata目录下
 
•表空间的物理组成单元是数据文件,一个表空间可以包含多个数据文件,每个数据文件只能属于一个表空间。
 
日志文件(redo file)
 
•用于记录对数据库进行的修改操作和事务操作,以.log为后缀
 
•每个数据库至少包含两个重做日志文件,循环使用
 
其他oracle物理文件
 
•跟踪文件:*.trc
 
•警告文件:*.log
 
•备份文件
 
•口令文件
 
 
监听器相关的配置文件与配置参数
 
•Oracle常用的配置文件
 
•listener.ora监听配置文件
 
•tnsnames.ora网络服务配置文件
 
这两个文件可在\network\admin目录下找到
 
具体配置
 
•listener.ora监听配置文件 
 
 为了使得外部进程如 CAMS后台程序能够访问Oracle数据库必须配置Oracle网络服务器环境配置,Oracle网络服务器环境是通过配置listener.ora sqlnet.ora 和tnsnames.ora共三个文件来进行的listener.ora即监听配置文件
 listener.ora 文件中定义一个监听器 其缺省的名称为 LISTENER,这个监听器缺省以tcp/ip为协议、缺省端口号为1521运行
 
  

 
•tnsnames.ora
 
tnsnames.ora 文件中定义一个或多个网络服务 
 
•
 
 
 
Java连接Oracle
 
 
 •配置网络服务名,如:sampledb
 •将数据库驱动拷到你的项目中
 驱动位于$oracle_home\ora90\jdbc\lib\classes12.jar
 •驱动
 oracle.jdbc.driver.OracleDriver
 •连接串
 thin连接
   jdbc:oracle:thin:@localhost:1521:sid或者本地网络服务名
 oci连接,如果是远程,需要配置本地网络服务名
   jdbc:oracle:oci:@sid或本地网络服务名
 
  
 
 public class DBConnection {private static String url  = "jdbc:oracle:thin:@localhost:1521:study";//private static String url  = "jdbc:oracle:oci:@sampledb";private static String user="scott";private static String password="tiger";static {try {Class.forName(driver);	} catch (ClassNotFoundException e) {System.out.println(e.getMessage());} }public static Connection getConnection() {try {con = DriverManager.getConnection(url, user, password); } catch (SQLException e) {e.printStackTrace();}   
}
  
  
 本人从事软件项目开发20多年,2005年开始从事Java工程师系列课程的教学工作,录制50多门精品视频课程,包含java基础,jspweb开发,SSH,SSM,SpringBoot,SpringCloud,人工智能,在线支付等众多商业项目,每门课程都包含有项目实战,上课PPT,及完整的源代码下载,有兴趣的朋友可以看看我的在线课堂
 讲师课堂链接:https://edu.csdn.net/lecturer/893