oracle 基础知识 二

基本初始化参数

参数

说明

db_name

数据库名称,其值只能包含阿拉伯字符、数字、#_$,并且最多只能包含8个字符。该名称必须与CREATE DATABASE后面的数据库名称相匹配。

db_domain

在分布式网络环境中的数据库域。设置该参数时应该将其设置为网络域名。该参数与db_name共同构成全局数据库名(格式:db_name.db_domain)。

Instance_name

例程唯一的名称。主要用于在RAC(real  application  cluster)环境中标识一个数据库的不同例程。在单例程数据库系统中,其值与db_name相同。

Service_names

服务名称(一个或多个)。客户程序使用服务名称连接到例程。默认值是db_name.db_domain

Control_files

控制文件名称(一个或多个)。当指定多个控制文件时,名称之间用逗号分隔。最多可指定8个控制文件。

db_block_size

标准Oracle块的大小。取值为2048,4096,8192,16384,32768.该参数在创建数据库时被指定,之后就不能再修改了。

Db_cache_size

标准数据高速缓存的尺寸。在标准oracle块上的读写操作会使用标准数据高速缓存。

Share_pool_size

共享池的尺寸

Log_buff

重做日志缓存区的尺寸

Sga_max_size

SGA(system Global Area) 的最大尺寸

db_recovery_file_dest

写入恢复文件的目录位置

db_recovery_File_dest_size

存储FLASH Recovery文件磁盘空间的大小

Java_pool_size

Java池的尺寸。如果要在数据库中按照JAVA虚拟机,就必须配置该参数,并且其值不能低于20M

Large_pool_size

大缓存池的尺寸。当使用共享服务器进程、执行并行操作时应该配置该参数

Pga_aggregate_targe

例程的所有服务器进程可占用的总计PGA(programe Global Area)区的尺寸。其值不能低于10M

Remote_login_passwordfile

特权用户的验证方式。其取值可以是NONESHAREDEXCLUSIVE。其中NONE表示使用擦在系统验证方式,SHARED表示多个数据库可以共用同意个口令文件,EXCLUSIVE表示口令文件只能用于单个数据库。

Undo_management

撤销管理的模式。取值是AUTOMANUAL。其中,AUTO表示使用UNDO表空间来管理撤销数据,MANUAL表示使用回退段来管理撤销数据

Undo_tablespace

启动例程时使用的UNDO表空间。该参数指定的UNDO表空间必须是已经存在的UNDO表空间,否则数据库将无法打开

Db_file_multiblock_read_count

执行全表扫描时一次I/O操作可读取的最大数据块个数。通过合理设置该参数,可以提高全表扫描的速度

Background_dump_dest

预警文件和后台进程的跟踪文件所在的目录

User_dump_dest

服务器进程跟踪文件所在的目录

Processes

连接到ORACLE的并发进程的最大个数

Open_cursors

单个会话可以同时打开的最大游标个数

 

ORACLE数据库中的初始化参数是可以进行修改操作的。可以使用alter session语句更改当前会话的参数设置,并且该语句所进行的更改只对当前会话起作用。使用 alter system 语句更改参数时,其结果适用于例程的所有会话。当更改传统的文本初始化参数文件中参数设置时,所做的修改只会影响当前的例程。因为不存在自动更新磁盘上文本初始化参数文件的机制。当然修改参数时,还得指定修改的范围,这时需要用到SCOPE子句来指定范围

  SCOPE=SPFILE 只更改服务器参数文件中的参数。对应动态参数,这种更改将在下一次启动时生效并一直保留;对应静态参数,效果与动态参数一样。只是这种更改的SCOPE子句用于静态参数

  SCOPE=MEMORY 只更改内存中参数。对应动态参数,这种更改立即生效。但是,因为没有更新服务器参数文件,所有更改是不能永久保留的;静态参数是不能使用这种方式的。

  SCOPE=BOTH   既更改服务器参数文件中参数,也更改内存中的参数。对应动态参数,这种更改立即生效并永久保留;同样静态参数是不能使用该方式修改的。

 

   启动数据库的步骤:启动例程-----装载数据库-----打开数据库

   启动例程:例程是由一组逻辑内存结构和一系列后台服务进程组成。例程是用来管理数据库的。但启动例程时,这些内存结构和服务进程得到分配、初始化和启动,以便ORACLE管理数据库。在启动例程的过程中只会使用STARTUP NOMOUNT (启动例程但不装载数据库)语句中指定的初始化参数文件,如果初始化参数文件或参数设置有误,则无法启动例程。

 

