基本初始化参数
参数 |
说明 |
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 |
特权用户的验证方式。其取值可以是NONE,SHARED和EXCLUSIVE。其中NONE表示使用擦在系统验证方式,SHARED表示多个数据库可以共用同意个口令文件,EXCLUSIVE表示口令文件只能用于单个数据库。 |
Undo_management |
撤销管理的模式。取值是AUTO和MANUAL。其中,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语句;任何未提交的事务均不被回退;立即断开所有用户的连接,关闭、卸载数据库,并终止例程。