데이터 베이스 MySQL 튜토리얼 深入解析Oracle数据库

深入解析Oracle数据库

Jun 07, 2016 pm 05:08 PM
오라클 데이터베이스

深入解析Oracle数据库,数据库的启动与关闭,控制文件与数据库初始化

数据库的启动:

nomount:Oracle首先寻找参数文件,然后根据参数文件中的设置,创建实例,分配内存,启动后台进程。

mount:oracle可以从参数文件中获得控制文件的位置信息,然后找到控制文件,并且根据控制文件中记录的数据文件位置进行数据文件的存在性判断。

open:oracle将根据控制文件中 记录的信息,找到数据文件、日志文件的位置,然后进行检查点及完整性检查。如果不存在问题就可以启动数据库,如果存在不一致或文件丢失则需要进行恢复。oracle进行的检查中包括以下两项:

第一次,检查数据文件头中的检查点计数(checkpoint cnt)是否和控制文件中的检查点计数(checkpoint cnt)一致。

第二次,检查数据文件的开始(system change number)scn和控制文件中记录的该文件的结束(system change number)scn是否一致。

数据库的关闭:

close:注意close数据库仅允许在没有连接的情况下进行,否则可能遇到ORA-01093错误。

dismount:

shutdown:

几种关闭方式的对比:

shutdown normal:任何新的连接都将不再允许连到数据库,但是在数据库关闭之前,oracle需要等到当前连接的所有用户都从数据库中退出。采用这种方式闭关数据库,在下一次启动时不需要进行任何的实例恢复。

shutdown immediate:当前正在被oracle处理的事务立即中断,未提交的事务将全部回滚,系统不等待连接到数据库的用户退出,强制断开所有的连接用户。然后执行检查点,将变更数据全部写回数据文件,关闭数据库。使用这种方式关闭数据库,在下次启动数据库时不需要进行实例恢复,是一种安全的数据库关闭方式。

shutdown transactional:数据库不再允许建立新的连接,禁止新事务的进行,,但是允许当前活动事务执行完毕。在所有活动的事务执行完后,数据库将与shutdown immediate同样的方式关闭数据库。

shutdown abort:数据库会立即终止所有用户连接、中断所有事务、立即关闭数据库,未完成事务不会回滚,数据库也不会执行检查点,在下次启动时,数据库必须执行实例恢复。

linux

본 웹사이트의 성명
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.

뜨거운 기사 태그

메모장++7.3.1

메모장++7.3.1

사용하기 쉬운 무료 코드 편집기

SublimeText3 중국어 버전

SublimeText3 중국어 버전

중국어 버전, 사용하기 매우 쉽습니다.

스튜디오 13.0.1 보내기

스튜디오 13.0.1 보내기

강력한 PHP 통합 개발 환경

드림위버 CS6

드림위버 CS6

시각적 웹 개발 도구

SublimeText3 Mac 버전

SublimeText3 Mac 버전

신 수준의 코드 편집 소프트웨어(SublimeText3)

Oracle에서 테이블이 속한 테이블스페이스를 확인하는 방법 Oracle에서 테이블이 속한 테이블스페이스를 확인하는 방법 Jul 06, 2023 pm 01:31 PM

Oracle에서 테이블이 속한 테이블스페이스를 확인하는 방법

PDO를 사용하여 Oracle 데이터베이스에 연결하는 방법 PDO를 사용하여 Oracle 데이터베이스에 연결하는 방법 Jul 28, 2023 pm 12:48 PM

PDO를 사용하여 Oracle 데이터베이스에 연결하는 방법

오라클에서 중복 데이터 하나만 검색하는 방법 오라클에서 중복 데이터 하나만 검색하는 방법 Jul 06, 2023 am 11:45 AM

오라클에서 중복 데이터 하나만 검색하는 방법

PHP 및 Oracle 데이터베이스로 데이터 가져오기 구현 PHP 및 Oracle 데이터베이스로 데이터 가져오기 구현 Jul 12, 2023 pm 06:46 PM

PHP 및 Oracle 데이터베이스로 데이터 가져오기 구현

Oracle이 저장 프로시저에 테이블이 존재하는지 확인하는 방법 Oracle이 저장 프로시저에 테이블이 존재하는지 확인하는 방법 Jul 06, 2023 pm 01:20 PM

Oracle이 저장 프로시저에 테이블이 존재하는지 확인하는 방법

PHP 및 Oracle 데이터베이스 연결 풀을 효율적으로 사용하는 방법 PHP 및 Oracle 데이터베이스 연결 풀을 효율적으로 사용하는 방법 Jul 12, 2023 am 10:07 AM

PHP 및 Oracle 데이터베이스 연결 풀을 효율적으로 사용하는 방법

Oracle 데이터베이스에는 jdk가 필요합니까? Oracle 데이터베이스에는 jdk가 필요합니까? Jun 05, 2023 pm 05:06 PM

Oracle 데이터베이스에는 jdk가 필요합니까?

Oracle의 데이터 유형은 무엇입니까? Oracle의 데이터 유형은 무엇입니까? Jun 05, 2023 am 11:40 AM

Oracle의 데이터 유형은 무엇입니까?

See all articles