启动例程包括执行的几个任务:

a、)读取参数文件(默认读取位于D:/OracleDataBase/app/Administrator/product/11.2.0/dbhome_1/database中的名为SPFILEORCL.ORA的SPFILE参数文件,或读取由PFILE选项指定的文本参数文件)。

b、)根据该参数文件中的SGA区、PGA区的参数设置的值,在内存中分配相应的空间。

c、)根据该参数文件中有关后台进程的参数设置的值,启动相应的后台进程。

d、)打开跟踪文件和报警文件。

 

装载数据库:装载数据库时,例程将打开数据库的控制文件,根据初始化参数control_files的设置,找到控制文件,并从中获取数据库名称、数据库的物理文件的位置和名称等关于数据库物理结构的信息,为下一步打开数据库做准备。使用 STARTUP MOUNT命令启动例程并加载数据库。

 

  打开数据库:打开数据库时,例程将打开所有处于联机状态的数据文件和重做日志文件。使用STARTUP OPEN命令启动例程、装载数据库并打开数据库。

 

 即在启动数据库的过程中,文件的使用顺序是:参数文件、控制文件、数据文件、重做日志文件。

STARTUP [NOMOUNT | MOUNT | OPEN | FORCE] [RESTRICT] [PFILE=FILENAME]; 

NOMOUNT:启动例程,但不装载数据库;MOUNT:启动例程、装载数据库,但不打开数据库;OPEN:启动例程、装载数据库、打开数据库。

FORCE 如果用正常方式启动数据库时遇到困难,可以使用FORCE选项。即首先异常关闭数据库,然后重新启动,而不需要事先用SHUTDOWN语句关闭数据库。

RESTRICT选项:启动数据库并把它置入OPEN模式,但此时只能拥有RESTRICTED SESSION权限的用户才能访问数据库。即当需要在数据库处于OPEN模式状态下执行维和任务,又要保证此时其他用户不能在数据库上建立连接和执行任务,选择该选项来打开数据库。

 

 关闭数据库的步骤; 关闭数据库-------卸载数据库--------终止例程

  关闭数据库时,ORACLE将重做日志高速缓存中的内容写入重做日志文件,并将数据库高速缓存中被改动过的数据(脏数据)写入数据文件,然后再关闭所有的数据文件和重做日志文件。这时的控制文件还处于打开状态。但是用户将无法访问数据库。

  卸载数据库,关闭完数据库,才可以能够卸载数据库。数据库的控制文件在这时候被关闭,但是例程仍然存在。

  终止例程,例程拥有的所有后台进程和服务进程都将被终止。分配给例程的内存SGA和PGA区被回收。

 

关闭数据库语法:

  SHUTDOWN [ NORMAL | TRANSACTIONAL | IMMEDIATE | ABORT];

NORMAL:阻止任何用户建立新的连接;等待当前所有正在连接的用户主动断开连接。正在连接的用户能够继续他们当前的工作,甚至能够提交心的事务;一旦所有的用户都断开连接,才进行关闭、卸载数据库,并终止例程。

TRANSACTIONAL :ORACLE将等待所有当前未提交的事务完成后再关闭数据库。阻止任何用户建立新的连接,同时阻止当前连接的用户开始任何新的事务;等待所有当前未提交的事务提交完毕,然后立即断开用户的连接;一旦所有用户都断开连接,才关闭数据库、卸载数据库,并终止例程。

IMMEDIATE:阻止任何新的连接,同时阻止当前连接的用户开始任何新的事务;任何当前未提交的事务均被回退;ORACLE不再等待用户主动断开连接,而是直接关闭、卸载数据库,并终止例程。

ABORT: 如果使用以上方式都关闭失败,则只能使用ABORT选项来关闭数据库;例如:1、)数据库本身或某个数据库应用程序发生异常,并使用其他选项无效;2、)出现紧急情况,需要立即关闭数据库;3、)在启动数据库例程的过程中产生错误;

执行ABORT时ORACLE要执行如下工作:

 阻止任何用户建立新的连接,同时阻止当前连接的用户开始任何新的事务;立即终止当前正在执行的SQL语句;任何未提交的事务均不被回退;立即断开所有用户的连接,关闭、卸载数据库,并终止例程。

发布了18 篇原创文章 · 获赞 16 · 访问量 4万+

