欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  数据库

Oracle 使用set修改数据库运行参数

程序员文章站 2024-02-16 14:28:34
...

这里有两个列isses_modifiable和issys_modifiable 分别对应的是SESSION级别修改的参数和SYSTEM级别修改的参数。 如果isses_modif

1. 如何查看一个参数是动态还是静态的

参数我们可以在v$parameter中查到。

COLUMN VALUE FORMAT a40;

COLUMN NAME FORMAT a20;
SELECT NAME,VALUE,ISSES_MODIFIABLE,ISSYS_ MODIFIABLE FROM V$SYSTEM_PARAMETER;

这里有两个列isses_modifiable和issys_modifiable 分别对应的是SESSION级别修改的参数和SYSTEM级别修改的参数。
如果isses_modifiable=true,,表明这个参数可以在SESSION级别可以修改,并且立即生效。false就是不能修改。
ALTER SESSION set sql_trace=true;
如果issys_modifiable=immediate,表示这个参数可以在SYSTEM立即修改,并且立即生效。
ALTER SYSTEM set sql_trace=true;
若如果issys_modifiable=deferred,表示这个参数不能在直接修改在内存中,需要加scope=spfile,重启后才能生效。
ALTER SYSTEM set asm_diskstring=’Oracle_group’ scope=spfile ;
若issys_modifiable=false 必须重启实例才能够生效。。

IMMEDIATE:动态参数,立刻生效

DEFERRED:动态参数,对以后建立的SESSION生效,仍然连接的SESSION保持原有属性

FALSE:静态参数,必须重启实例才能够生效。

■ MMEDIATE - Parameter can be changed with ALTER SYSTEM regardless of the type of parameter file used to start the instance. The change takes effect immediately.

■ DEFERRED - Parameter can be changed with ALTER SYSTEM regardless of the type of parameter file used to start the instance. The change takes effect in subsequent sessions.

■ FALSE - Parameter cannot be changed with ALTER SYSTEM unless a server parameter file was used to start the instance. The change takes effect in subsequent instances.

2. 区别ALTER DATABASE ,ALTER SYSTEM ,ALTER SESSION;

ALTER DATABASE: 数据库级

ALTER SYSTEM: 实例级

ALTER SESSION: 会话级

ALTER DATABASE 数据文件、表空间、日志文件等等,和物理上的文件有关系的一些变更,也就是对数据库的更改,一般改变的是物理上的,通过ALTER DATABASE操作时会触发controlfile header和其他一些物理文件头信息的变化 能看得见的

比如 :ALTER dtabase rename datafile

ALTER SYSTEM 动态的改变数据库例程的属性 一般是逻辑上的 看不见的
比如:ALTER SYSTEM set db_cache_size

ALTER SESSION 改变的的是一个会话的属性 逻辑上的 看不见的
比如:ALTER SESSION set nls_language

3. 如何查看表空间或表的创建结构

a. 查看表空间的创建结构

Set long 2000

Select

sys.dbms_metadata.get_ddl(‘TABLESPACE’,’TABLESPACE_NAME’)

FROM DUAL;

b. 查看用户表\索引的创建结构

Select sys.dbms_metadata.get_ddl(‘TABLE’,’TABLE_NAME’,’USERNAME’) FROM DUAL;

Select sys.dbms_metadata.get_ddl(‘INDEX’,’INDEX_NAME’,’USERNAME’) FROM DUAL;

c. 查看用户创建的procedure结构

Select sys.dbms_metadata.get_ddl(‘PROCEDURE’,’PROCEDURE_NAME’) FROM DUAL;

Oracle 使用set修改数据库运行参数