实例名_实例名称 - CSDN
精华内容
参与话题
  • 数据库名、实例名、数据库域名、全局数据库名、服务名, 这是几个令很多初学者容易混淆的概念。相信很多初学者都与我一样被标题上这些个概念搞得一头雾水。我们现在就来把它们弄个明白。 一、数据库名 什么是...

    数据库名、实例名、数据库域名、全局数据库名、服务名 ,

    这是几个令很多初学者容易混淆的概念。相信很多初学者都与我一样被标题上这些个概念搞得一头雾水。我们现在就来把它们弄个明白。

    一、数据库名

    什么是数据库名?

    数据库名就是一个数据库的标识,就像人的身份证号一样。他用参数DB_NAME表示,如果一台机器上装了多个数据库,那么每一个数据库都有一个数据库名。在数据库安装或创建完成之后,参数DB_NAME被写入参数文件之中。格式如下:

    DB_NAME=myorcl

    ...

    在创建数据库时就应考虑好数据库名,并且在创建完数据库之后,数据库名不宜修改,即使要修改也会很麻烦。因为,数据库名还被写入控制文件中,控制文件是以 二进制型式存储的,用户无法修改控制文件的内容。假设用户修改了参数文件中的数据库名,即修改DB_NAME的值。但是在Oracle启动时,由于参数文 件中的DB_NAME与控制文件中的数据库名不一致,导致数据库启动失败,将返回ORA-01103错误。

    数据库名的作用

    数据库名是在安装数据库、创建新的数据库、创建数据库控制文件、修改数据结构、备份与恢复数据库时都需要使用到的。

    有很多Oracle安装文件目录是与数据库名相关的,如:

    winnt: d:\oracle\product\10.1.0\oradata\DB_NAME\...

    Unix: /home/app/oracle/product/10.1.0/oradata/DB_NAME/...

    pfile:

    winnt: d:\oracle\product\10.1.0\admin\DB_NAME\pfile\ini.ora

    Unix: /home/app/oracle/product/10.1.0/admin/DB_NAME/pfile/init$ORACLE_SID.ora

    跟踪文件目录:

    winnt: /home/app/oracle/product/10.1.0/admin/DB_NAME/bdump/...

    另外,在创建数据时,careate database命令中的数据库名也要与参数文件中DB_NAME参数的值一致,否则将产生错误。

    同样,修改数据库结构的语句alter database, 当然也要指出要修改的数据库的名称。

    如果控制文件损坏或丢失,数据库将不能加载,这时要重新创建控制文件,方法是以nomount方式启动实例,然后以create controlfile命令创建控制文件,当然这个命令中也是指指DB_NAME。

    还有在备份或恢复数据库时,都需要用到数据库名。

    总之,数据库名很重要,要准确理解它的作用。

    查询当前数据名

    方法一:select name from v$database;

    方法二:show parameter db

    方法三:查看参数文件。

    修改数据库名

    前面建议:应在创建数据库时就确定好数据库名,数据库名不应作修改,因为修改数据库名是一件比较复杂的事情。那么现在就来说明一下,如何在已创建数据之后,修改数据库名。步骤如下:

    1.关闭数据库。

    2.修改数据库参数文件中的DB_NAME参数的值为新的数据库名。

    3.以NOMOUNT方式启动实例,修建控制文件(有关创建控制文件的命令语法,请参考oracle文档)

    二、数据库实例名

    什么是数据库实例名?

    数据库实例名是用于和操作系统进行联系的标识,就是说数据库和操作系统之间的交互用的是数据库实例名。实例名也被写入参数文件中,该参数为instance_name,在winnt平台中,实例名同时也被写入注册表。

    数据库名和实例名可以相同也可以不同。

    在一般情况下,数据库名和实例名是一对一的关系,但如果在oracle并行服务器架构(即oracle实时应用集群)中,数据库名和实例名是一对多的关系。这一点在第一篇中已有图例说明。

    查询当前数据库实例名

    方法一:select instance_name from v$instance;

    方法二:show parameter instance

    方法三:在参数文件中查询。

    数据库实例名与ORACLE_SID

    虽然两者都表示oracle实例,但两者是有区别的。instance_name是oracle数据库参数。而ORACLE_SID是操作系统的环境变 量。 ORACLD_SID用于与操作系统交互,也就是说,从操作系统的角度访问实例名,必须通过ORACLE_SID。在winnt平台, ORACLE_SID还需存在于注册表中。

    且ORACLE_SID必须与instance_name的值一致,否则,你将会收到一个错误,在unix平台,是“ORACLE not available”,在winnt平台,是“TNS:协议适配器错误”。

    数据库实例名与网络连接

    数据库实例名除了与操作系统交互外,还用于网络连接的oracle服务器标识。当你配置oracle主机连接串的时候,就需要指定实例名。当然8i以后版本的网络组件要求使用的是服务名SERVICE_NAME。这个概念接下来说明 。

    三、数据库域名

    什么是数据库域名?

    在分布式数据库系统中,不同版本的数据库服务器之间,不论运行的操作系统是unix或是windows,各服务器之间都可以通过数据库链路进行远程复制,数据库域名主要用于oracle分布式环境中的复制。举例说明如:

    全国交通运政系统的分布式数据库,其中:

    福建节点: fj.jtyz

    福建厦门节点: xm.fj.jtyz

    江西: jx.jtyz

    江西上饶:sr.jx.jtyz

    这就是数据库域名。

    数据库域名在存在于参数文件中,他的参数是db_domain.

    查询数据库域名

    方法一:select value from v$parameter where name = 'db_domain';

    方法二:show parameter domain

    方法三:在参数文件中查询。

    全局数据库名

    全局数据库名=数据库名+数据库域名,如前述福建节点的全局数据库名是:oradb.fj.jtyz

    四、数据库服务名

    什么是数据库服务名?

    从oracle9i版本开始,引入了一个新的参数,即数据库服务名。参数名是SERVICE_NAME。

    如果数据库有域名,则数据库服务名就是全局数据库名;否则,数据库服务名与数据库名相同。

    查询数据库服务名

    方法一:select value from v$parameter where name = 'service_name';

    方法二:show parameter service_name

    方法三:在参数文件中查询。

    数据库服务名与网络连接

    从oracle8i开如的oracle网络组件,数据库与客户端的连接主机串使用数据库服务名。之前用的是ORACLE_SID,即数据库实例名

    创建Oracle数据库(以Oracle10g为例)

    有两种创建数据库的方式,一种是以命令行脚本方式,即手动方式创建;另一种是利用Oracle提供的数据库配置向导来创建。本篇主要介绍在Unix和Windows下以命令行脚本方式创建Oracle数据库。

    一个完整的数据库系统,应包括一个物理结构、一个逻辑结构、一个内存结构和一个进程结构,如果要创建一个新的数据库,则这些结构都必须完整的建立起来。

    一、在Unix下创建数据库

    1.确定数据库名、数据库实例名和服务名

    关于数据库名、数据库实例名和服务名,我之前有专门用一篇来详细介绍。这里就不再说明了。

    2.创建参数文件

         参数文件很确定了数据库的总体结构。Oracle10g有两种参数文件,一个是文本参数文件,一种是服务器参数文件。在创建数据库时先创建文本参数文件,在数据库创建后,可以由文件参数文件创建服务器参数文件。文本参数文件的取名方式为initORACLE_SID.ora,其中,ORACLE_SID是 数据库实例名。其名称及路径为:

    /home/app/oracle/product/10.1.0/admin/DB_NAME/pfile/initORACLE_SID.ora

    其中,DB_NAME为数据库名。所以,应创建一个以之命名的目录,并将文本参数文件存放在上述目录中。假设新创建的数据库名为MYORACLE,SID与数据库名一致。则上述目录实际为:

    /home/app/oracle/product/10.1.0/admin/MYORACLE/pfile/initMYORACLE.ora

    1)参数文件的介绍

    参数文件决定着数据库的总体结构,用于设置数据库的近260个系统参数。下面分类别说明一下各参数的作用,关于参数的详细使用说明请参考Oracle官方参考文档。

    a.数据库标识类参数

    DB_NAME: 数据库名,此参数在创建数据前决定,数据库创建后修改时,必须建控制文件

    DB_DOMAIN: 数据库域名,用于区别同名数据库。数据库名与域名一起构成了全局数据库名

    INSTANCE_NAME: 数据库实例名,可以与数据库相同

    SERVICE_NAMES: 数据库服务名,与全局数据库名相同如果没有域名,则服务名就是数据库名

    b.日志管理类参数

    LOG_ARCHIVE_START: 是否启动自动归档进程ARCH

    LOG_ARCHIVE_DEST: 归档日志文件存储目录

    LOG_ARCHIVE_FORMAT: 归档日志文件的默认文件存储格式

    LOG_ARCHIVE_DUPLEX_DEST: 归档日志文件镜像存储目录(Oracle8以上)

    LOG_ARCHIVE_DEST_n: 归档日志文件存储目录(Oracle8i以上)

    LOG_ARCHIVE_DEST_STATE_n: 设置参数LOG_ARCHIVE_DEST_n失效或生效

    LOG_ARCHIVE_MAX_PROCESSES: 设置自动归档进程的个数

    LOG_ARCHIVE_MIN_SUCCEED_DEST: 设置最少的成功归档日志存储目录的个数

    LOG_CHECKPOINT_INTERVAL: 根据日志数量设置检验点频率

    LOG_CHECKPOINT_TIMEOUT: 根据时间间隔设置检验点频率

    c.内存管理参数

    DB_BLOCK_SIZE: 标准数据块大小

    DB_nK_CACHE_SIZE: 非标准数据块数据缓冲区大小

    SHARED_POOL_SIZE: 共享池大小控制参数,单位为字节

    DB_CACHE_SIZE: 标准数据块数据缓冲区大小

    DB_BLOCK_BUFFERS: 数据缓冲区大小,9i之后已放弃使用

    LOG_BUFFER: 日志缓冲区大小

    SORT_AREA_SIZE: 排序区大小

    LARGE_POOL_SIZE: 大池大小

    JAVA_POOL_SIZE:Java池大小

    d.最大许可用户数量限制参数

    LICENSE_MAX_SESSIONS:数据库可以连接的最大会话数

    LICENSE_MAX_USERS:数据库支持的最大用户数

    LICENSE_MAX_WARNING:数据库最大警告会数(会话数据达到这个值时,产生新会话时就会产生警告信息)

    e.系统跟踪信息管理参数

    USER_DUMP_DEST:用户跟踪文件生成的设置

    BACKGROUND_DUMP_DEST:后台进程跟踪文件生成的位置

    MAX_DUMPFILE_SIZE:跟踪文件的最大尺寸

    f.系统性能优化与动态统计参数

    SQL_TRACE:设置SQL跟踪

    TIMED_STATICS:设置动态统计

    AUDIT_TRAIL:启动数据库审计功能

    g.其他系统参数

    CONTROL_FILES:控制文件名及路径

    Undo_MANAGMENT:Undo空间管理方式

    ROLLBACK_SEGMENTS:为这个例程分配的回退段名

    OPEN_CURSORS:一个用户一次可以打开的游标的最大值

    PROCESSES:最大进程数,包括后台进程与服务器进程

    IFILE:另一个参数文件的名字

    DB_RECOVERY_FILE_DEST:自动数据库备份目录

    DB_RECOVERY_FILE_SIZE:数据库备份文件大小

    2)参数文件样式

    db_name=myoracle

    instance_name=myoracle

    db_domain=fangys.xiya.com

    service_names=myoracle.fangys.xiya.com

    control_files=(/home/app/oracle/product/10.1.0/oradata/myoracle/control01.ctl,

                      /home/app/oracle/product/10.1.0/oradata/myoracle/control02.ctl,

                      /home/app/oracle/product/10.1.0/oradata/myoracle/control03.ctl)

    db_block_size=8192

    user_dump_dest=/home/app/oracle/product/10.1.0/admin/myoracle/udump

    background_dump_dest=/home/app/oracle/product/10.1.0/admin/myoracle/bdump

    core_dump_dest=/home/app/oracle/product/10.1.0/admin/myoracle/cdump

    db_recovery_file_dest=/home/app/oracle/product/10.1.0/flash_recover_area

    db_recovery_file_size=100G

    ...

    3.设置操作系统参数

    $ORACLE_SID=myoracle

    $export ORACLE_SID

    4.启动实例并创建数据库

    在创建数据库之前,首先要以新的数据库参数启动数据库实例,因为这时数据库的控制文件还没有产生,不能MOUNT或OPEN数据库。启动实例时,Oracle只按照内存参数分配SGA区,启动系统后台进程。

    $sqlplus "sys/pass as sysdba"

    sql>startup nomount

    如果参数文件不在规定的目录中,可以在启动实例时指定参数文件:

    sql>startup pfile=/export/home/user/initmyoracle.init nomount

    在实例启动后就可以使用CREATE DATABASE命令创建数据。其详细语法请参考Oracle官方SQL参考文档。这里以实例来介绍:

    sql>CREATE DATABASE myoracle

           MAXINSTANCE 1

           MAXLOGHISTORY 216

           MAXLOGFILES 50

           MAXLOGMEMBERS 5

    DATAFILE '/home1/app/oracle/product/10.1.0/oradata/myoracle/system01.dbf' SIZE 500m

    AUTOEXTEND ON NEXT 100m MAXSIZE UNLIMITED

    LOGFILE

           GROUP 1('/home1/app/oracle/product/10.1.0/oradata/myoracle/log1a.log',

                   '/home1/app/oracle/product/10.1.0/oradata/myoracle/log1b.log') SIZE 10m,

           GROUP 2('/home1/app/oracle/product/10.1.0/oradata/myoracle/log2a.log',

                   '/home1/app/oracle/product/10.1.0/oradata/myoracle/log2b.log') SIZE 10m,

           GROUP 3('/home1/app/oracle/product/10.1.0/oradata/myoracle/log3a.log',

                   '/home1/app/oracle/product/10.1.0/oradata/myoracle/log3b.log') SIZE 10m,

    Undo TABLESPACE undotbs DATAFILE

    '/home1/app/oracle/product/10.1.0/oradata/myoracle/undotbs01.dbf' size 200m

    AUTOEXTEND ON NEXT 100m MAXSIZE UNLIMITED

    DEFAULT TEMPORARY TALESPACE temp TEMPFILE

    '/home1/app/oracle/product/10.1.0/oradata/myoracle/temp01.dbf' size 325m

    AUTOEXTEND ON NEXT 100m MAXSIZE UNLIMITED

    DEFAULT TABLESPACE users DATAFILE

    '/home1/app/oracle/product/10.1.0/oradata/myoracle/usertbs01.dbf' size 1000m

    CHARACTER SET ZHS16GBK;

    这里说明一下CREATE DATABASE语句的各个关键字的含义:

    DATAFILE:SYSTEM表空间的数据文件定义

    LOGFILE:日志文件组的定义

    Undo_TABLESPACE:重做表空间的定义

    DEFAULT TEMPORTY TABLESPACE:默认临时表空间的定义

    DEFAULT TABLESPACE:默认数据表空间的定义。 

    5.创建数据字典

    在数据库创建结束后,数据库自动处于OPEN状态下,这时所有V$××××类数据字典都可以查询。而其它数据字典,如DBA_DATA_FILES、DBA_TABLESPACES等都不存在,必须通过下列骤为系统创建数据字典。

    1)加载常用的数据字典包

    sql>@/home/app/oracle/product/10.1.0/db_1/rdbms/catalog

    2)加载PL/SQL程序包

    sql>@/home/app/oracle/product/10.1.0/db_1/rdbms/admin/catproc

    3)加载数据复制支持软件包

    sql>@/home/app/oracle/product/10.1.0/db_1/rdbms/admin/catrep

    4)加载Java程序包

    sql>@/home/app/oracle/product/10.1.0/db_1/javavm/install/initjvm

    5)加载系统环境文件

    sql>connect system/pass

    sql>@/home/app/oracle/product/10.1.0/db_1/sqlplus/admin/pupbld

    二、在Windows下创建数据库

    Oracle实例在Windows下表现为操作系统服务。在windows下,使用命令行方式创建数据的方法有所不同,差别在于在Windows下,需要先创建数据库服务和实例。

    1.确定数据库名、数据库实例名和服务名并创建目录(DBCA创建的脚本不包含建立目录命令,须自己创建)

    建立目录命令(下面以 db_name=eygle为例):

    mkdir D:\oracle\ora90\cfgtoollogs\dbca\eygle

    mkdir D:\oracle\ora90\database

    mkdir d:\oracle\admin\eygle\adump

    mkdir d:\oracle\admin\eygle\bdump

    mkdir d:\oracle\admin\eygle\cdump

    mkdir d:\oracle\admin\eygle\dpdump

    mkdir d:\oracle\admin\eygle\pfile

    mkdir d:\oracle\admin\eygle\udump

    mkdir d:\oracle\flash_recovery_area

    mkdir d:\oracle\oradata

    mkdir d:\oracle\oradata\eygle

    2.创建参数文件

    在Windows下的参数文件名称及路径如下:

    d:\oracle\product\10.1.0\admin\DB_NAME\pfile\init.ora(oracle10g)

    d:\orant\database\iniORACLE_SID.ora(oracle7,oracle8)

    参数据文件内容与前述一致。这里不再说明。

    3.选择数据库实例

    设置环境变量ORACLE_SID

    c:\>set ORACLE_SID=数据库实例名

    4.创建数据库实例

    在Windows中创建数据库实例的命令为Oradim.exe,是一个可执行文件,可以在操作系统符号下直接运行。直接输入oradim显示此命令的帮助。

    c:\>Oradim

    下面对Oradim命令的参数进行一个说明

    -------------------------------

    -NEW 表示新建一个实例

    -EDIT 表示修改一个实例

    -DELETE 表示删除一个实例

    -SID sid     指定要启动的实例名称

    -SRVC service 指定要启动的服务名称

    -INTPWD password 以Internal方式连接数据库时的口令字

    -MAXUSERS count 该实例可以连接的最大用户数

    -USRPWD password 指定内部用户的口令,如是作为Windows管理登录,不用此参数

    -PFILE pfile     该实例所使用的参数文件名及路径

    -STARTTYPE srvc|inst|srvc,inst 启动选项(srvc:只启动服务,inst:启动实例,服务必须先启动,srvc,inst:服务和实例同时启动)

    -SHUTTYPE srvc|linst|srvc,inst 关闭选项(srvc:只关闭服务,实例必须已关闭,inst:只关闭实例,srvc,inst:服务和实例同时关闭)

    -STARTMODE a|m 创建实例所使用的模式(a:自动,即windows启动时自动启动 m:手动)

    -SHUTMODE a|i|m 关闭实例时所使用的模式(a:abort异常方式,i:immediate立即方式,n:normal正常方式)

    ----------------------------

    例:创建一个数据库实例

    c:\>oradim -NEW -SID myoracle -STARTMODE m -PFILE "d:\fangys\initmyoracle.ora"

    c:\>oradim -NEW -SRVC OracleServicemyoracle -STARTMODE m -PFILE "d:\fangys\initmyoracle.ora"

    例:修改一个数据实例

    c:\>oradim -EDIT -SID myoracle -STARTMODE a

    c:\>oradim -EDIT -SRVC OracleServicemyoracle -STARTMODE a

    例:删除一个实例

    c:\>oradim -DELETE -SID myoracle

    c:\>oradim -DELETE -SRVC Oracleservicemyoracle

    例:启动服务与实例

    c:\>oradim -STARTUP -SID myoracle -STARTTYPE srvc,inst

    只启动服务

    c:\>oradim -STARTUP -SID myoracle -STARTTYPE srvc

    启动实例:

    c:\>oradim -STARTUP -SID myoracle -STARTTYPE inst

    例:关闭服务与实例

    c:\>oradim -SHUTDOWN -SID myoracle 

    c:\>oradim -SHUTDOWN -SID myoracle -SHUTTYPE srvc,inst

    5.启动实例并创建数据库

    c:\>oradim -NEW -SID myoracle -INTPWD syspass -STARTMODE a -PFILE d:\fangys\initmyoracle.ora

    c:\>set ORACLE_SID=myoracle

    c:\>sqlplus sys/syspass as sysdba

    sql>startup -pfile=d:\fangys\initmyoracle.ora nomount

    sql>CREATE DATABASE myoracle

    logfile group...

    ...

    6.创建数据字典

    sql>@d:\oracle\product\10.1.0\db_1\rdbms\admin\catalog.sql;

    sql>@d:\oracle\product\10.1.0\db_1\rdbms\admin\catproc.sql;

    sql>@d:\oracle\product\10.1.0\db_1\rdbms\admin\catrep.sql;

    sql>@d:\oracle\product\10.1.0\db_1\javavm\install\initjvm.sql;

    sql>@d:\oracle\product\10.1.0\db_1\sqlplus\admin\ppbld.sql;

    一、启动数据

    $sqlplus "sys/pass as sysdba"

    sql>startup

    二、启动监听器

    数据库启动后,如果未启动监听进程,则客户端无法与数据库连接。监听进程的启动方法为:

    $lsnrctl start

    在widnows中,可以从服务列表中启动监听器。

    监听里程配置文件为listener.ora,位于目录/home/app/oracle/product/10.1.0/db1/network/admin/。

    此配置文件分为两部分,一部分为监听程序本身的配置,包括协议,地址,端口号等;另一部分为监听程序所连接的数据库的实例信息,包括:实例名,全局数据库名,oracle主目录等。监听器可以利用oracle net config 向导来配置。

    要显示监听器的运行状态:$lsnrctl status;

    要停止监听器:$lsnrctl stop。

    三、数据库的启动过程

    分为三个阶段:

    1. 启动实例,包括以下操作:

    1) 读取参数文件

    2) 分配SGA

    3) 启动后台进程

    2.装载数据库

    装载数据库是将数据库与已启动的实例相联系。数据库装载后,数据库保持关闭状态。

    3.打开数据库

    此步骤使用数据库可以进行正常的操作的处理。主要是打开控制文件,数据库文件和日志文件。

    四、数据库启动参数

    1.NOMOUNT:只启动实例,不装载数据库

    sql>startup nomount

    2.MOUNT:启动实例,并装载数据,但不打开数据库

    sql>startup mount

    3.READ ONLY:将数据库置为只读

    sql>startup mount

    sql>alter database open read only

    4.READ WRITE:以可读写方式打开数据,这是默认方式

    sql>startup mount

    sql>alter database open read write

    5.OPEN:打开数据库,这是默认方式

    sql>startup mount

    sql>alter database open;

    6.RESTRICT:以受限方式打开,只有具有RESTRICTED SESSION权限的用户才可以连接数据库

    sql>startup restrict

    7.PFILE:启时指定参数文件

    sql>startup pfile=/u02/user/mypfile.ora

    8.FORCE:以强制方式启动数据库

    sql>startup pfile=/u02/user/mypfile.ora open restrict force

    五、数据库的关闭

    与启动过程相对应,关闭包括三个过程

    1).关闭数据库

    2).卸载数据库

    3).关闭数据库实例

    1.NORMAL关闭方式

    NORMAL关闭方式是正常关闭方式,是默认关闭方式。在这种关机方式下,数据库服务器必须等待所有客户端从Oracle中正常退出时,才可以关闭数据库。

    SQL>SHUTDOWN NORMAL

    2.IMMEDIATE关闭方式

    使用这种方式关闭数据库时,系统将连接到数据库的所有用户尚未提交的事务全部回退,中断连接,然后关闭数据库。

    SQL>SHUTDOWN IMMEDIATE

    3.ABORT关闭方式

    ABORT关闭方式为异常方式,使用这种方式关闭数据库时,系统立即将数据库实例关闭,对事务膛数据完整性不作检查。是最快的关机方式。

    sql>shutdown abort;

    4.TRANSACTIONAL关闭方式

    在这种关机方式中,数据库必须等待所有的客户运行的事务结束,提交或回退。

    sql>shutdown transactional

     Oracle数据库的连接结构有三种:

    1) 组合用户与服务器结构:在这种连接方式中,客户端与服务器同处一台机器中,对于每一个用户,其库应用程序与服务器程序组合成单个服务器进程。

    2) 专用服务器(DedicatedServer)结构:在这种方式中,对于每一个用户,其数据库应用是由用户进程所运行,并有一个专用服务器进程为之服务,执行Oracle服务器代码。

    3) 多线程服务器(Multithreaded Server)体系结构:在这种方式中,一个或多个客户应用程序共享一组服务器进程,与专用服务器不同的是,客户和服务器进程不是一对一的关系,而是由调度进程对多个服务器进程进行调度,以服务来自客户应用的连接请求。

    专用服务器

     

    专用服务器的工作过程:

    1) 客户端通过oracle net向监听器发连接请求

    2) 监听器收到请求并将此请求导向服务器,服务器向用户返回一个连接成功信息,并为此用户创建一个专用服务器进程

    3) 客户直接与该专用服务器进程进行交互,处理SQL,并且服务器在该会话的PGA中建立一个专用SQL区。

    如果客户端要求建立专用服务器连接方式,可以修改客户羰的网络配置文件tnsnames.ora或修改连接描述串。增加关键字“Server=DEDICATED”,如:

    prod=

           (DESCRIPTION=

             (ADDRESSLIST=

               (ADDRESS=

                 (PROTOCOL=TCP)(HOST=192.168.0.3)(PORT=1521)

                 (SERVER=DEDICATED)

               )

             )

             (CONNECT_DATA=(SID=PROD)

            )

           )

    还必须修改SQLNET.ORA文件,增加“USE_DEDICATED_SERVER=TRUE”

    多线程服务器体系结构

     

    专用服务器结构中,一个服务器进程只为一个客户服务。这样的话,如果有一千个客户,就需要有一千个对应的服务器进程,就会耗费大量的系统资源。为了支 持对于可伸缩性的需求,在oracle7中引入了多线程服务器(MTS,也称为共享服务器)。下面说明共享服务器建立连接的过程,以级与建立专用服务器连 接过程的不同:

    1) 客户通过网络与监听器联系

    2) 监听器检测到请求,基于Oracle net结构来确定是否与多线程服务器连接。监听器将客户请求导向相应的调度程序。

    3) 监听器通过使客户与调度程序了解对方的网络地址,从面完成了双方的介绍。

    4) 一旦客户与调度程序知道如何找到对方,它们就直接通信,不要需要监听器。客户直接将操作请求发送给高度程序。

    5) 调度程序将客户请求放在SGA的请求队列中。

    6) 下一个可用的共享服务器进程从请求队列中读取请求,进行相应的工作。

    7) 共享服务器进程将结果存放在提交相应请求的调度程序的响应队列中。

    8) 调度程序从响应队列中读取数据并将结果送组客户。

     

      有几个概念在这里作个补充说明:

    1) 监听器(Listener):为一个或多个实例“监听”连接请求,它是oracle客户与服务器的中介。监听器不是Oracle实例的一部分,它的作用是将连接的请求导向相应的实例。

    2) 调度程序(dispatcher):在MTS体系结构中,监听器与调度程序联系,调度程序负责调度MTS中的各个共享服务器进程。

     

     多线程服务器的设置参数有:

    MTS_SERVICE:多线程服务器名称,一般为数据库名

    MTS_DISPATCHERS:初始调度器个数

    MTS_MAX_DISPATCHERS:调度器最大个数

    MTS_SERVERS:共享服务器个数

    MTS_MAX_SERVERS:最大共享服务器个数

    多线程服务器的设置是通过对以上各个参数的设置完成的。格式如下:

    MTS_SERVICE=RS

    MTS_SERVERS=10

    MTS_MAX_SERVERS=100

    MTS_DISPATCHERS="(PROTOCOL=TCP)(POOL=YES)(MULT=YES)"

    MTS_DISPATCHERS="(PROTOCOL=IPX)(POOL=YES)(MULT=YES)"

    MTS_DISPATCHERS="(PROTOCOL=IPC)(POOL=YES)(MULT=YES)"

    MTS_MAX_DISPATCHERS=100

     

    有关多线程服务器的数据字典如下:

    V$MTS

    V$DISPATCHER

    V$SHARED_SERVER

    V$CIRCULT

    各字典的详细说明请参考Oracle文档。

    第八篇 再述oracle数据库体系结构 之四:Oracle实例的进程结构

      这里所讲的里程是指Unix系统中的进程,在Windows中,Oracle是一个操作系统服务。

    Oracle实例由内存区域和后台进程组成。

    Oracle实例分为单进程实例(一个进程执行全部的Oracle代码,只允许单个用户存取)和多进程实例(由多个进程执行Oracle代码的不同部分,对于每一个连接的用户都有一个进程,允许多个用户同时使用)。

    在多进程结构中,除服务器进程(请注意,此“服务器进程”不是指所有的实例中的进程,见下面的说明)外,还有其他后台进程,包括:Dnnn, DBWR, LGWR,ARCH,PMON,SMON,CKPT,RECO等。在数据库启动后,这些进程常驻操作系统。Oracle中所有进程的数量之和不能超过参数 PROCESS设定的值:

    sql>show parameter process

         当Oracle客户端应用程序与Oracle实例连接的时候,Oracle会产生一个服务器进程来为这些客户服务,此进程在widnows下表现为线程。 此进程的主要作用有:对于用户发出的SQL语句进行语法分析,编译,执行用户的SQL语句,如是数据块不在数据缓冲区时,则从磁盘数据文件将数据读入到 SGA的共享数据缓冲区中,将SQL语句的执行结果返回组应用程序。下面的语句用来查询数据库中的用户会话信息。

    sql>select substr(s.sid,1,3) sid,substr(s.serial#,1,5) ser,spid,substr(schemaname,1,10) schema,substr(type,1,3) typ,substr(decode((consistent_gets+block_gets),0,'None',(100*(consistent_gets+block_gets-physical_reads)/consistent_gets+block_gets))),1,4) "%hit",value cpu,substr(block_changes,1,5) bchng from vprocessp,vprocessp,vsesstat t,vsessioi,vsessioi,vsession s where i.sid=s.sid and p.addr=paddr(+) and s.sid=t.sid and t.statistic#=12;

    结果中:

    sid 表示会话ID号,

    ser 表示会话serial#号,serial#与sid组合以唯一表示一个会话,

    spid 表示操作系统进程号,

    schema 表示数据库用户名,

    typ 表示进程类型,use为用户进程,bac为后台进程

    %hit 表示数据缓冲区命中率,

    cpu 表示使用cpu的时间,

    bchng 表示修改了的数据块的个数。

    下面介绍各个后台进程。

    1. DBWR进程

    DBWR(Database Writer)进程将缓冲区中的数据写入数据文件,负责数据缓冲区的管理。

    当数据缓冲区中的一个数据被修改后,被标记为“脏”,DBWR进程负责将“脏”数据写入磁盘。

    DBWR采用LRU算法来替换数据缓冲区中的数据。

    DBWR的作用包括:

    1) 管理数据缓冲区,以便服务器进程总能找到空闲缓冲区

    2) 将所有修改后的缓冲区中的数据写入数据库文件

    3) 使用LRU算法将最近使用过的块保留在内存中

    4) 通过延迟写来优化磁盘i/o.

    在下列情况下DBWR要将脏数据写入磁盘数据文件:

    1) 当一个服务器进程将缓冲数据块移“脏表”,面该脏表达到一定程度进。(该临界长度由参数DB_BLOCK_WRITE_BATCH决定)

    2) 当一个服务器进程在LRU表中查找DB_BLOCK_MAX_SCAN_CNT缓冲区时,没有查到空闲的缓冲区

    3) 出现超时

    4) 检查点发生时

    在一个Oracle实例中,允许启动多个DBWR进程,DBWR进程个数由参数DB_WRITE_PROCESSES指定,上限为20,进程名依次自动命名为:DBW0,DBW1,DBW2...DBW19。

    sql>show parameter processes

    2. LGWR进程

    LGWR(Log Writer)进程将日志数据从日志缓冲区中写入磁盘日志文件中。

    关于LGWR进程的工作时机可以看我写的第一篇《一次事务过程》。

    LGWR的写盘条件是:

    1) 发生提交,即commit;

    2) 日志缓冲区达到总数的1/3时;

    3) 超时;

    4) DBWR进程需要为检验点清除缓冲区时。

    每一个Oracle实例只有一个LGWR进程。

    LGWR将日志信息同步的写入到日志文件组的多个日志成员中,如果组中的一个成员文件被删除或不可使用,LGWR将日志信息继续写到该组的其他文件中,不影响数据库的运行。

    3. SMON进程

    SMON(System Monitor),系统监控进程,在实例启动时执行实例恢复,并负责清理不再使用的临时段。

    4. PMON进程

    PMON(Process Monitor),进程监控里程,在服务器进程出现故障时执行进程恢复,负责清理内存内存和释放该进程所使用的资源。

    5. ARCH进程

    ARCH(Archive Process,归档进程)在日志存满时将日志信息写到磁盘或磁带,用于介质失败时的恢复。

    日志信息首先产生于日志缓冲区,再由日志写入进程LGWR将日志数据写入日志文件组,日志切换时,由归档进程ARCH将日志数据从日志文件组中写入归档日志中。

    在一个数据库实例中,归档进程最多可以启动10个,进程名依次自动命名为ARC0,ARC1,ARC2...ARC9,设置方法是:在参数文件中增加 参数LOG_ARCHIVE_MAX_PROCESSES。关于如何启用数据库的自动归档,在前面的《物理结构》一篇中已有说明,这里说明一个几个相关的 参数:

    1) LOG_ARCHIVE_DEST:用于设置归档日志的文件存储目录

    2) LOG_ARCHIVE_DUBLEX_DEST:用于设置归档日志文件的镜像存储目录,此参数在oracle 8及以上的版本中支持

    3) LOG_ARCHIVE_DEST_n:用于设置更多的镜像目录,其中,1<=n<=10,该参数有以下三个选项:

    (1)MANDATORY:表示必须完成此目录的归档,才可以切换。

    (2)REOPEN:归档目录或介质失败后,需等多长时间能重新写入日志,默认时间为300秒。

    (3)OPTIONAL:不管是否归档完成都进行切换,这是默认方式

    举例如下:

    LOG_ARCHIVE_DEST_1='LOCATION=/u01/oracle/archive/

                           MANDATORY

                           REOPEN=500'

    LOG_ARCHIVE_DEST_2='LOCATION=/u02/oracle/archive/

                           OPTIONAL'

    LOG_ARCHIVE_DEST_n只适用于oracle 8i及以上的版本。

    4) LOG_ARCHIVE_DEST_STATE_n:用于对归档日志目录进行失效或生效,该参数与LOG_ARCHIVE_DEST_n一一相对应。如:

    LOG_ARCHIVE_DEST_STATE_1=DEFER

    LOG_ARCHIVE_DEST_STATE_2=ENABLE

    此参数可以在线设置:

    sql> ALTER SYSTEM SET LOG_ARCHIVE_DEST_STATE_1=DEFER;

    此参数只适用于oracle 10g及以上版本。

    6. CKPT进程

    CKPT(CheckPoint,检查点)进程出现时,系统对全部数据库文件及控制文件的文件头的同步号进行修改,以保证数据库的同步。

    以下两个参数是对CKPT有影响的:

    LOG_CHECKPOINT_TIMEOUT:决定产生一个检验点的时间间隔,单位为秋,默认为1800;

    LOG_CHECKPOINT_INTERVAL:执行一个检验点需要填充的日志文件块的数目,默认为0,表示不起作用。

    系统对于数据库的改变信息用系统改变号SCN表示,SCN也叫检验点号,在日志中用CHECKPOINT_CHANGE#表示,它是数据文件,日志文件,控制文件的同步的同步依据,同时存储在这三个中,在系统改变时,检验点号也会同时改变。

    引起CKPT产生的主要时机有:

    1)日志切换时

    2)达到LOG_CHECKPOINT_TIMEOUT指定的间隔时间

    3)达到LOG_CHECKPOINT_INTERVAL指定的日志块数

    4)数据库关闭

    5)DBA强制产生

    6)表空间OFFLINE时

    7. RECO进程

    RECO(Recover,恢复)进程用于分布式数据库系统,RECO进程自动地解决在分布式数据库中的事务故障。

    8. LCKn进程

    LCKn(锁进程)用于Oracle并行服务器环境下,用于多个实例间的封锁,该进程最多可以启动10个。

    9. Dnnn进程

    Dnnn(Despatcher,调度)进程。用于多线程服务器体系结构中。详见下一篇《Oracle连接配置结构》

    10. SNP进程

    SNP是作业进程,主要用于分布式数据库中,进行数据库之间快照的自动刷新,并同时通达DBMS_JOB程序包自动运行预定的存储过程,SQL,PL/sql程序等。有两个参数用来控制作业进程的计划:

    1) JOB_QUEUE_PROCESS:用于设置作业进程个数

    2) JOB_QUEUE_INTERVAL:用于设置作业进程被周期性唤醒的时间间隔

    后台进程跟踪信息

    所有修改数据库结构的命令会自动被后台进程跟踪记录,跟踪信息由oracle后台进程自动存储,跟踪文件的名称为alter_SID。此文件的存储目录由参数BACKGROUND)DUMP_DEST指定。

    可以用工具命令TKPROF来格式化跟踪文件,如:

    $tkprof oralogfile1.log

    除了跟踪后台进程外,还可以启用参数SQL_TRACE对用户的语句进行跟踪。修改参数文件:

    TIMED_STATISTICS=TRUE

    USER_DUMP_DEST=目录名

    MAX_DUMP_FILE_SIZE=5M

    SQL_TRACE=TRUE

    或者:

    SQL>ALTER SESSION SET SQL_TRACE=TRUE对当前会话进行SQL跟踪。

    锁等待问题与KILL SESSION

    为了保证数据的一致性,系统提供锁机制。有关锁的概念可以参数《数据库系统概论》一书。要了解当前在等待锁资源的用户:

    sql>select a.username,a.sid,a,serial#,b.id1 from vsession,vsession,vlock where a.lockwait=b.kaddr;

    要了解锁住其它用户的用户进程:

    SQL>SELECT A.USERNAME,A.SID,A,SERIAL#,B.ID1 FROM VSESSIONA,VSESSIONA,VLOCK B WHERE B.ID1 IN (SELECT DISTINCT E.ID1 FROM VSESSIOND,VSESSIOND,VLOCK E WHERE D.LOCKWAIT=E.KADDR) AND A.SID=B.SID AND B.REQUEST=0;

     

    转自:https://www.cnblogs.com/tinaluo/p/6497325.html

    展开全文
  • 如果大家用过数据库,那么对于数据库的连接配置一定不会陌生,不管你是使用成熟的框架和自己用JDBC实现,都逃脱不了那几个重要的信息,但是其中有一个重要的配置,我之前使用的时候一直是马马虎虎,不求甚解,但是...

    如果大家用过数据库,那么对于数据库的连接配置一定不会陌生,不管你是使用成熟的框架和自己用JDBC实现,都逃脱不了那几个重要的信息,但是其中有一个重要的配置,我之前使用的时候一直是马马虎虎,不求甚解,但是这种东西遇到的多了就觉得很难受,所以今天决定把这个问题解决。

    下面的这篇文章只是针对SQL Server数据库而言的:

    本文的内容来自以下链接:http://www.experts-exchange.com/questions/28411445/whats-the-difference-between-a-database-name-and-instance-name-in-SQL.html

    一个数据库中包含存储真正数据的多个表结构,而一个实例包含多个数据库,一台服务器(硬件)可以包含多个实例

    每个实例是一个SQL Server安装的组件(或数据库引擎的程序,工具和相关程序)。每个用户数据库(和表)通过编写代码,使用的工具,复制/恢复现有数据库而创建。当安装SQL Server程序时,可以通过命名在一台机器上安装不同的实例。例如,你可以有SQL2005,SQL2008,SQL2012作为SQL Server独立的命名实例。也可以用相同的版本安装成不同的实例,如SQL2005DW(用于数据仓库),SQL2005_PAY(工资单),SQL2005_ERP等等。

    可以有一个(并且唯一)被称为默认实例的实例,在同一台机器上所有其他实例必须有一个名称(16个字符)。

    该程序之间(SQL Server数据库引擎)互相竞争机器资源,所以你必须了解和管理每个实例将如何竞争,否则它们会机器运行变慢甚至停止。
    可能更常见的是一个实例中存在多个数据库。每个实例都有”系统“数据库(MASTER,MODEL,RESOURCES,MSDB,TEMPDB),然后您可以在该实例中创建自己的用户数据库。
    在管理服务器资源方面,你可以管理每个实例需要多少内存和CPU。但是对于一个实例中的数据库,却不能这样做。
    可以在实例或数据库两个层级上应用安全和访问限制。虽然有时业务可能更偏向将高度敏感/涉及安全的数据作为一个单独的实例(如薪资数据库),以避免任何危险。
    当连接到一个数据库,必须同时提供实例名称和数据库名称。


    相关文章:

    展开全文
  • oracle命令行查看实例名实例状态

    千次阅读 2019-06-04 21:41:36
    查看实例名: select name from v$database; select instance_name from v$instance; 查看实例状态: SQL> select status from v$instance; STATUS ------------------------ STARTED SQL> alter ...

    查看实例名:

    select name from v$database;
    
    select instance_name from v$instance;

    查看实例状态:

    SQL> select status from v$instance;
     
    STATUS
    ------------------------
    STARTED
     
    SQL> alter database mount;
     
    数据库已更改。
     
    SQL> select status from v$instance;
     
    STATUS
    ------------
    MOUNTED
     
    SQL> alter database open;
     
    数据库已更改。
     
    SQL> select status from v$instance;
     
    STATUS
    ------------
    OPEN
     
    SQL>
    

     

    展开全文
  • Oracle11g修改实例名和数据库名

    万次阅读 2018-12-12 20:01:25
    分为两个阶段,第一阶段修改实例名sid;第二阶段修改数据库名dbname 将原先的实例名orcl 更改为 isdms 将原先的数据库名orcl 更改为 isdms 第一阶段:修改实例名sid 1、登录数据库查看先前的sid (1)切换到oracle...

    参考博客http://blog.itpub.net/26870952/viewspace-2151994/,经过试验,做了一些补充和完善
    分为两个阶段,第一阶段修改实例名sid;第二阶段修改数据库名dbname
    将原先的实例名orcl 更改为 isdms
    将原先的数据库名orcl 更改为 isdms

    第一阶段:修改实例名sid

    1、登录数据库查看先前的sid

    (1)切换到oracle用户

    [root@brms03 ~]# su - oracle
    Last login: Mon Dec 10 11:35:21 CST 2018
    [oracle@brms03 ~]$
    

    (2)打开已经启动数据库并查看sid

    [oracle@brms03 ~]$ sqlplus / as sysdba
    
    SQL*Plus: Release 11.2.0.1.0 Production on Wed Dec 12 16:47:02 2018
    
    Copyright (c) 1982, 2009, Oracle.  All rights reserved.
    
    
    Connected to:
    Oracle Database 11g Enterprise Edition Release 11.2.0.1.0 - 64bit Production
    With the Partitioning, OLAP, Data Mining and Real Application Testing options
    
    SQL> select instance from v$thread;
    
    INSTANCE
    --------------------------------------------------------------------------------
    orcl
    
    SQL> 
    
    2、关闭数据库
    SQL> shutdown immediate
    Database closed.
    Database dismounted.
    ORACLE instance shut down.
    SQL> exit
    Disconnected from Oracle Database 11g Enterprise Edition Release 11.2.0.1.0 - 64bit Production
    With the Partitioning, OLAP, Data Mining and Real Application Testing options
    
    3、修改/etc/oratab文件

    编辑文件/etc/oratab,将文件里面的orcl换成isdms

    [oracle@brms03 ~]$ vim /etc/oratab
    
    4、修改.bash_profile文件

    编辑oracle用户的 .bash_profile文件,把orcl改成isdms

    [oracle@brms03 ~]$ vim ~/.bash_profile
    

    修改之后使文件生效

    [oracle@brms03 ~]$ source ~/.bash_profile
    

    查看环境变量,确定修改已经生效

    [oracle@brms03 ~]$ env|grep ORACLE
    ORACLE_SID=isdms
    ORACLE_BASE=/opt/oracle
    ORACLE_HOME=/opt/oracle/112
    
    5、修改dbs目录下的文件名

    dbs目录是用于存放数据库服务器端的参数文件Spfile、初始化文件init、还有密码文件orapw$ORACLE_SID
    在$ORACLE_HOME目录下

    [oracle@brms03 dbs]$ cd $ORACLE_HOME/dbs
    [oracle@brms03 dbs]$ ll
    total 20
    -rw-rw----. 1 oracle oinstall 1544 Dec 12 16:48 hc_orcl.dat
    -rw-r--r--. 1 oracle oinstall 2851 May 16  2009 init.ora
    -rw-r-----. 1 oracle oinstall   24 Sep 10 14:13 lkORCL
    -rw-r-----. 1 oracle oinstall 1536 Oct  8 17:23 orapworcl
    -rw-r-----. 1 oracle oinstall 2560 Dec 10 11:35 spfileorcl.ora
    [oracle@brms03 dbs]$ mv hc_orcl.dat hc_isdms.dat
    [oracle@brms03 dbs]$ mv lkORCL lkISDMS
    [oracle@brms03 dbs]$ mv spfileorcl.ora spfileisdms.ora 
    [oracle@brms03 dbs]$ ll
    total 20
    -rw-rw----. 1 oracle oinstall 1544 Dec 12 16:48 hc_isdms.dat
    -rw-r--r--. 1 oracle oinstall 2851 May 16  2009 init.ora
    -rw-r-----. 1 oracle oinstall   24 Sep 10 14:13 lkISDMS
    -rw-r-----. 1 oracle oinstall 1536 Oct  8 17:23 orapworcl
    -rw-r-----. 1 oracle oinstall 2560 Dec 10 11:35 spfileisdms.ora
    

    重新生成密码文件,并将旧的密码文件删除

    [oracle@brms03 dbs]$ orapwd file=$ORACLE_HOME/dbs/oraw$ORACLE_SID password=sys entries=5 force=y
    [oracle@brms03 dbs]$ ll
    total 24
    -rw-rw----. 1 oracle oinstall 1544 Dec 12 16:48 hc_isdms.dat
    -rw-r--r--. 1 oracle oinstall 2851 May 16  2009 init.ora
    -rw-r-----. 1 oracle oinstall   24 Sep 10 14:13 lkISDMS
    -rw-r-----. 1 oracle oinstall 1536 Oct  8 17:23 orapworcl
    -rw-r-----  1 oracle oinstall 2048 Dec 12 17:09 orawisdms
    -rw-r-----. 1 oracle oinstall 2560 Dec 10 11:35 spfileisdms.ora
    [oracle@brms03 dbs]$ rm -rf orapworcl 
    [oracle@brms03 dbs]$ ll
    total 20
    -rw-rw----. 1 oracle oinstall 1544 Dec 12 16:48 hc_isdms.dat
    -rw-r--r--. 1 oracle oinstall 2851 May 16  2009 init.ora
    -rw-r-----. 1 oracle oinstall   24 Sep 10 14:13 lkISDMS
    -rw-r-----  1 oracle oinstall 2048 Dec 12 17:09 orawisdms
    -rw-r-----. 1 oracle oinstall 2560 Dec 10 11:35 spfileisdms.ora
    
    6、登录启动数据库,查看实例名字

    修改成功,实例名已经由orcl变成isdms

    [oracle@brms03 dbs]$ sqlplus / as sysdba
    
    SQL*Plus: Release 11.2.0.1.0 Production on Wed Dec 12 17:14:13 2018
    
    Copyright (c) 1982, 2009, Oracle.  All rights reserved.
    
    Connected to an idle instance.
    
    SQL> startup
    ORACLE instance started.
    
    Total System Global Area 4275781632 bytes
    Fixed Size		    2220200 bytes
    Variable Size		 2298482520 bytes
    Database Buffers	 1962934272 bytes
    Redo Buffers		   12144640 bytes
    Database mounted.
    Database opened.
    SQL> select instance from v$thread;
    
    INSTANCE
    --------------------------------------------------------------------------------
    isdms
    
    

    第二阶段:修改数据库名dbname

    不用退出登录,接着开始修改数据库名dbname

    1、备份控制文件,并关闭退出数据库
    SQL> alter database backup controlfile to trace resetlogs;  
    
    Database altered.
    
    SQL> shutdown immediate
    Database closed.
    Database dismounted.
    ORACLE instance shut down.
    SQL> exit
    Disconnected from Oracle Database 11g Enterprise Edition Release 11.2.0.1.0 - 64bit Production
    With the Partitioning, OLAP, Data Mining and Real Application Testing options
    
    2、根据旧的控制文件生成修改更新控制文件的sql语句

    进入控制文件的备份目录,根据alter_orcl.log找到控制备份文件
    oracle11.2g 的控制文件备份目录为:$ORACLE_BASE/diag/rdbms/orcl/isdms/trace

    [oracle@brms03 trace]$ cd $ORACLE_BASE/diag/rdbms/orcl/isdms/trace
    [oracle@brms03 trace]$ vim alert_isdms.log
    

    在alert_isdms.log文件中找到contolfile的备份trc
    Backup controlfile written to trace file /opt/oracle/diag/rdbms/orcl/isdms/trace/isdms_ora_27000.trc
    复制一份进行修改:

    [oracle@brms03 trace]$ cp /opt/oracle/diag/rdbms/orcl/isdms/trace/isdms_ora_27000.trc isdms.sql
    

    编辑文件isdms.sql
    1)查找STARTUP NOMOUNT语句,将这一行上面的所有行都删除
    2)将-- End of tempfile additions.语句下面的行全部删除
    3)查找所有以–开始的行,把这些行删除
    4)查找所有的orcl修改为isdms,所有的ORCL修改为ISDMS
    5)找到CREATE CONTROLFILE REUSE DATABASE…语句,将其中的REUSE修改为SET
    6)找到RECOVER DATABASE USING BACKUP CONTROLFILE语句,将其用双横线(–)注释掉

    最终isdms.sql文件如下:

    STARTUP NOMOUNT
    CREATE CONTROLFILE SET DATABASE "ISDMS" RESETLOGS  NOARCHIVELOG
        MAXLOGFILES 16
        MAXLOGMEMBERS 3
        MAXDATAFILES 100
        MAXINSTANCES 8
        MAXLOGHISTORY 2336
    LOGFILE
      GROUP 1 '/opt/oracle/oradata/isdms/redo01.log'  SIZE 50M BLOCKSIZE 512,
      GROUP 2 '/opt/oracle/oradata/isdms/redo02.log'  SIZE 50M BLOCKSIZE 512,
      GROUP 3 '/opt/oracle/oradata/isdms/redo03.log'  SIZE 50M BLOCKSIZE 512
    DATAFILE
      '/opt/oracle/oradata/isdms/system01.dbf',
      '/opt/oracle/oradata/isdms/sysaux01.dbf',
      '/opt/oracle/oradata/isdms/undotbs01.dbf',
      '/opt/oracle/oradata/isdms/users01.dbf',
      '/opt/oracle/oradata/isdms/hive_01.dbf',
      '/opt/oracle/oradata/isdms/isdms_01.dbf',
      '/opt/oracle/oradata/isdms/dwd_produce_01.dbf',
      '/opt/oracle/oradata/isdms/dwd_produce_02.dbf',
      '/opt/oracle/oradata/isdms/dwd_produce_03.dbf',
      '/opt/oracle/oradata/isdms/isdms_xz.dbf'
    CHARACTER SET AL32UTF8
    ;
    --RECOVER DATABASE USING BACKUP CONTROLFILE
    ALTER DATABASE OPEN RESETLOGS;
    ALTER TABLESPACE TEMP ADD TEMPFILE '/opt/oracle/oradata/isdms/temp01.dbf'
         SIZE 1504M REUSE AUTOEXTEND ON NEXT 655360  MAXSIZE 32767M;
    
    3、生成配置文件
    [oracle@brms03 oracle]$ sqlplus  / as sysdba
    
    SQL*Plus: Release 11.2.0.1.0 Production on Wed Dec 12 18:59:07 2018
    
    Copyright (c) 1982, 2009, Oracle.  All rights reserved.
    
    Connected to an idle instance.
    
    SQL> create pfile   from spfile;
    
    File created.
    
    SQL> exit
    Disconnected
    
    

    最终生成的文件在$ORACLE_HOME/dbs目录下文件名为init$ORACLE_SID.ora
    在本示例中为:initisdms.ora

    [oracle@brms03 dbs]$ ll
    total 28
    -rw-rw----. 1 oracle oinstall 1544 Dec 12 17:17 hc_isdms.dat
    -rw-r--r--  1 oracle oinstall 1265 Dec 12 18:59 initisdms.ora
    -rw-r--r--. 1 oracle oinstall 2851 May 16  2009 init.ora
    -rw-r-----. 1 oracle oinstall   24 Sep 10 14:13 lkISDMS
    -rw-r-----  1 oracle oinstall   24 Dec 12 17:14 lkORCL
    -rw-r-----  1 oracle oinstall 2048 Dec 12 17:09 orawisdms
    -rw-r-----. 1 oracle oinstall 3584 Dec 12 17:14 spfileisdms.ora
    
    4、目录和文件更改
    4.1修改$ORACLE_HOME/dbs目录下的文件内容,将orcl替换成isdms,ORCL替换成ISDMS
    [oracle@brms03 dbs]$ ll
    total 28
    -rw-rw----. 1 oracle oinstall 1544 Dec 12 17:17 hc_isdms.dat
    -rw-r--r--  1 oracle oinstall  944 Dec 12 19:13 initisdms.ora
    -rw-r--r--. 1 oracle oinstall 2851 May 16  2009 init.ora
    -rw-r-----. 1 oracle oinstall   24 Sep 10 14:13 lkISDMS
    -rw-r-----  1 oracle oinstall   24 Dec 12 17:14 lkORCL
    -rw-r-----  1 oracle oinstall 2048 Dec 12 17:09 orawisdms
    -rw-r-----. 1 oracle oinstall 3584 Dec 12 17:14 spfileisdms.ora
    
    4.1.1 initisdms.ora文件修改

    这个文件是上面生成的配置文件
    1)将orcl.开头的配置项删除
    2)将文件中的orcl替换成isdms,ORCL替换成ISDMS
    修改前文件内容:

    orcl.__db_cache_size=1291845632
    isdms.__db_cache_size=1962934272
    orcl.__java_pool_size=16777216
    isdms.__java_pool_size=16777216
    orcl.__large_pool_size=16777216
    isdms.__large_pool_size=16777216
    orcl.__oracle_base='/opt/oracle'#ORACLE_BASE set from environment
    isdms.__oracle_base='/opt/oracle'#ORACLE_BASE set from environment
    orcl.__pga_aggregate_target=2264924160
    isdms.__pga_aggregate_target=1728053248
    orcl.__sga_target=2030043136
    isdms.__sga_target=2566914048
    orcl.__shared_io_pool_size=0
    isdms.__shared_io_pool_size=0
    orcl.__shared_pool_size=637534208
    isdms.__shared_pool_size=536870912
    orcl.__streams_pool_size=33554432
    isdms.__streams_pool_size=0
    *.aq_tm_processes=0
    *.audit_file_dest='/opt/oracle/admin/orcl/adump'
    *.audit_trail='db'
    *.compatible='11.2.0.0.0'
    *.control_files='/opt/oracle/oradata/orcl/control01.ctl','/opt/oracle/flash_recovery_area/orcl/control02.ctl'
    *.db_block_size=8192
    *.db_domain=''
    *.db_name='orcl'
    *.db_recovery_file_dest='/opt/oracle/flash_recovery_area'
    *.db_recovery_file_dest_size=4070572032
    *.diagnostic_dest='/opt/oracle'
    *.dispatchers='(PROTOCOL=TCP) (SERVICE=orclXDB)'
    *.job_queue_processes=0
    *.memory_target=4294967296
    *.job_queue_processes=0
    *.memory_target=4294967296
    *.open_cursors=300
    *.processes=150
    *.remote_login_passwordfile='EXCLUSIVE'
    *.undo_tablespace='UNDOTBS1'
    

    修改之后的文件内容:

    isdms.__db_cache_size=1962934272
    isdms.__java_pool_size=16777216
    isdms.__large_pool_size=16777216
    isdms.__oracle_base='/opt/oracle'#ORACLE_BASE set from environment
    isdms.__pga_aggregate_target=1728053248
    isdms.__sga_target=2566914048
    isdms.__shared_io_pool_size=0
    isdms.__shared_pool_size=536870912
    isdms.__streams_pool_size=0
    *.aq_tm_processes=0
    *.audit_file_dest='/opt/oracle/admin/isdms/adump'
    *.audit_trail='db'
    *.compatible='11.2.0.0.0'
    *.control_files='/opt/oracle/oradata/isdms/control01.ctl','/opt/oracle/flash_recovery_area/isdms/control02.ctl'
    *.db_block_size=8192
    *.db_domain=''
    *.db_name='isdms'
    *.db_recovery_file_dest='/opt/oracle/flash_recovery_area'
    *.db_recovery_file_dest_size=4070572032
    *.diagnostic_dest='/opt/oracle'
    *.dispatchers='(PROTOCOL=TCP) (SERVICE=isdmsXDB)'
    *.job_queue_processes=0
    *.memory_target=4294967296
    *.open_cursors=300
    *.processes=150
    *.remote_login_passwordfile='EXCLUSIVE'
    *.undo_tablespace='UNDOTBS1'
    
    4.1.2 init.ora文件修改

    将文件中的orcl替换成isdms,ORCL替换成ISDMS
    修改前的内容:

    db_name='ORCL'
    memory_target=1G
    processes = 150
    audit_file_dest='<ORACLE_BASE>/admin/orcl/adump'
    audit_trail ='db'
    db_block_size=8192
    db_domain=''
    db_recovery_file_dest='<ORACLE_BASE>/flash_recovery_area'
    db_recovery_file_dest_size=2G
    diagnostic_dest='<ORACLE_BASE>'
    dispatchers='(PROTOCOL=TCP) (SERVICE=ORCLXDB)'
    open_cursors=300
    remote_login_passwordfile='EXCLUSIVE'
    undo_tablespace='UNDOTBS1'
    # You may want to ensure that control files are created on separate physical
    # devices
    control_files = (ora_control1, ora_control2)
    compatible ='11.2.0'
    

    修改后的内容:

    db_name='ISDMS'
    memory_target=1G
    processes = 150
    audit_file_dest='<ORACLE_BASE>/admin/isdms/adump'
    audit_trail ='db'
    db_block_size=8192
    db_domain=''
    db_recovery_file_dest='<ORACLE_BASE>/flash_recovery_area'
    db_recovery_file_dest_size=2G
    diagnostic_dest='<ORACLE_BASE>'
    dispatchers='(PROTOCOL=TCP) (SERVICE=ISDMSXDB)'
    open_cursors=300
    remote_login_passwordfile='EXCLUSIVE'
    undo_tablespace='UNDOTBS1'
    # You may want to ensure that control files are created on separate physical
    # devices
    control_files = (ora_control1, ora_control2)
    compatible ='11.2.0'
    
    4.1.3 spfileisdms.ora文件修改

    1)将orcl.开头的配置项删除
    2)将文件中的orcl替换成isdms,ORCL替换成ISDMS
    修改前
    在这里插入图片描述

    修改后:
    在这里插入图片描述

    4.1.4 删除文件lkORCL
    [oracle@brms03 dbs]$ rm -rf lkORCL 
    [oracle@brms03 dbs]$ ll
    total 24
    -rw-rw----. 1 oracle oinstall 1544 Dec 12 17:17 hc_isdms.dat
    -rw-r--r--  1 oracle oinstall  944 Dec 12 19:13 initisdms.ora
    -rw-r--r--  1 oracle oinstall 2854 Dec 12 19:17 init.ora
    -rw-r-----. 1 oracle oinstall   24 Sep 10 14:13 lkISDMS
    -rw-r-----  1 oracle oinstall 2048 Dec 12 17:09 orawisdms
    -rw-r-----  1 oracle oinstall 3241 Dec 12 19:19 spfileisdms.ora
    
    4.2 修改$ORACLE_BASE/admin目录下的目录和文件内容,将orcl替换成isdms,ORCL替换成ISDMS
    4.2.1 将admin目录下的orcl目录名重命名为isdms
    [oracle@brms03 admin]$ cd $ORACLE_BASE/admin
    [oracle@brms03 admin]$ ll
    total 4
    drwxr-x---. 5 oracle oinstall 4096 Sep 10 14:12 orcl
    [oracle@brms03 admin]$ mv orcl isdms
    [oracle@brms03 admin]$ ll
    total 4
    drwxr-x---. 5 oracle oinstall 4096 Sep 10 14:12 isdms
    
    4.2.2 修改$ORACLE_BASE/admin/isdms/pfile目录下文件

    将orcl替换成isdms,ORCL替换成ISDMS

    [oracle@brms03 pfile]$ cd $ORACLE_BASE/admin/isdms/pfile
    [oracle@brms03 pfile]$ ll
    total 4
    -rw-r-----. 1 oracle oinstall 1764 Sep 10 14:12 init.ora.81020182154
    [oracle@brms03 pfile]$ vim init.ora.81020182154
    
    4.3 修改$ORACLE_BASE/diag目录下的目录,将orcl替换成isdms,ORCL替换成ISDMS
    4.3.1 修改目录名,删除旧的orcl目录
    [oracle@brms03 rdbms]$ cd $ORACLE_BASE/diag
    [oracle@brms03 diag]$ ll
    total 8
    drwxr-x---. 3 oracle oinstall 4096 Sep 10 14:12 rdbms
    drwxr-xr-x. 3 oracle oinstall 4096 Sep 10 14:11 tnslsnr
    [oracle@brms03 diag]$ cd rdbms/
    [oracle@brms03 rdbms]$ ll
    total 4
    drwxr-x---. 4 oracle oinstall 4096 Dec 12 17:14 orcl
    [oracle@brms03 rdbms]$ mv orcl isdms
    [oracle@brms03 rdbms]$ cd isdms/
    [oracle@brms03 isdms]$ ll
    total 8
    -rw-r-----.  1 oracle oinstall    0 Sep 10 14:13 i_1.mif
    drwxr-xr-x  13 oracle oinstall 4096 Dec 12 17:14 isdms
    drwxr-x---. 13 oracle oinstall 4096 Sep 10 14:12 orcl
    [oracle@brms03 isdms]$ rm -rf orcl
    [oracle@brms03 isdms]$ ll
    total 4
    -rw-r-----.  1 oracle oinstall    0 Sep 10 14:13 i_1.mif
    drwxr-xr-x  13 oracle oinstall 4096 Dec 12 17:14 isdms
    
    4.4 修改$ORACLE_BASE/flash_recovery_area目录下的目录和文件内容,将orcl替换成isdms,ORCL替换成ISDMS
    4.4.1 目录重命名
    [oracle@brms03 flash_recovery_area]$ cd $ORACLE_BASE/flash_recovery_area
    [oracle@brms03 flash_recovery_area]$ ll
    total 8
    drwxr-x---. 2 oracle oinstall 4096 Sep 10 14:13 orcl
    drwxr-x---. 4 oracle oinstall 4096 Dec 12 17:17 ORCL
    [oracle@brms03 flash_recovery_area]$ mv orcl isdms
    [oracle@brms03 flash_recovery_area]$ mv ORCL ISDMS
    [oracle@brms03 flash_recovery_area]$ ll
    total 8
    drwxr-x---. 2 oracle oinstall 4096 Sep 10 14:13 isdms
    drwxr-x---. 4 oracle oinstall 4096 Dec 12 17:17 ISDMS
    
    
    4.4.2 删除控制文件
    [oracle@brms03 flash_recovery_area]$ cd isdms/
    [oracle@brms03 isdms]$ ll
    total 9744
    -rw-r-----. 1 oracle oinstall 9977856 Dec 12 17:18 control02.ctl
    [oracle@brms03 isdms]$ rm -rf control02.ctl 
    [oracle@brms03 isdms]$ ll
    total 0
    
    4.5 修改$ORACLE_BASE/oradata目录下的目录和文件内容,将orcl替换成isdms,ORCL替换成ISDMS
    4.5.1 目录重命名
    [oracle@brms03 oradata]$ cd $ORACLE_BASE/oradata
    [oracle@brms03 oradata]$ ll
    total 4
    drwxr-x---. 2 oracle oinstall 4096 Dec  4 14:57 orcl
    [oracle@brms03 oradata]$ mv orcl isdms
    [oracle@brms03 oradata]$ ll
    total 4
    drwxr-x---. 2 oracle oinstall 4096 Dec  4 14:57 isdms
    
    4.5.1 删除控制文件
    [oracle@brms03 oradata]$ cd isdms/
    [oracle@brms03 isdms]$ ll
    total 81859224
    -rw-r-----. 1 oracle oinstall     9977856 Dec 12 17:18 control01.ctl
    -rw-r-----. 1 oracle oinstall 20971528192 Dec 12 17:18 dwd_produce_01.dbf
    -rw-r-----. 1 oracle oinstall 20971528192 Dec 12 17:18 dwd_produce_02.dbf
    -rw-r-----. 1 oracle oinstall 20971528192 Dec 12 17:18 dwd_produce_03.dbf
    -rw-r-----. 1 oracle oinstall  1073750016 Dec 12 17:18 hive_01.dbf
    -rw-r-----. 1 oracle oinstall  7470063616 Dec 12 17:18 isdms_01.dbf
    -rw-r-----  1 oracle oinstall  6002057216 Dec 12 17:18 isdms_xz.dbf
    -rw-r-----. 1 oracle oinstall    52429312 Dec 12 17:18 redo01.log
    -rw-r-----. 1 oracle oinstall    52429312 Dec 12 17:14 redo02.log
    -rw-r-----. 1 oracle oinstall    52429312 Dec 12 17:14 redo03.log
    -rw-r-----. 1 oracle oinstall   702554112 Dec 12 17:18 sysaux01.dbf
    -rw-r-----. 1 oracle oinstall   786440192 Dec 12 17:18 system01.dbf
    -rw-r-----. 1 oracle oinstall  1577066496 Dec 11 10:36 temp01.dbf
    -rw-r-----. 1 oracle oinstall  2254446592 Dec 12 17:18 undotbs01.dbf
    -rw-r-----. 1 oracle oinstall   875569152 Dec 12 17:18 users01.dbf
    [oracle@brms03 isdms]$ rm -rf control01.ctl 
    
    4.6 修改监听的配置文件tnsnames.ora

    监听配置文件目录:$ORACLE_HOME/network/admin
    修改文件内容,将orcl替换成isdms,ORCL替换成ISDMS

    [oracle@brms03 admin]$ cd $ORACLE_HOME/network/admin
    [oracle@brms03 admin]$ ll
    total 20
    -rw-r--r--. 1 oracle oinstall  343 Sep 10 14:11 listener.ora
    drwxr-xr-x. 2 oracle oinstall 4096 Sep 10 14:09 samples
    -rw-r--r--. 1 oracle oinstall  187 May  8  2007 shrept.lst
    -rw-r--r--. 1 oracle oinstall  195 Sep 10 14:11 sqlnet.ora
    -rw-r-----. 1 oracle oinstall  301 Sep 10 14:14 tnsnames.ora
    [oracle@brms03 admin]$ vim tnsnames.ora 
    

    修改前文件内容:

    ORCL =
      (DESCRIPTION =
        (ADDRESS = (PROTOCOL = TCP)(HOST = brms03)(PORT = 1521))
        (CONNECT_DATA =
          (SERVER = DEDICATED)
          (SERVICE_NAME = orcl)
        )
      )
    
    

    修改之后的文件内容:

    ISDMS =
      (DESCRIPTION =
        (ADDRESS = (PROTOCOL = TCP)(HOST = brms03)(PORT = 1521))
        (CONNECT_DATA =
          (SERVER = DEDICATED)
          (SERVICE_NAME = isdms)
        )
      )
    
    

    5、调用前面步骤修改好的isdms.sql,目的是生成链接控制文件等

    [oracle@brms03 trace]$ ll
    total 212
    -rw-r----- 1 oracle oinstall 23858 Dec 12 19:53 alert_isdms.log
    -rw-r----- 1 oracle oinstall  1022 Dec 12 19:50 isdms_ckpt_4247.trc
    -rw-r----- 1 oracle oinstall    60 Dec 12 19:50 isdms_ckpt_4247.trm
    -rw-r----- 1 oracle oinstall   855 Dec 12 17:14 isdms_dbrm_26911.trc
    -rw-r----- 1 oracle oinstall    61 Dec 12 17:14 isdms_dbrm_26911.trm
    -rw-r----- 1 oracle oinstall   854 Dec 12 19:49 isdms_dbrm_4229.trc
    -rw-r----- 1 oracle oinstall    60 Dec 12 19:49 isdms_dbrm_4229.trm
    -rw-r----- 1 oracle oinstall  1451 Dec 12 19:50 isdms_m000_4806.trc
    -rw-r----- 1 oracle oinstall   201 Dec 12 19:50 isdms_m000_4806.trm
    -rw-r----- 1 oracle oinstall   812 Dec 12 17:14 isdms_mman_26917.trc
    -rw-r----- 1 oracle oinstall    61 Dec 12 17:14 isdms_mman_26917.trm
    -rw-r----- 1 oracle oinstall   811 Dec 12 19:46 isdms_mman_4235.trc
    -rw-r----- 1 oracle oinstall    60 Dec 12 19:46 isdms_mman_4235.trm
    -rw-r----- 1 oracle oinstall   811 Dec 12 19:50 isdms_mman_4767.trc
    -rw-r----- 1 oracle oinstall    60 Dec 12 19:50 isdms_mman_4767.trm
    -rw-r----- 1 oracle oinstall   946 Dec 12 19:49 isdms_mmon_4253.trc
    -rw-r----- 1 oracle oinstall    69 Dec 12 19:49 isdms_mmon_4253.trm
    -rw-r----- 1 oracle oinstall 14465 Dec 12 17:14 isdms_ora_26758.trc
    -rw-r----- 1 oracle oinstall   257 Dec 12 17:14 isdms_ora_26758.trm
    -rw-r----- 1 oracle oinstall  4801 Dec 12 17:18 isdms_ora_27000.trc
    -rw-r----- 1 oracle oinstall   157 Dec 12 17:18 isdms_ora_27000.trm
    -rw-r----- 1 oracle oinstall 14464 Dec 12 19:46 isdms_ora_4033.trc
    -rw-r----- 1 oracle oinstall   256 Dec 12 19:46 isdms_ora_4033.trm
    -rw-r----- 1 oracle oinstall   885 Dec 12 19:46 isdms_ora_4261.trc
    -rw-r----- 1 oracle oinstall    61 Dec 12 19:46 isdms_ora_4261.trm
    -rw-r----- 1 oracle oinstall  2834 Dec 12 19:50 isdms_ora_4475.trc
    -rw-r----- 1 oracle oinstall   194 Dec 12 19:50 isdms_ora_4475.trm
    -rw-r----- 1 oracle oinstall 14463 Dec 12 19:50 isdms_ora_4555.trc
    -rw-r----- 1 oracle oinstall   255 Dec 12 19:50 isdms_ora_4555.trm
    -rw-r----- 1 oracle oinstall  1834 Dec 12 19:53 isdms_ora_4795.trc
    -rw-r----- 1 oracle oinstall   455 Dec 12 19:53 isdms_ora_4795.trm
    -rw-r----- 1 oracle oinstall  1115 Dec 12 19:49 isdms.sql
    -rw-r----- 1 oracle oinstall  1193 Dec 12 17:18 isdms_vktm_26903.trc
    -rw-r----- 1 oracle oinstall    91 Dec 12 17:18 isdms_vktm_26903.trm
    -rw-r----- 1 oracle oinstall  1192 Dec 12 19:50 isdms_vktm_4221.trc
    -rw-r----- 1 oracle oinstall    90 Dec 12 19:50 isdms_vktm_4221.trm
    -rw-r----- 1 oracle oinstall  1192 Dec 12 19:53 isdms_vktm_4753.trc
    -rw-r----- 1 oracle oinstall    90 Dec 12 19:53 isdms_vktm_4753.trm
    [oracle@brms03 trace]$ pwd
    /opt/oracle/diag/rdbms/isdms/isdms/trace
    [oracle@brms03 trace]$ sqlplus / as sysdba
    
    SQL*Plus: Release 11.2.0.1.0 Production on Wed Dec 12 19:53:56 2018
    
    Copyright (c) 1982, 2009, Oracle.  All rights reserved.
    
    Connected to an idle instance.
    
    SQL> @/opt/oracle/diag/rdbms/isdms/isdms/trace/isdms.sql
    ORACLE instance started.
    
    Total System Global Area 4275781632 bytes
    Fixed Size		    2220200 bytes
    Variable Size		 2298482520 bytes
    Database Buffers	 1962934272 bytes
    Redo Buffers		   12144640 bytes
    
    Control file created.
    
    
    Database altered.
    
    
    Tablespace altered.
    

    6、查看是否修改成功

    SQL> select open_mode from v$database;   
    
    OPEN_MODE
    --------------------
    READ WRITE
    
    SQL> show parameter name 
    
    NAME				     TYPE	 VALUE
    ------------------------------------ ----------- ------------------------------
    db_file_name_convert		     string
    db_name 			     string	 isdms
    db_unique_name			     string	 isdms
    global_names			     boolean	 FALSE
    instance_name			     string	 isdms
    lock_name_space 		     string
    log_file_name_convert		     string
    service_names			     string	 isdms
    SQL> select name from v$database;   
    
    NAME
    ---------
    ISDMS
    

    7、重启数据库

    SQL> shutdown immediate
    Database closed.
    Database dismounted.
    ORACLE instance shut down.
    SQL> startup
    ORACLE instance started.
    
    Total System Global Area 4275781632 bytes
    Fixed Size		    2220200 bytes
    Variable Size		 2298482520 bytes
    Database Buffers	 1962934272 bytes
    Redo Buffers		   12144640 bytes
    Database mounted.
    Database opened.
    
    

    8、重启监听

    [oracle@brms03 trace]$ lsnrctl start
    
    LSNRCTL for Linux: Version 11.2.0.1.0 - Production on 12-DEC-2018 19:58:15
    
    Copyright (c) 1991, 2009, Oracle.  All rights reserved.
    
    Starting /opt/oracle/112/bin/tnslsnr: please wait...
    
    TNSLSNR for Linux: Version 11.2.0.1.0 - Production
    System parameter file is /opt/oracle/112/network/admin/listener.ora
    Log messages written to /opt/oracle/diag/tnslsnr/brms03/listener/alert/log.xml
    Listening on: (DESCRIPTION=(ADDRESS=(PROTOCOL=ipc)(KEY=EXTPROC1521)))
    Listening on: (DESCRIPTION=(ADDRESS=(PROTOCOL=tcp)(HOST=brms03)(PORT=1521)))
    
    Connecting to (DESCRIPTION=(ADDRESS=(PROTOCOL=IPC)(KEY=EXTPROC1521)))
    STATUS of the LISTENER
    ------------------------
    Alias                     LISTENER
    Version                   TNSLSNR for Linux: Version 11.2.0.1.0 - Production
    Start Date                12-DEC-2018 19:58:15
    Uptime                    0 days 0 hr. 0 min. 0 sec
    Trace Level               off
    Security                  ON: Local OS Authentication
    SNMP                      OFF
    Listener Parameter File   /opt/oracle/112/network/admin/listener.ora
    Listener Log File         /opt/oracle/diag/tnslsnr/brms03/listener/alert/log.xml
    Listening Endpoints Summary...
      (DESCRIPTION=(ADDRESS=(PROTOCOL=ipc)(KEY=EXTPROC1521)))
      (DESCRIPTION=(ADDRESS=(PROTOCOL=tcp)(HOST=brms03)(PORT=1521)))
    The listener supports no services
    The command completed successfully
    [oracle@brms03 trace]$ lsnrctl status
    
    LSNRCTL for Linux: Version 11.2.0.1.0 - Production on 12-DEC-2018 20:02:34
    
    Copyright (c) 1991, 2009, Oracle.  All rights reserved.
    
    Connecting to (DESCRIPTION=(ADDRESS=(PROTOCOL=IPC)(KEY=EXTPROC1521)))
    STATUS of the LISTENER
    ------------------------
    Alias                     LISTENER
    Version                   TNSLSNR for Linux: Version 11.2.0.1.0 - Production
    Start Date                12-DEC-2018 19:58:15
    Uptime                    0 days 0 hr. 4 min. 18 sec
    Trace Level               off
    Security                  ON: Local OS Authentication
    SNMP                      OFF
    Listener Parameter File   /opt/oracle/112/network/admin/listener.ora
    Listener Log File         /opt/oracle/diag/tnslsnr/brms03/listener/alert/log.xml
    Listening Endpoints Summary...
      (DESCRIPTION=(ADDRESS=(PROTOCOL=ipc)(KEY=EXTPROC1521)))
      (DESCRIPTION=(ADDRESS=(PROTOCOL=tcp)(HOST=brms03)(PORT=1521)))
    Services Summary...
    Service "isdms" has 1 instance(s).
      Instance "isdms", status READY, has 1 handler(s) for this service...
    Service "isdmsXDB" has 1 instance(s).
      Instance "isdms", status READY, has 1 handler(s) for this service...
    The command completed successfully
    
    

    修改实例名和数据库名原理很简单,但是一定要小心,改替换的orcl一定要替换全,不然很容易出错。建议修改之前,将oracle安装目录备份

    展开全文
  • 数据库实例名与实例ID区别

    千次阅读 2009-03-28 12:30:00
    不同实例之间的实例名可以相同,但是实例ID是不相同的,默认情况下,实例名就等于实例ID!实例ID标示进程,而实例名则标示实例,两者可以设置成不同的值
  • 1、数据库名即下图的全局数据库名,实例名即下图的SID 查询数据库名称SQL: SELECT NAME FROM V$DATABASE; 查询数据库当前实例名: SELECT INSTANCE_NAME FROM V$INSTANCE;数据库名:数据库名是存储在控制文件中...
  • 查看SQL Server的实例名

    万次阅读 2018-01-30 15:08:59
     数据库的实例名是指每个数据库的名称,应该是在数据库安装的时候确定的,分为默认实例(Default Instance)和命名实例(Named Instance)。  一般在安装时,选择默认实例,那么就是用计算机的名字来作为实例名,...
  • 一台服务器可以创建多个数据库,有不同的数据库名和实例名或端口;一个数据库可以有多个用户,每个用户对应相应的数据库表,在连接数据库时使用不同的用户名登录,并进行相关操作。 一、数据库名 0.select name ...
  • 什么是SQL实例名

    千次阅读 2009-12-14 19:10:00
    SQL SERVER实例 -------------------------------------------------------------------------------------- 所谓“SQL实例”,实际上就是SQL服务器引擎,每个SQL Server数据库引擎实例各有一套不为其他实例共享的...
  • Oracle数据库名与Oracle实例名的关系

    万次阅读 2013-06-04 22:02:42
    1 数据库 1.1 数据库的概念 数据库(db_name)就是一个数据库的标识,就像人的身份证号一样。如果一台机器上装了多个数据库,那么每一个数据库都有一个数据库。在数据库安装或创建完成之后,参数DB_NAME被...
  • 如何修改 SQL Server 中的实例名

    万次阅读 2018-03-20 13:20:50
    在微软的社区也看到了这个问题:...我在安装 SQL Server 2005 时没有展开详细选项,结果默认安装的实例名是:SQLExpres...
  • 一、数据库 什么是数据库? 数据库就是一个数据库的标识,就像人的身份证号一样。他用参数DB_NAME表示,如果一台机器上装了多全数据库,那么每一个数据库都有一个数据库。在数据库安装或创建完成之后,参数...
  • 如题: 今天工作的时候遇到个问题 在mysql中创建了一个数据库需要查询这个数据库的实例名 谢谢大神
  • 数据库名、实例名、服务名

    千次阅读 2011-06-18 11:25:00
    数据库名:db_name 数据库实例名:instance_name操作系统环境变量:oracle_sid 数据库服务名:service_names数据库域名:db_domain 全局数据库名:global_db_name在oracle7、oracle8数据库中只有数据库名以及实例...
  • 查看Oracle数据库名和实例名

    万次阅读 2010-08-23 18:06:00
    查看数据库名 SQL> select name from v$database; 查看实例名 SQL> select instance_name from v$instance;
  • Oracle修改实例名及数据库名

    万次阅读 2016-05-24 12:34:53
    一、测试环境信息 操作系统版本: SQL> !uname -a Linux db10g 2.6.18-194.el5 #1 SMP Tue Mar 16 21:52:39 EDT 2010 x86_64 x86_64 x86_64 GNU/Linux 数据库版本: SQL> select * from v$version;...
  • 服务名、实例名和数据库名

    千次阅读 2008-08-31 15:15:00
    今天遇到一位网友,配置的dblink无法使用,报错:ORA-12514: TNS: 监听进程不能解析在连接描述符中给出的 SERVICE_NAME其创建dblink的语句是:create public database link nems connect to heuser identified by ...
  • Oracle 查询当前数据库实例名(SID)

    万次阅读 2019-03-27 14:27:49
    转载来源地址:https://blog.csdn.net/hpdlzu80100/article/details/75000516 查看当前数据库实例名(SID) select * from v$instance —Oracle调试命令待后续学习更新----
  • DB_NAME: 数据库名,此参数在创建数据...INSTANCE_NAME: 数据库实例名,可以与数据库相同 SERVICE_NAMES: 数据库服务名,与全局数据库名相同如果没有域名,则服务名就是数据库名   1、查询数据库名:  ①selectna
  • 一、数据库(db_name)  数据库就是一个数据库的标识,就像人的身份证号一样。它用参数DB_NAME表示,被写入参数文件之中(dbhome_1/dbs/init.ora)  数据库是在安装数据库、创建新的数据库、创建数据库控制...
1 2 3 4 5 ... 20
收藏数 1,552,284
精华内容 620,913
关键字:

实例名