基本初始化参数

参数

说明

db_name

数据库名称,其值只能包含阿拉伯字符、数字、#_$,并且最多只能包含8个字符。该名称必须与CREATE DATABASE后面的数据库名称相匹配。

db_domain

在分布式网络环境中的数据库域。设置该参数时应该将其设置为网络域名。该参数与db_name共同构成全局数据库名(格式:db_name.db_domain)。

Instance_name

例程唯一的名称。主要用于在RAC(real  application  cluster)环境中标识一个数据库的不同例程。在单例程数据库系统中,其值与db_name相同。

Service_names

服务名称(一个或多个)。客户程序使用服务名称连接到例程。默认值是db_name.db_domain

Control_files

控制文件名称(一个或多个)。当指定多个控制文件时,名称之间用逗号分隔。最多可指定8个控制文件。

db_block_size

标准Oracle块的大小。取值为2048,4096,8192,16384,32768.该参数在创建数据库时被指定,之后就不能再修改了。

Db_cache_size

标准数据高速缓存的尺寸。在标准oracle块上的读写操作会使用标准数据高速缓存。

Share_pool_size

共享池的尺寸

Log_buff

重做日志缓存区的尺寸

Sga_max_size

SGA(system Global Area) 的最大尺寸

db_recovery_file_dest

写入恢复文件的目录位置

db_recovery_File_dest_size

存储FLASH Recovery文件磁盘空间的大小

Java_pool_size

Java池的尺寸。如果要在数据库中按照JAVA虚拟机,就必须配置该参数,并且其值不能低于20M

Large_pool_size

大缓存池的尺寸。当使用共享服务器进程、执行并行操作时应该配置该参数

Pga_aggregate_targe

例程的所有服务器进程可占用的总计PGA(programe Global Area)区的尺寸。其值不能低于10M

Remote_login_passwordfile

特权用户的验证方式。其取值可以是NONESHAREDEXCLUSIVE。其中NONE表示使用擦在系统验证方式,SHARED表示多个数据库可以共用同意个口令文件,EXCLUSIVE表示口令文件只能用于单个数据库。

Undo_management

撤销管理的模式。取值是AUTOMANUAL。其中,AUTO表示使用UNDO表空间来管理撤销数据,MANUAL表示使用回退段来管理撤销数据

Undo_tablespace

启动例程时使用的UNDO表空间。该参数指定的UNDO表空间必须是已经存在的UNDO表空间,否则数据库将无法打开

Db_file_multiblock_read_count

执行全表扫描时一次I/O操作可读取的最大数据块个数。通过合理设置该参数,可以提高全表扫描的速度

Background_dump_dest

预警文件和后台进程的跟踪文件所在的目录

User_dump_dest

服务器进程跟踪文件所在的目录

Processes

连接到ORACLE的并发进程的最大个数

Open_cursors

单个会话可以同时打开的最大游标个数

 

ORACLE数据库中的初始化参数是可以进行修改操作的。可以使用alter session语句更改当前会话的参数设置,并且该语句所进行的更改只对当前会话起作用。使用 alter system 语句更改参数时,其结果适用于例程的所有会话。当更改传统的文本初始化参数文件中参数设置时,所做的修改只会影响当前的例程。因为不存在自动更新磁盘上文本初始化参数文件的机制。当然修改参数时,还得指定修改的范围,这时需要用到SCOPE子句来指定范围

  SCOPE=SPFILE 只更改服务器参数文件中的参数。对应动态参数,这种更改将在下一次启动时生效并一直保留;对应静态参数,效果与动态参数一样。只是这种更改的SCOPE子句用于静态参数

  SCOPE=MEMORY 只更改内存中参数。对应动态参数,这种更改立即生效。但是,因为没有更新服务器参数文件,所有更改是不能永久保留的;静态参数是不能使用这种方式的。

  SCOPE=BOTH   既更改服务器参数文件中参数,也更改内存中的参数。对应动态参数,这种更改立即生效并永久保留;同样静态参数是不能使用该方式修改的。

 

   启动数据库的步骤:启动例程-----装载数据库-----打开数据库

   启动例程:例程是由一组逻辑内存结构和一系列后台服务进程组成。例程是用来管理数据库的。但启动例程时,这些内存结构和服务进程得到分配、初始化和启动,以便ORACLE管理数据库。在启动例程的过程中只会使用STARTUP NOMOUNT (启动例程但不装载数据库)语句中指定的初始化参数文件,如果初始化参数文件或参数设置有误,则无法启动例程。

 

