※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※
※※※※※※※※【 Oracle数据库复制(改名) 】※※※※※※※※

*********************************************
**************【安装Oracle数据库】***************
*********************************************
 
*********************************************
创建Oracle用户、主目录和组
-bash-3.00# mkdir -p /opt/oracle/product/10.2.0/db_1
-bash-3.00# groupadd -g 1001 oinstall
-bash-3.00# groupadd -g 1002 dba
-bash-3.00# useradd -u 1001 -g 1001 -G 1002 -d /opt/oracle/ -m oracle
-bash-3.00# chown -R oracle:oinstall /opt/oracle/
*********************************************
为Oracle配置系统变量
vi /etc/system
set shmsys:shminfo_shmmax=4294967295
set shmsys:shminfo_shmmni=100
set semsys:seminfo_semmni=100
set semsys:seminfo_semmsl=256
*********************************************
安装所需要的软件包
-bash-3.00# pkgadd -d . SUNWi1cs
-bash-3.00# pkgadd -d . SUNWi15cs
*********************************************
开始安装数据库ORCL
-bash-3.00# su - oracle
-sh: PATH=/usr/local/bin:.:/usr/bin:: is not an identifier
$ bash
bash-3.00$ export DISPLAY=192.168.10.111:0.0
bash-3.00$ export LANG=""
bash-3.00$ /share/database/runInstaller
一下的步骤有图形界面就不说了
...............
bash-3.00$ vi .bashrc
".bashrc" 4 lines, 176 characters
export ORACLE_BASE=/opt/oracle/product/10.2.0
export ORACLE_HOME=/opt/oracle/product/10.2.0/db_1
export PATH=$PATH:.:/opt/oracle/product/10.2.0/db_1/bin
export ORACLE_SID=ORCL
bash-3.00$ source .bashrc
*********************************************
启动数据库、创建测试表test
bash-3.00$ sqlplus / as sysdba
SQL*Plus: Release 10.2.0.2.0 - Production on Sat Aug 15 21:28:20 2009
Copyright (c) 1982, 2005, Oracle.  All Rights Reserved.
Connected to:
Oracle Database 10g Enterprise Edition Release 10.2.0.2.0 - Production
With the Partitioning, OLAP and Data Mining options
SQL> select instance_name from v$instance;
INSTANCE_NAME
----------------
ORCL
SQL> create table test(id int);
Table created.
SQL> insert into test values (1);
1 row created.
SQL> insert into test values (2);
1 row created.
SQL> commit;
Commit complete.
*********************************************
创建控制文件跟踪文件
SQL> alter database backup controlfile to trace;
Database altered.
这时候会看到目录/opt/oracle/product/10.2.0/admin/ORCL/udump中多出一个trc文件
-bash-3.00# cd /opt/oracle/product/10.2.0/admin/ORCL/udump
-bash-3.00# ls
orcl_ora_3249.trc  orcl_ora_3278.trc  orcl_ora_3332.trc  orcl_ora_3362.trc
orcl_ora_3277.trc  orcl_ora_3303.trc  orcl_ora_3335.trc
-bash-3.00# ls
orcl_ora_3249.trc  orcl_ora_3278.trc  orcl_ora_3332.trc  orcl_ora_3362.trc
orcl_ora_3277.trc  orcl_ora_3303.trc  orcl_ora_3335.trc  orcl_ora_3901.trc
*********************************************
停掉数据库
SQL> shutdown immediate;
Database closed.
Database dismounted.
ORACLE instance shut down.
*********************************************
 

*********【开始复制(改名)数据库】************
*********************************************
*********************************************
复制参数文件
bash-3.00$ cd /opt/oracle/product/10.2.0/db_1/dbs/
bash-3.00$ cp initORCL.ora initYAN.ora
*********************************************
复制数据文件、日志文件、删除其中的ctl文件
bash-3.00$ cd /opt/oracle/product/10.2.0/oradata
bash-3.00$ cp -Rf ORCL YAN
bash-3.00$ cd YAN/
bash-3.00$ rm -rf *.ctl
*********************************************
修改参数文件、直接将其中所有的ORCL换成YAN即可
bash-3.00$ vi /opt/oracle/product/10.2.0/db_1/dbs/initYAN.ora
*********************************************
bash-3.00$ cd /opt/oracle/product/10.2.0/admin
bash-3.00$ cp -Rf ORCL YAN
*********************************************
生成控制文件
-bash-3.00# cd /opt/oracle/product/10.2.0/admin/YAN/udump
-bash-3.00# cat orcl_ora_3901.trc
将最后一段考呗出来
--  ALTER DATABASE SET STANDBY DATABASE TO MAXIMIZE PERFORMANCE
STARTUP NOMOUNT
CREATE CONTROLFILE REUSE DATABASE "ORCL" RESETLOGS  NOARCHIVELOG
    MAXLOGFILES 16
    MAXLOGMEMBERS 3
    MAXDATAFILES 100
    MAXINSTANCES 8
    MAXLOGHISTORY 292
LOGFILE
  GROUP 1 '/opt/oracle/product/10.2.0/oradata/ORCL/redo01.log'  SIZE 50M,
  GROUP 2 '/opt/oracle/product/10.2.0/oradata/ORCL/redo02.log'  SIZE 50M,
  GROUP 3 '/opt/oracle/product/10.2.0/oradata/ORCL/redo03.log'  SIZE 50M
