当前位置: 首页 > news >正文

Oracle启动与关闭(基础操作)

11g读取参数文件的顺序

9i之前,只有静态参数文件pfile文件。

9i开始,引入了动态参数文件spfile文件。

Windows

  • %ORACLE_HOME%\database

在这里插入图片描述

SPFILEORCL就是动态参数文件

Linux

  • $ORACLE_HOME/dbs

在这里插入图片描述

11g中,启动数据库。

Oracle按照 spfileSID.ora -> spfile.ora -> initSID.ora -> init.ora顺序查找

都找不到就启动不了数据库。

SID服务名,也叫做Oracle系统标识符。

Oracle的启动

数据库的四种状态及打开数据库

Oracle是由数据库(数据文件)、实例(包含内存(SGAPGA)和后台进程)组成

  • shutdown 实例(内存和进程都关闭掉)、数据库都关闭
  • NOMOUNT 实例启动(内存分配,进程启动)数据库仍然关闭(数据文件没被打开)。

可以执行:

select * from v$bgprocess;
select * from v$instance;

alter database mount;
  • mount 数据库装载完成,打开控制文件(control file)控制文件记载着整个数据库信息

控制文件(control file),可以找到database结构信息,但是用户的表的内容还没有打开用户的信息无法被读取,只能读取控制文件包含的信息。

可以执行:

select * from v$database;
select * from v$tablespace;
select * from v$datafile;

alter database open;
  • OPEN数据库打开并成功加载,可以访问用户表。
alter database open;

实操

sqlplus / as sysdba

select open_mode from v$database;
OPEN_MODE
------------------------------------------------------------
#数据库是读写状态 处于OPEN状态
READ WRITE

关闭数据库

immediate:不允许新用户连接,不等待已连接用户做完所有的事务,回滚掉用户所做的事务,然后系统自动断开和他们的连接。

abort 强制断开和所有用户的连接。不安全!

SQL> shutdown immediate
Database closed.           #把数据库关闭把用户的表关闭
Database dismounted.       #卸载就是把控制文件关闭掉
ORACLE instance shut down. #内存也都没了、进程也关闭了

实例启动

SQL> startup nomount
ORACLE instance started.  #实例启动了

#System Global Area 内存已经分配了
Total System Global Area 2.1179E+10 bytes
Fixed Size                  2185032 bytes
Variable Size            1.0670E+10 bytes
Database Buffers         1.0469E+10 bytes
Redo Buffers               37048320 bytes

查看物理内存

SQL> show sga

Total System Global Area 2.1179E+10 bytes
Fixed Size                  2185032 bytes
Variable Size            1.0670E+10 bytes
Database Buffers         1.0469E+10 bytes
Redo Buffers               37048320 bytes

查看后台进程

SQL> select count(*) from v$bgprocess;

  COUNT(*)
----------
       295
       
说明后台进程已经启动!

查看控制文件

#此时控制文件处于关闭状态
SQL> select count(*) from v$controlfile;

  COUNT(*)
----------
         0

#更改为mount状态
alter database mount;
#此时控制文件就打开了
SQL> select count(*) from v$controlfile;

  COUNT(*)
----------
         2

查看用户表

#此时还是读不了用户表的
SQL> select count(*) from scott.emp;
select count(*) from scott.emp
                           *
ERROR at line 1:
ORA-01219: database not open: queries allowed on fixed tables/views only

#更改为open状态
alter database open;

#此时就可以查看数据表了!
SQL> select count(*) from scott.emp;

  COUNT(*)
----------
        14

实例启动二周目

SQL> shutdown immediate
Database closed.
Database dismounted.
ORACLE instance shut down.

#一步到胃了属于是!
SQL> startup
ORACLE instance started.

Total System Global Area 2.1179E+10 bytes
Fixed Size                  2185032 bytes
Variable Size            1.0670E+10 bytes
Database Buffers         1.0469E+10 bytes
Redo Buffers               37048320 bytes
Database mounted.
Database opened.

restrict

我没用过了解把!

SQL> shutdown immediate
Database closed.
Database dismounted.
ORACLE instance shut down.

#用该方式启动会限制没有 restricted session 的权限用户无法登录
SQL> startup restrict
ORACLE instance started.

Total System Global Area 2.1179E+10 bytes
Fixed Size                  2185032 bytes
Variable Size            1.0670E+10 bytes
Database Buffers         1.0469E+10 bytes
Redo Buffers               37048320 bytes
Database mounted.
Database opened.

sqlplus t1/t1@orcl
C:\Users\lenovo>sqlplus system/password@orcl

SQL*Plus: Release 11.2.0.1.0 Production on Sat Feb 15 22:03:37 2025

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

ERROR:
ORA-12526: TNS:listener: all appropriate instances are in restricted mode

force

#全部关闭以后再打开
startup force

参数文件

pfile静态参数文件可以被编辑的。

spfile动态参数文件是二进制文件

创建一个静态文件

SQL> create pfile='G:\pfileorcl.ora' from spfile;

File created.

打开该文件

文件格式是这样的:

orcl. xxxxx
...
*.    xxx

#只对这一个数据库实例起作用
#这一部分的话对内存分配管理
orcl. xxxxx

#加*对所有实例都起作用
#这一部分指的是文件到底在哪个路径下面
#怎么按照路径找重要的文件
*.

从参数文件读数据启动

shutdown immediate

startup pfile='G:\pfileorcl.ora'

在这里插入图片描述

http://www.dtcms.com/a/23582.html

相关文章:

  • Spring Boot(快速上手)
  • hive全量迁移脚本
  • 淘宝商品详情API数据解析接口的深度解析,涵盖接口调用流程、核心数据字段
  • 【对比】Pandas 和 Polars 的区别
  • 机器学习数学基础:25.随机变量分布详解
  • 【达梦数据库】disql工具参数绑定
  • 【k8s应用管理】kubernetes 配置资源管理
  • Centos修改ip
  • Playwright入门之---命令
  • 【MySQL】 常见数据类型
  • c# 2025/2/17 周一
  • 夜莺监控发布 v8.beta5 版本,优化 UI,新增接口认证方式便于鉴权
  • qt:经典窗口操作与控制
  • 使用 Flask 和 pdfkit 生成带透明 PNG 盖章的 PDF 并上传到阿里云 OSS
  • 【NLP 25、模型训练方式】
  • 数据结构:栈(Stack)及其实现
  • AI与互联网交互的四种技术路线分析
  • Linux在shell中如何提前结束脚本
  • leetcode88.合并两个有序数组
  • springboot021-基于协同过滤算法的个性化音乐推荐系统
  • Java并发编程——锁升级机制
  • SSE:用于流式传输的协议
  • 百度热力图数据获取,原理,处理及论文应用6
  • Java 开发者需要了解的 PDF 基础知识
  • 安全防御综合练习2 nat+智能选路
  • 串的基本操作--数据结构
  • 算法日常刷题笔记(1)
  • 【数据分享】1929-2024年全球站点的逐日降雪深度数据(Shp\Excel\免费获取)
  • vLLM专题(二):安装-CPU
  • Retrofit+OkHttp+ViewModel