oracle数据库实例名如何修改1.准备
原数据库的实例名为linuxdb,控制文件、数据文件、联机日志文件存放在/home/oracle/ora9/oradata/linuxdb目录,将所有的文件拷贝到另外一个目录/home/oracle/ora9/oradata/dbtest 。
再将linuxdb 的初始化文件也复制一份出来,执行如下的sql:
Create pfile='/home/oracle/ora9/oracle/dbs/pfiledbtest.ora' from spfile='/home/oracle/ora9/oracle/dbs/spfilelinuxdb.ora';
我们将修改实例名为dbtest 。
下面我们开始一步一步地进行处理 。
2.加载初始化文件
打开pfiledbtest.ora文件,修改对应的dump属性的路径名,实例名字,控制文件路径等 。
然后执行如下命令:
[oracle@localhost oracle]$ export ORACLE_SID=dbtest
[oracle@localhost oracle]$ sqlplus "/ as sysdba"
SQL*Plus: Release 9.2.0.4.0 - Production on Mon Aug 17 16:57:36 2009
Copyright (c) 1982, 2002, Oracle Corporation.All rights reserved.
Connected to an idle instance.
SQL startup pfile='/home/oracle/ora9/oracle/dbs/pfiledbtest.ora' nomount
ORACLE instance started.
Total System Global Area236000356 bytes
Fixed Size451684 bytes
Variable Size201326592 bytes
Database Buffers33554432 bytes
Redo Buffers667648 bytes
SQL
这样加载初始化文件就成功了 。
下面接着进行,加载控制文件 。
3.加载控制文件
先执行如下命令 。
SQL alter database mount;
alter database mount
*
ERROR at line 1:
ORA-00205: error in identifying controlfile, check alert log for more info
好像是控制文件的路径不对,修改初始文件再次加载 。
SQL alter database mount;
alter database mount
*
ERROR at line 1:
ORA-01103: database name 'LINUXDB' in controlfile is not 'DBTEST'
根据错误信息提示,是实例名字不一致,但是控制文件是二进制的,用vi打开之后没法编辑,只能通过用重建控制文件可以解决 。
在/home/oracle/ora9/oradata/dbtest目录下删除老的三个控制文件 。然后开始重建控制文件 。
SQL CREATE CONTROLFILE SET DATABASE "DBTEST" RESETLOGS FORCE LOGGING NOARCHIVELOG
2MAXLOGFILES 16
3MAXLOGMEMBERS 3
4MAXDATAFILES 100
5MAXINSTANCES 8
6MAXLOGHISTORY 292
7LOGFILE
8GROUP 1 '/home/oracle/ora9/oradata/dbtest/redo01.log' SIZE 50M,
9GROUP 2 '/home/oracle/ora9/oradata/dbtest/redo02.log' SIZE 50M,
10GROUP 3 '/home/oracle/ora9/oradata/dbtest/redo03.log' SIZE 50M
11DATAFILE
12'/home/oracle/ora9/oradata/dbtest/cwmlite01.dbf',
13'/home/oracle/ora9/oradata/dbtest/devbase_20090408.dbf',
14'/home/oracle/ora9/oradata/dbtest/drsys01.dbf',
15'/home/oracle/ora9/oradata/dbtest/example01.dbf',
16'/home/oracle/ora9/oradata/dbtest/indx01.dbf',
17'/home/oracle/ora9/oradata/dbtest/odm01.dbf',
18'/home/oracle/ora9/oradata/dbtest/system01.dbf',
19'/home/oracle/ora9/oradata/dbtest/tools01.dbf',
20'/home/oracle/ora9/oradata/dbtest/undotbs01.dbf',
21'/home/oracle/ora9/oradata/dbtest/users01.dbf',
22'/home/oracle/ora9/oradata/dbtest/xdb01.dbf'
23CHARACTER SET ZHS16GBK;
CREATE CONTROLFILE SET DATABASE "DBTEST" RESETLOGS FORCE LOGGING NOARCHIVELOG
*
ERROR at line 1:
ORA-01503: CREATE CONTROLFILE failed
ORA-01990: error opening password file '/home/oracle/ora9/oracle/dbs/orapw'
ORA-27037: unable to obtain file status
Linux Error: 2: No such file or directory
Additional information: 3
根据错误提示,是缺少密码验证文件,用下面的命令创建密码文件 。
$cd $ORACLE_HOME/dbs
orapwd password=chenli file=orapwdbtest
SQL CREATE CONTROLFILE SET DATABASE 'dbtest' RESETLOGS FORCE LOGGING NOARCHIVELOG
2MAXLOGFILES 16
3MAXLOGMEMBERS 3
4MAXDATAFILES 100
5MAXINSTANCES 8
6MAXLOGHISTORY 292
7LOGFILE
8GROUP 1 '/home/oracle/ora9/oradata/dbtest/redo01.log' SIZE 50M,
9GROUP 2 '/home/oracle/ora9/oradata/dbtest/redo02.log' SIZE 50M,
10GROUP 3 '/home/oracle/ora9/oradata/dbtest/redo03.log' SIZE 50M
11DATAFILE
12'/home/oracle/ora9/oradata/dbtest/cwmlite01.dbf',
13'/home/oracle/ora9/oradata/dbtest/devbase_20090408.dbf',
14'/home/oracle/ora9/oradata/dbtest/drsys01.dbf',
15'/home/oracle/ora9/oradata/dbtest/example01.dbf',
16'/home/oracle/ora9/oradata/dbtest/indx01.dbf',
17'/home/oracle/ora9/oradata/dbtest/odm01.dbf',
18'/home/oracle/ora9/oradata/dbtest/system01.dbf',
19'/home/oracle/ora9/oradata/dbtest/tools01.dbf',
20'/home/oracle/ora9/oradata/dbtest/undotbs01.dbf',
21'/home/oracle/ora9/oradata/dbtest/users01.dbf',
22'/home/oracle/ora9/oradata/dbtest/xdb01.dbf'
23CHARACTER SET ZHS16GBK;
Control file created.
现在创建成功了 。
创建控制文件成功了,下面重新启动数据库 。
SQL startup nomount
ORACLE instance started.
Total System Global Area236000356 bytes
Fixed Size451684 bytes
Variable Size201326592 bytes
Database Buffers33554432 bytes
Redo Buffers667648 bytes
SQL alter database mount;
Database altered.
SQL alter database open;
alter database open
*
ERROR at line 1:
ORA-01589: must use RESETLOGS or NORESETLOGS option for database open
SQL alter database open RESETLOGS;
Database altered.
查看表中的记录,正确的 。
修改实例名成功 。
4.总结
由上面的操作可以看到,在数据库维护中 , 最重要的是数据文件,初始化文件可以从别的实例拷贝过来,然后修改 。控制文件可以重新创建,只要数据文件正确,就可以重建初始化文件和控制文件之后,恢复数据库 。
遇到的错误:
ERROR at line 1:
ORA-01503: CREATE CONTROLFILE failed
ORA-00200: controlfile could not be created
ORA-00202: controlfile: '/home/ora/ora9/oradata/dbtest/control01.ctl'
ORA-27040: skgfrcre: create error, unable to create file
Linux Error: 2: No such file or directory
请查看初始化文件中 , 控制文件的路径是正确,控制文件的路径上的目录是否有权限创建文件,如果这些问题都解决了,那么应该能成功创建控制文件 。
oracle 配置实例 如何配置设置方法如下:
1、找到$ORACLE_HOME/client_1/network/admin目录下的tnsnames.ora文件 , 并用文本模式打开 。
2、添加以下内容:
本地实例名=
(DESCRIPTION =
(ADDRESS = (PROTOCOL = TCP)(HOST = 数据库IP地址)(PORT = 端口号))
(CONNECT_DATA =https://www.04ip.com/post/
(SERVER = DEDICATED)
(SERVICE_NAME = 服务名)
)
)
3、用PL/SQL客户端工具登录即可 。
oracle xe 11g 如何修改实例名您好如何修改oracle实例,您这样:
1、停止所有的Oracle服务 。
这个没有什么好解释的,根据你的oracle 安装的不同
包括数据库的服务,监听器等等.
2、修改initSID.ora文件如何修改oracle实例 , 修改instance_name为新的SID
找到你的初始化参数文件,里面有下面的一下参数.
db_name = "testdb"
instance_name = testdbl
service_names = testdb
改成
db_name = "testdb"
instance_name = oral
service_names = oral
注意,db_name不要改,因为我们的数据库还是叫testdb,但是它的服务也就是sid,改成oral,否则会报错.修改之后,保存好这个文件
3、修改注册表的ORACLE_SID
在注册表的local machine 下面的software下面,找到oracle 的hom0主键,下面有个参数,叫做ORACLE_SID,改成oral 记住,只改这一个.其他的不用改了,比方说服务.等等,否则会报错.
4、修改listener.ora中的SID_NAME
SID_LIST_LISTENER =
(SID_LIST =
(SID_DESC =
(SID_NAME = PLSExtProc)
(ORACLE_HOME = E:\oracle\ora81)
(PROGRAM = extproc)
)
(SID_DESC =
(GLOBAL_DBNAME = testdb)
(ORACLE_HOME = E:\oracle\ora81)
(SID_NAME = oral)
)
)
把里面的SID_NAME 给成oral,如上面的例子所表示.
5、oradim删除原来SID的服务,添加新SID的服务
这步比较复杂,涉及到oradim命令的用法.下面我简单的介绍一下它 的用法
创建例程:
-NEW -SID sid | -SRVC 服务 [-INTPWD 口令] [-MAXUSERS 数量] [-STARTMODE a|m] [-PFILE 文件] [-TIMEOUT 秒]
编辑例程:
-EDIT -SID sid [-NEWSID sid] [-INTPWD 口令] [-STARTMODE auto|manual] [-PFILE 文件名] [-SHUTMODE a|i|n]
[-SHUTTYPE srvc|inst|srvc,inst] [-TIMEOUT 秒]
删除例程:
-DELETE -SID sid | -SRVC 服务名称
启动服务和例程:
-STARTUP -SID sid [-USRPWD 口令] [-STARTTYPE srvc|inst|srvc,inst] [-PFILE 文件名]
关闭服务和例程:
-SHUTDOWN -SID sid [-USRPWD 口令] [-SHUTTYPE srvc|inst|srvc,inst] [-SHUTMODE a | i | n]
查询帮助:
-? | -h | -help
-SID sid
指定要启动的实例名称
-SRVC 服务
指定要启动的服务名称
-USRPWD 口令
指定内部用户的口令,如果作为NT管理员登录,不用此参数
-PFILE 文件名
为实例指明初始化参数文件 , 如果参数文件在Oracle的默认位置,则不需要此命令
-STARTTYPE srvc|inst|srvc,inst
表示要启动什么
srvc————只启动服务
inst————启动实例 , 服务必须已经启动并开始工作了
srvc,inst —服务和实例都启动
-SHUTTYPE srvc|inst|srvc,inst
表示要终止什么,参数选项同上
-STARTMODE a|m
表示启动实例所使用的模式
a————auto方式(自动)
m————manual方式(手动)
-SHUTMODE a|i|n
表示终止实例所使用的关闭模式
a————abort方式
i————immediate方式
n————normal方式
例子:
在服务里生成一个新的实例管理服务 , 启动方式为手工
oradim -NEW -SID test -STARTMODE manual -PFILE "D:\Oracle\admin\test\pfile\inittest.ora
oradim -NEW -SRVC OracleServicetest -STARTMODE manual -PFILE "D:\Oracle\admin\test\pfile\inittest.ora
注:有效的服务名为 “OracleService” 后跟“ SID”
-SID test 与 -SRVC OracleServicetest 等价
删除此实例或服务
oradim -DELETE -SID test
oradim -DELETE -SRVC OracleServicetest
编辑此实例,启动方式改为手动
oradim -EDIT -SID test -STARTMODE manual
编辑此实例,启动方式改为自动
oradim -EDIT -SID test -STARTMODE auto
启动test
oradim -STARTUP -SID test
oradim -STARTUP -SID test -STARTTYPE srvc,inst
只启动test服务
oradim -STARTUP -SID test -STARTTYPE srvc
只启动test实例
oradim -STARTUP -SID test -STARTTYPE inst
关闭test
oradim -SHUTDOWN -SID test
oradim -SHUTDOWN -SID test -SHUTTYPE srvc,inst
在testdb中
我们使用
oradim –DELETE –SID testdb
删除了testdb 实例
然后
oradim –NEW –SID oral
添加新的实例
注意,这个命令,可以写到控制文件和注册表的服务里面,我更改后,可以看到在服务里面,服务名称已经改过来了.
但是这个时候还是不可以登录到oracle.提示为权限不足.
6、orapwd生成新SID的口令
具体的orapwd,我想大家都知道了,要创建一个密码文件就要用它,至于为什么我们需要重新创建密码文件,我还不是很清楚,等我弄清楚了之后,我会把更新我的文档.
需要注意的是,生成的密码文件,一定要保存到orale home\database下面
而且密码文件的名字一定要PWDsid.ora
具体的为什么我还不是很清楚.
好了.现在你可以通知你的客户端,把他们的tnsname.ora中的
SZ =
(DESCRIPTION =
(ADDRESS_LIST =
(ADDRESS = (PROTOCOL = TCP)(HOST = 10.47.0.1)(PORT = 1521))
)
(CONNECT_DATA =https://www.04ip.com/post/
(SERVICE_NAME = oral)
)
)
service_name 都改成oral ,就可以用了
怎么修改oracle实例密码1、改密码
(1).打开doc命令框键入:sqlplus /nolog
(2).输入:connect / as sysdba
(3).修改密码:alter user userName identified by passWord;
(4).解锁:alter user userName account unlock;
(5).退出:exit;
2、开服务
(1).先开核心服务(OracleServiceOrcl)
(2).在开监听服务(OracleDb11g_home1TNSListener)
3、改配置(位置:D:\app\Administrator\product\11.1.0\db_1\NETWORK\ADMIN\下面的两个文件iplistener.ora和tnsnames.ora
改为本机ip)
4、启动oracle (位置:D:\plsqldev\plsqldev.exe),根据用户名和密码进行登录
5、新建用户
(
create user userName identified by "Pwd";
)
6、授权(grant resource to userName;)
7、建表
create table tabName
(
idtype primary key,
name type,
desc type
);
输入sqlplus /nolog回车一闪就关了 , 解决方法:
1.先在D:\oracle\product\10.2.0\db_1\BIN下找到sqlplus.exe,用管理员的身份运行,不关了,就这么开着 , 然后输入上面的相关命令就可以了
【如何修改oracle实例 oracle修改实例名orcl的方法】关于如何修改oracle实例和oracle修改实例名orcl的方法的介绍到此就结束了,不知道你从中找到你需要的信息了吗 ?如果你还想了解更多这方面的信息,记得收藏关注本站 。
推荐阅读
- ios模拟经营有趣的游戏,ios好玩的模拟经营游戏
- 华为手机运动数据怎么开,华为手机运动数据怎么开启
- 即时战略卡通游戏,即时战略游戏简写
- vb.net按行读txt的简单介绍
- 产品视频拍摄都有什么流程,产品视频拍摄教程
- ios11系统字体白色,苹果11的字体变成白色是怎么回事
- 玩飞行游戏推荐手机,飞行类手机游戏
- php搜索所有数据库表 php筛选查询数据库
- 电视怎么下载华影时光,华影时光其它电视下载