-- STANDBY LOGFILE
DATAFILE
  '/opt/oracle/product/10.2.0/oradata/ORCL/system01.dbf',
  '/opt/oracle/product/10.2.0/oradata/ORCL/undotbs01.dbf',
  '/opt/oracle/product/10.2.0/oradata/ORCL/sysaux01.dbf',
  '/opt/oracle/product/10.2.0/oradata/ORCL/users01.dbf'
CHARACTER SET WE8ISO8859P1
;
-- Commands to re-create incarnation table
-- Below log names MUST be changed to existing filenames on
-- disk. Any one log file from each branch can be used to
-- re-create incarnation records.
-- ALTER DATABASE REGISTER LOGFILE '/opt/oracle/product/10.2.0/flash_recovery_area/ORCL/archivelog/2009_08_15/o1_mf_1_1_%u_.arc';
-- ALTER DATABASE REGISTER LOGFILE '/opt/oracle/product/10.2.0/flash_recovery_area/ORCL/archivelog/2009_08_15/o1_mf_1_1_%u_.arc';
-- Recovery is required if any of the datafiles are restored backups,
-- or if the last shutdown was not normal or immediate.
RECOVER DATABASE USING BACKUP CONTROLFILE
-- Database can now be opened zeroing the online logs.
ALTER DATABASE OPEN RESETLOGS;
-- Commands to add tempfiles to temporary tablespaces.
-- Online tempfiles have complete space information.
-- Other tempfiles may require adjustment.
ALTER TABLESPACE TEMP ADD TEMPFILE '/opt/oracle/product/10.2.0/oradata/ORCL/temp01.dbf'
     SIZE 20971520  REUSE AUTOEXTEND ON NEXT 655360  MAXSIZE 32767M;
-- End of tempfile additions.
--
修改成为
--  ALTER DATABASE SET STANDBY DATABASE TO MAXIMIZE PERFORMANCE
STARTUP NOMOUNT
CREATE CONTROLFILE SET DATABASE "YAN" RESETLOGS  NOARCHIVELOG
    MAXLOGFILES 16
    MAXLOGMEMBERS 3
    MAXDATAFILES 100
    MAXINSTANCES 8
    MAXLOGHISTORY 292
LOGFILE
  GROUP 1 '/opt/oracle/product/10.2.0/oradata/YAN/redo01.log'  SIZE 50M,
  GROUP 2 '/opt/oracle/product/10.2.0/oradata/YAN/redo02.log'  SIZE 50M,
  GROUP 3 '/opt/oracle/product/10.2.0/oradata/YAN/redo03.log'  SIZE 50M
-- STANDBY LOGFILE
DATAFILE
  '/opt/oracle/product/10.2.0/oradata/YAN/system01.dbf',
  '/opt/oracle/product/10.2.0/oradata/YAN/undotbs01.dbf',
  '/opt/oracle/product/10.2.0/oradata/YAN/sysaux01.dbf',
  '/opt/oracle/product/10.2.0/oradata/YAN/users01.dbf'
CHARACTER SET WE8ISO8859P1
;
-- Commands to re-create incarnation table
-- Below log names MUST be changed to existing filenames on
-- disk. Any one log file from each branch can be used to
-- re-create incarnation records.
-- ALTER DATABASE REGISTER LOGFILE '/opt/oracle/product/10.2.0/flash_recovery_area/YAN/archivelog/2009_08_15/o1_mf_1_1_%u_.arc';
-- ALTER DATABASE REGISTER LOGFILE '/opt/oracle/product/10.2.0/flash_recovery_area/YAN/archivelog/2009_08_15/o1_mf_1_1_%u_.arc';
-- Recovery is required if any of the datafiles are restored backups,
-- or if the last shutdown was not normal or immediate.
-- Database can now be opened zeroing the online logs.
ALTER DATABASE OPEN RESETLOGS;
保存为一个文件/opt/oracle/sql.txt
*********************************************
修改.bashrc文件制定数据库名
bash-3.00$ vi .bashrc
".bashrc" 4 lines, 175 characters
export ORACLE_BASE=/opt/oracle/product/10.2.0
export ORACLE_HOME=/opt/oracle/product/10.2.0/db_1
export PATH=$PATH:.:/opt/oracle/product/10.2.0/db_1/bin
export ORACLE_SID=YAN
*********************************************
开始创建控制文件
bash-3.00$ sqlplus / as sysdba
SQL*Plus: Release 10.2.0.2.0 - Production on Sat Aug 15 22:19:45 2009
Copyright (c) 1982, 2005, Oracle.  All Rights Reserved.
Connected to an idle instance.
SQL> @/opt/oracle/sql.txt
ORACLE instance started.
Total System Global Area  251658240 bytes
Fixed Size                  1279576 bytes
Variable Size              79694248 bytes
Database Buffers          163577856 bytes
Redo Buffers                7106560 bytes
Control file created.

Database altered.
SQL>
*********************************************
测试数据库
SQL> select instance_name from v$instance;
INSTANCE_NAME
----------------
YAN
SQL> select name from v$database;
NAME
---------
YAN
SQL> select *from test;
        ID
----------
         1
         2
*********************************************
******************【ok】***********************
*********************************************