zoukankan      html  css  js  c++  java
  • Oracle数据库管理

    1.创建Oracle数据库的前期准备

     在安装Oracle软件时,使用OUI自动创建数据库

    2.使用DBCA图形化界面创建数据库

    主文件目录的密码修改

    计算机-管理-用户和文件组-找到oracle用户-鼠标右键修改密码

    3.使用CREATE DATABASE命令及脚本创建数据库

    4.启动数据库

    4.1启动数据库的方法

    C:Userme>sqlplus / as sysdba

     

    5.1 Oracle数据库的启动大致分为三个过程。

    1)Oracle程序根据初始化参数文件启动数据库实例,这个过程将分配一定的内存给实例。

    2)打开数据库的控制文件,读取控制文件中存储的各种数据库信息。

    3)根据读取到的数据库信息,打开各种文件,如数据文件,日志文件。

    根据启动过程可以分为三种模式

    1)NOMOUNT模式

    该模式分配内存给数据库实例,未打开数据库,不允许用户访问。(参数文件已打开)

    2)MOUNT模式

    该模式打开数据库控制文件,读取控制文件中的各种参数信息,如数据文件和日志文件的位置等。该状态装载数据库,但不打开数据库,不允许用户访问。(控制文件已打开)

    3)OPEN模式

     该模式打开数据库,允许用户访问,数据库对数据文件进行一系列的检查工作,该检查工作用于数据恢复。(数据库打开)

    4.2 转换启动模式

    1)启动数据库到nomount模式

    C:Userme>sqlplus / as sysdba
    SQL>startup nomount;

    该模式下会分配内存给实例,启动实例,未打开控制文件,此时可通过参数文件获得控制文件的位置,因为此时参数文件已经是打开的。

    SQL>show parameter control_files;

    2)启动数据库到mount模式

    C:Userme>sqlplus / as sysdba
    SQL>startup mount;

     

    该模式下已经打开控制文件,读取控制文件中的各种参数信息,如数据文件和日志文件的位置等。可以通过动态视图v$controlfile获得控制文件的存储目录

    SQL>select status,name,block_size from v$controlfile  

    3)启动数据库到OPEN模式

    方法1:使用指令startup open或startup(默认启动到OPEN状态)
    方法2:如果数据库是mount状态,可以使用alter database open指令切换到OPEN状态
    

    该模式打开数据库,允许用户访问。此模式下,数据库将打开数据文件,日志文件等,并对数据库进行一系列的检查工作,这些检查工作用于数据恢复

    4)从nomount转换到mount状态

    SQL>alter database monut
    

     5.关闭数据库

     要关闭数据库需要用户以SYSDBA的身份登陆,只有以SYSDBA的身份登陆才具有关闭数据库的权限。

    C:Userme>sqlplus / as sysdba
    SQL>startup
    SQL>shutdown

    5.1数据库关闭的三个步骤

    1)Oracle数据库首先关闭打开的各种数据文件,日志文件等。

    2)然后关闭打开的控制文件

    3)关闭实例

    根据关闭过程可以分为三个过程

    1)ClOSE数据库

    SQL>alter database close

     

    此时通过v$database的open_mode状态,发现此时数据库是MOUNT模式,即关闭了数据文件,日志文件等。

    2).DISMOUNT数据库

    SQL>alter database dismount; 

     

    通过查看v$database的open_mode状态,发现此时数据库提示"数据库未加载"的错误,因为在当前模式下,已经关闭了控制文件。

    此时查看v$instance的状态发现仍是开启的,也就是此时实例并未关闭。

    3)SHUTDOWN数据库

    Oracle关闭打开的数据库实例,释放SGA内存,结束所有后台进程。

    SQL>shutdown
    

    5.2关闭数据库的四种方式

    1)shutdown normal

    直接输入shutdown时默认会跟上normal参数,此方式关闭数据库时,不允许新的数据库连接,只有当前的所有连接当前的所有连接都退出时才会关闭数据库,这是一种安全的关闭数据库的方式,但是如果有大量用户连接,则需要较长时间才能关闭数据库。

    2)shutdown immediate

    这种方式能够较快且安全地关闭数据库,此时数据库会做一些操作,中断当前事务,回滚未提交的事务,强制断开所有用户的连接,执行检查点把脏数据写到数据文件中.但是如果事务很多,且业务量很大,则中断事务以及回滚数据,断开用户连接都会耗费时间.

    3)shutdown transactional

    数据库当前的连接继续执行,但不允许新的连接,一旦当前的所有事务执行完毕,则关闭数据库,如果当前的某些事务一直执行,或许会用几天的时间才能关闭数据库。

    4shutdown abort

    断开所有用户连接,拒绝新的连接,拒绝新的连接,断开当前的所有执行事务,立即关闭数据库,当数据库重启时需要进行数据库的恢复。

    6.Oracle数据库初始化参数文件 

           初始化参数文件是一个很重要的文件,在数据库实例启动时,Oracle会读取该文件中的参数来为实例分配内存,获得一些资源的位置,设置用户进程,获得控制文件的位置以及用户的登陆信息

    6.1参数文件的分类

    Oracle数据库初始化文件主要有两类,PFLE文件和SPFILE文件,其中PFILE文件是一个文本文件,可以使用文本编辑器编辑,而SPFILE是二进制文件,只能通过Oracle的命令来修改。

    1)PFILE,修改文件中的参数不会在当前实例中生效,只有重新启动实例加载参数文件后,所做的修改才会生效。因此又称为静态参数文件,其默认名字为init<ORACLE_SID>.ora

    2)SPFIEL,修改参数文件中的参数后马上在实例中生效,因此又称为动态参数文件

    Oracle在启动实例时,会按照下面的顺序来查找数据库初始化参数文件.

    1)首先使用服务器上的spfile<ORACLE_SID>.ora文件启动数据库。

    2)其次时查找服务器上默认的SPFILE文件启动

    3)如果没有找到SPFILE,就将init<ORACLE_SID>.ora文件作为启动参数文件。

    4)如果没有找到init<ORACLE_SID>.ora文件,则使用服务器上默认的PFILE来启动数据库.

    因此数据库在启动时,默认使用动态参数文件来启动,如果找不到动态参数文件,才选择静态参数文件来启动。

    使用静态参数文件启动数据库

    startup pfile=F:appcainame1adminorclpfileinit.ora.118201895725

     

    6.3创建初始化参数文件

    1)从SPFILE创建PFILE

    SQL>startup
    SQL>create pfile form spfile;
    

     

    2)创建静态参数文件时指定参数文件的位置

    SQL>create pfile='f:	est.ora' from spfile;
    

    3)从pfile创建spfile

    SQL>create spfile from pfile='f:	est.ora';
    

    6.4修改初始化参数

    1.数据库初始化参数有一系列参数名称和参数值组成

    先使用desc命令查看v$parameter结构

    SQL>desc v$parameter
    

    使用SQL查看db_name的值

    SQL>select value from v$parameter  where name='db_name';
    

    Oracle提供了alter system命令来修改参数值,其参数值为

    ALTER SYSTEM SET Parameter=value<comment='text'><deferred><scope=memory|spfile|both><sid='sid|*'>

    Parameter=value 为某个参数赋值

    可选参数:

    comment='text' 提供注释信息

    deferred 使用该该参数表示该修改对当前会话无效

    scope=memory|spfile|both 设置修改的参数保存的位置,memory指的是内存,重启数据库实例时,该参数无效,spfile指的是动态参数文件,重启数据库实例后,该参数仍然有效。both表示两个地方都存。

    sid='sid|*  用于集群系统,默认值是sid='*',其作用是为集群中所有实例指定唯一的参数设置。

    2.查询参数

    查询数据库process参数值

    SQL>col type for a10
    SQL>show parameter process

     

    更改数据库process参数值

    SQL>alter system set processes=200 scope=spfile;
    

    这里发现processess的参数并没有改变,这是因为设置了参数"scope=spfile",将参数保存在SPFILE中,只有重启数据库后才生效.

    取消更改的processess参数值

    SQL>alter system reset processes scope=spfile;
    

    重启后参数生效

     

      

      

      

  • 相关阅读:
    SQL Server 内存数据库原理解析
    SQL Server 利用游标解决Tempdb究极竞争-DBA-程序员需知
    SQL Server 利用锁提示优化Row_number()-程序员需知
    SQL Server并行死锁案例解析
    SQL Server In-Memory OLTP 无损PPT分享
    SQL Server优化器特性-动态检索
    SQL Server 隐式转换引发的躺枪死锁-程序员需知
    SQL Server 优化器特性导致的内存授予相关BUG
    SQL Server优化器特性-位图过滤(Bitmap)
    SQL Server优化技巧之SQL Server中的"MapReduce"
  • 原文地址:https://www.cnblogs.com/cainame/p/10096728.html
Copyright © 2011-2022 走看看