启动例程包括执行的几个任务:

a、)读取参数文件(默认读取位于D:/OracleDataBase/app/Administrator/product/11.2.0/dbhome_1/database中的名为SPFILEORCL.ORA的SPFILE参数文件,或读取由PFILE选项指定的文本参数文件)。

b、)根据该参数文件中的SGA区、PGA区的参数设置的值,在内存中分配相应的空间。

c、)根据该参数文件中有关后台进程的参数设置的值,启动相应的后台进程。

d、)打开跟踪文件和报警文件。

 

装载数据库:装载数据库时,例程将打开数据库的控制文件,根据初始化参数control_files的设置,找到控制文件,并从中获取数据库名称、数据库的物理文件的位置和名称等关于数据库物理结构的信息,为下一步打开数据库做准备。使用 STARTUP MOUNT命令启动例程并加载数据库。

 

  打开数据库:打开数据库时,例程将打开所有处于联机状态的数据文件和重做日志文件。使用STARTUP OPEN命令启动例程、装载数据库并打开数据库。

 

 即在启动数据库的过程中,文件的使用顺序是:参数文件、控制文件、数据文件、重做日志文件。

STARTUP [NOMOUNT | MOUNT | OPEN | FORCE] [RESTRICT] [PFILE=FILENAME]; 

NOMOUNT:启动例程,但不装载数据库;MOUNT:启动例程、装载数据库,但不打开数据库;OPEN:启动例程、装载数据库、打开数据库。

FORCE 如果用正常方式启动数据库时遇到困难,可以使用FORCE选项。即首先异常关闭数据库,然后重新启动,而不需要事先用SHUTDOWN语句关闭数据库。

RESTRICT选项:启动数据库并把它置入OPEN模式,但此时只能拥有RESTRICTED SESSION权限的用户才能访问数据库。即当需要在数据库处于OPEN模式状态下执行维和任务,又要保证此时其他用户不能在数据库上建立连接和执行任务,选择该选项来打开数据库。

 

 关闭数据库的步骤; 关闭数据库-------卸载数据库--------终止例程

  关闭数据库时,ORACLE将重做日志高速缓存中的内容写入重做日志文件,并将数据库高速缓存中被改动过的数据(脏数据)写入数据文件,然后再关闭所有的数据文件和重做日志文件。这时的控制文件还处于打开状态。但是用户将无法访问数据库。

  卸载数据库,关闭完数据库,才可以能够卸载数据库。数据库的控制文件在这时候被关闭,但是例程仍然存在。

  终止例程,例程拥有的所有后台进程和服务进程都将被终止。分配给例程的内存SGA和PGA区被回收。

 

关闭数据库语法:

  SHUTDOWN [ NORMAL | TRANSACTIONAL | IMMEDIATE | ABORT];

NORMAL:阻止任何用户建立新的连接;等待当前所有正在连接的用户主动断开连接。正在连接的用户能够继续他们当前的工作,甚至能够提交心的事务;一旦所有的用户都断开连接,才进行关闭、卸载数据库,并终止例程。

TRANSACTIONAL :ORACLE将等待所有当前未提交的事务完成后再关闭数据库。阻止任何用户建立新的连接,同时阻止当前连接的用户开始任何新的事务;等待所有当前未提交的事务提交完毕,然后立即断开用户的连接;一旦所有用户都断开连接,才关闭数据库、卸载数据库,并终止例程。

IMMEDIATE:阻止任何新的连接,同时阻止当前连接的用户开始任何新的事务;任何当前未提交的事务均被回退;ORACLE不再等待用户主动断开连接,而是直接关闭、卸载数据库,并终止例程。

ABORT: 如果使用以上方式都关闭失败,则只能使用ABORT选项来关闭数据库;例如:1、)数据库本身或某个数据库应用程序发生异常,并使用其他选项无效;2、)出现紧急情况,需要立即关闭数据库;3、)在启动数据库例程的过程中产生错误;

执行ABORT时ORACLE要执行如下工作:

 阻止任何用户建立新的连接,同时阻止当前连接的用户开始任何新的事务;立即终止当前正在执行的SQL语句;任何未提交的事务均不被回退;立即断开所有用户的连接,关闭、卸载数据库,并终止例程。

猜你喜欢

转载自blog.csdn.net/liangpingguo/article/details/76619816
今日推荐