oracle11g 修改实例名称和数据库名称
(2014-10-17 15:27:33)分类: ORACLE |
修改11g实例名称
检查原来的数据库实例名(
sid
)
1:检查原实例名称
[oracle@oancdbtest ~]$ echo $ORACLE_SID
trade
2:关闭数据库 shutdown immediate;
3:[oracle@oancdbtest ~]$ vi ~/.bash_profile 修改oracle_sid=webapp
4:[oracle@oancdbtest ~]$ vi /etc/oratab
修改
5:[oracle@oancdbtest ~]$ cd $ORACLE_HOME/dbs
将所以的包含原实例名换成新实例名
[oracle@oancdbtest dbs]$ ls
hc_DBUA0.dat
[oracle@oancdbtest dbs]$ mv hc_trade.dat hc_webapp.dat
[oracle@oancdbtest dbs]$ mv lkTRADE lkWEBAPP
[oracle@oancdbtest dbs]$ mv orapwtrade orapwwebapp
[oracle@oancdbtest dbs]$ mv snapcf_trade.f snapcf_webapp.f
[oracle@oancdbtest dbs]$ mv spfiletrade.ora spfilewebapp.ora
[oracle@oancdbtest dbs]$ ls
hc_DBUA0.dat
6:使实例生效
[oracle@oancdbtest dbs]$ . ~/.bash_profile
7:查看
[oracle@oancdbtest dbs]$ echo $ORACLE_SID
webapp
8:重新发生实例的密码
[oracle@oancdbtest dbs]$ orapwd file=$ORACLE_HOME/dbs/orapw$ORACLE_SID password=oracle entries=5 force=y
9:重启数据库
[oracle@oancdbtest dbs]$ sqlplus / as sysdba
10:查看数据库实例名
SQL> select instance_name from v$instance;
INSTANCE_NAME
----------------
webapp
到此实例名修改完成。
--------------------------------------11g修改数据库名-----------------------------------------------
1:生成检查点
alter system switch logfile;
2:备份控制文件
alter database backup controlfile to trace;
3:检查备份的控制文件,查询是trace的位置
select * from v$diag_info
4:修改控制文件
原:
STARTUP NOMOUNT
CREATE CONTROLFILE REUSE DATABASE "TRADE"
RESETLOGS
LOGFILE
-- STANDBY LOGFILE
DATAFILE
CHARACTER SET ZHS16GBK
;
修改后
STARTUP NOMOUNT
CREATE CONTROLFILE SET DATABASE
"WEBAPP" RESETLOGS
LOGFILE
-- STANDBY LOGFILE
DATAFILE
CHARACTER SET ZHS16GBK
;
控制文件修改好后,增加相应的目录,并将原路径下的log文件和数据文件copy到当前目录
[oracle@oancdbtest ~]$ mkdir webapp[oracle@oancdbtest ~]$ ls
install2014-03-06_11-28-39.log
[oracle@oancdbtest ~]$ cp trade/trade/redo01.log webapp/
[oracle@oancdbtest ~]$ cp trade/trade/redo02.log webapp/
[oracle@oancdbtest ~]$ cp trade/trade/redo03.log webapp/
[oracle@oancdbtest ~]$ cp trade/trade/system01.dbf webapp/
[oracle@oancdbtest ~]$ cp trade/trade/sysaux01.dbf webapp/
[oracle@oancdbtest ~]$ cp trade/trade/undotbs01.dbf webapp/
[oracle@oancdbtest ~]$ cp trade/trade/users01.dbf webapp/
5:修改参数文件,(先备份好spfile文件,再生成新的)
SQL> create pfile='/home/oracle/product/11gR2/dbs/temp.ora'
from spfile;
[oracle@oancdbtest dbs]$ vi temp.ora
webapp.__db_cache_size=1509949440
webapp.__java_pool_size=16777216
webapp.__large_pool_size=16777216
webapp.__oracle_base='/home/oracle/product'#ORACLE_BASE set from
environment
webapp.__pga_aggregate_target=1342177280
webapp.__sga_target=2013265920
webapp.__shared_io_pool_size=0
webapp.__shared_pool_size=436207616
webapp.__streams_pool_size=0
*._allow_level_without_connect_by=TRUE
*.audit_file_dest='/home/oracle/product/admin/trade/adump'
*.audit_trail='db'
*.compatible='11.2.0.0.0'
*.control_files='/home/oracle/webapp/control01.ctl','/home/oracle/product/flash_recovery_area/webapp/control02.ctl'
*.db_block_size=8192
*.db_domain=''
*.db_name='webapp'
*.db_recovery_file_dest='/home/oracle/product/flash_recovery_area'
*.db_recovery_file_dest_size=5218762752
*.diagnostic_dest='/home/oracle/product'
*.dispatchers='(PROTOCOL=TCP) (SERVICE=tradeXDB)'
*.log_archive_dest_1='LOCATION=/home/oracle/trade/archive_log/'
*.log_archive_dest_2=''
*.log_archive_format='arch_%t_%s_%r.log'
*.memory_target=3347054592
*.open_cursors=300
*.processes=150
*.remote_login_passwordfile='EXCLUSIVE'
*.undo_tablespace='UNDOTBS1'
control01.ctl,control02.ctl对应的目录,要自已创建。
*.db_name='webapp'要改成和你备份的控制文件里的数据库名称一至。
(3)跟据修改后的temp.ora生成spfile文件
SQL> shutdown immediate;
ORA-01507: database not mounted
ORACLE instance shut down.
SQL> create
spfile='/home/oracle/product/11gR2/dbs/spfilewebapp.ora' from
pfile='/home/oracle/product/11gR2/dbs/temp.ora';
File created.
(4)复制改过的备份的controlfile内容
SQL> STARTUP NOMOUNT
CREATE CONTROLFILE SET DATABASE "WEBAPP" RESETLOGS
LOGFILE
-- STANDBY LOGFILE
DATAFILE
CHARACTER SET ZHS16GBK
;
ORACLE instance started.
Total System Global Area 3340451840 bytes
Fixed
Size
Variable
Size
Database
Buffers
Redo
Buffers
Control file created.
(5)resetlogs打开数据库
SQL> alter database open resetlogs;
Database altered.
SQL> select name from v$database;
NAME
---------
WEBAPP
SQL> show parameter name
NAME
------------------------------------ -----------
------------------------------
db_file_name_convert
db_name
db_unique_name
global_names
instance_name
lock_name_space
log_file_name_convert
service_names
到此数据库名修改成功。