扫二维码与项目经理沟通
我们在微信上24小时期待你的声音
解答本文疑问/技术咨询/运营咨询/技术建议/互联网交流
用如下方法设置,以win7电脑为例。
网站建设哪家好,找创新互联公司!专注于网页设计、网站建设、微信开发、微信小程序定制开发、集团企业网站建设等服务项目。为回馈新老客户创新互联还提供了望都免费建站欢迎大家使用!
1、右键“我的电脑”,选择“管理”。
2、弹出窗口依次点击“服务和应用程序”——“服务”。
3、在列表中找到oracle服务的启动项,一般名称为“OracleService+实例名”。
4、右键此服务,选择“属性”选项。
5、启动类型选择“自动”,点击“确定”按钮保存即可。
可以修改的,步骤如下:
1、修改实例名(sid)
1.1、检查原来的数据库实例名(sid)
oracle@oracle[/home/oracle] echo $ORACLE_SID
orcl
oracle@oracle[/home/oracle] sqlplus / as sysdba
SQL*Plus: Release 10.2.0.1.0 - Production on Sun Dec 20 11:14:49 2009
Copyright (c) 1982, 2005, Oracle. All rights reserved.
Connected to:
Oracle Database 10g Enterprise Edition Release 10.2.0.1.0 - Production
With the Partitioning, OLAP and Data Mining options
sys@ORCL select instance from v$thread;
INSTANCE
--------------------------------------------------------------------------------
orcl
1.2、关闭数据库
注意不能用shutdown abort,只能是shutdown immediate或shutdown normal
sys@ORCL shutdown immediate
Database closed.
Database dismounted.
ORACLE instance shut down.
sys@ORCL exit
Disconnected from Oracle Database 10g Enterprise Edition Release 10.2.0.1.0 - Production
With the Partitioning, OLAP and Data Mining options
1.3、修改oracle用户的ORACLE_SID环境变量,如由orcl修改为ybbe
1.4、修改/etc/oratab文件,将sid名由旧的修改为新的,如从orcl修改为ybbe
可省略,只要确认好ORACLE_SID就可以了
1.5、进入到$ORACLE_HOME/dbs目录
将所有文件名中包含原来的sid的修改为对应的新sid的
如我对如下文件修改为其后对应的文件
hc_orcl.dat-hc_ybbe.dat
lkORCL-lkYBBE
orapworcl-orapwybbe
snapcf_orcl.f-snapcf_cnhtm.f
spfileorcl.ora-spfilecnhtm.ora
cd $ORACLE_HOME/dbs
orapwd file=orapwybbe password='ybbe' entries=5 force=y
可以用次命令进行对上面的文件进行自动生成
1.6、使新修改的ORACLE_SID环境变量生效
oracle@oracle[/oracle/app/10.1/dbs] . ~/.bash_profile
oracle@oracle[/oracle/app/10.1/dbs] echo $ORACLE_SID
cnhtm
1.7、重建口令文件
因为口令文件改名后不能在新实例中使用,所以重建
oracle@oracle[/oracle/app/10.1/dbs] orapwd file=$ORACLE_HOME/dbs/orapw$ORACLE_SID password=oracle entries=5 force=y
oracle@oracle[/oracle/app/10.1/dbs] ls -lrt orapw*
-rw-r----- 1 oracle oinstall 2048 Dec 20 11:27 orapwybbe
1.8、启动数据库
oracle@oracle[/oracle/app/10.1/dbs] sqlplus / as sysdba
SQL*Plus: Release 10.2.0.1.0 - Production on Sun Dec 20 11:29:53 2009
Copyright (c) 1982, 2005, Oracle. All rights reserved.
Connected to an idle instance.
idle startup
ORACLE instance started.
Total System Global Area 167772160 bytes
Fixed Size 1218292 bytes
Variable Size 62916876 bytes
Database Buffers 96468992 bytes
Redo Buffers 7168000 bytes
Database mounted.
Database opened.
1.9、检查数据库实例名
通过如下语句检查数据库实例名,发现实例名已经由orcl变成ybbe
idle select instance from v$thread;
INSTANCE
--------------------------------------------------------------------------------
ybbe
改实例名啊?
还有人改这个?
建议,导出数据,如果新建一个实例,新实例名为你的需要改的新名字,然后把输入导入到新实例中。
准确无误后,删除旧实例。
您好,您这样:
1、停止所有的Oracle服务。
这个没有什么好解释的,根据你的oracle 安装的不同
包括数据库的服务,监听器等等.
2、修改initSID.ora文件,修改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 =
(SERVICE_NAME = oral)
)
)
service_name 都改成oral ,就可以用了
建用户和授权要用DBA
最简单得建用户:
create user 用户名 identified by 密码
用户解锁 alter user 用户名 account unlock(不解锁无法登陆)
授权用 grant
建完用户首先要授权登陆权限
grant create session to 用户名
授权可以授权给角色和用户
也可以把角色授权给角色和用户
其他得类似 创建表得权限类似如下格式:
grant create table to 用户
我们在微信上24小时期待你的声音
解答本文疑问/技术咨询/运营咨询/技术建议/互联网交流