将oracle数据库从一台机器迁移到另外的一台机器(同为linux平台),设置为不同的路径,不同的实例名
实验目的:将Oracle数据库从一台机器迁移到另外的一台机器(同为linux平台),,设置为不同的路径,不同的实例名
源端:
ORACLE_BASE=/u01/app/oracle
ORACLE_HOME=/u01/app/oracle/product/10.2.0/db_1
ORACLE_SID=test
数据文件位置:/oradata/test
目标端:
ORACLE_BASE=/u02/app/oracle
ORACLE_HOME=/u02/app/oracle/product/10.2.0/db_1
ORALCE_SID=test2
数据文件位置:/oradata2/test2
注:两台主机非一台,但是主机名一致均为model.rhel5
第一步:在源端取得备份数据
查询一下MAI用户下的数据,做最后校验使用
MAI@test > select * from tab;
TNAME TABTYPE CLUSTERID
------------------------------ ------- ----------
BONUS TABLE
DEPT TABLE
EMP TABLE
SALGRADE TABLE
TEST TABLE
TEST01 TABLE
开始备份:
$ oracle@model /mnt/hgfs/software/backup> rman target /
RMAN> run{
2> allocate channel c1 device type disk format '/mnt/hgfs/software/backup/%T_%U';
3> backup database;
4> backup current controlfile format '/mnt/hgfs/software/backup/%T_CTL_%U';
5> backup spfile format '/mnt/hgfs/software/backup/%T_SPFILE_%U';
6> release channel c1;
7> }
备份集信息:
$ oracle@model /mnt/hgfs/software/backup> ls -lh
total 304M
-rwxrwxrwx 1 root root 594M Aug 29 20:31 20120829_02njsrtb_1_1*
-rwxrwxrwx 1 root root 6.9M Aug 29 20:31 20120829_03njss0b_1_1*
-rwxrwxrwx 1 root root 6.8M Aug 29 20:31 20120829_CTL_04njss0k_1_1*
-rwxrwxrwx 1 root root 96K Aug 29 20:31 20120829_SPFILE_05njss0m_1_1*
第二步:备端的准备
1、安装数据库软件,基位置参考上文说明。
2、创建相关的目录:
$ oracle@model ~> env | grep ORACLE
ORACLE_BASE=/u02/app/oracle
ORACLE_HOME=/u02/app/oracle/product/10.2.0/db_1
$ oracle@model ~> cd $ORACLE_BASE
$ oracle@model /u02/app/oracle> mkdir flash_recovery_area
$ oracle@model /u02/app/oracle> mkdir -p admin/test2
$ oracle@model /u02/app/oracle> cd admin/test2
$ oracle@model /u02/app/oracle/admin/test2> mkdir {a,b,c,d,u}dump
第三步:开始恢复,此时恢复的实例名为test
$ oracle@model ~> export ORACLE_SID=test
$ oracle@model ~> rman target /
RMAN> startup nomount
1、恢复spfile:
RMAN> restore spfile from '/mnt/hgfs/software/backup/20120829_SPFILE_05njss0m_1_1';
RMAN> shutdown immediate;
2、编辑参数文件,使参数中的相关路径变更为新路径
$ oracle@model ~> sqlplus / as sysdba
SYS@test > create pfile from spfile;
编辑生成的$ORACLE_HOME/dbs/inittest.ora文件,将文件中的路径改为新的路径,即:
/oradata/test/修改为/oradata2/test2/
/u01/app/oracle/修改为/u02/app/oracle
/u01/app/oracle/admin/test修改为/u02/app/oracle/admin/test2
$ oracle@model ~> sqlplus / as sysdba
SYS@test > create spfile from pfile;
3、恢复控制文件:
$ oracle@model ~> rman target /
RMAN> startup nomount
RMAN> restore controlfile from '/mnt/hgfs/software/backup/20120829_CTL_04njss0k_1_1';
4、恢复数据文件:
RMAN> alter database mount;
RMAN> run {
2> set newname for datafile 1 to '/oradata2/test2/system01.dbf';
3> set newname for datafile 2 to '/oradata2/test2/undotbs01.dbf';
4> set newname for datafile 3 to '/oradata2/test2/sysaux01.dbf';
5> set newname for datafile 4 to '/oradata2/test2/users01.dbf';
6> set newname for datafile 5 to '/oradata2/test2/example01.dbf';
7> restore database;
8> }
5、重建控制文件,更新控制文件中的数据文件路径
$ oracle@model ~> sqlplus / as sysdba
SYS@test > alter database backup controlfile to trace;
到$ORACLE_BASE/admin/udump中找到刚才生成的TRACE文件,复制出其中的创建文件集的片段,修改其中的路径信息为新的路径信息,备用
SYS@test > shutdown immediate;
SYS@test > startup nomount
利用刚才修改过的控制文件创建脚本重建控制文件:
SYS@test > CREATE CONTROLFILE REUSE DATABASE "TEST" RESETLOGS ARCHIVELOG
2 MAXLOGFILES 16
3 MAXLOGMEMBERS 3
4 MAXDATAFILES 100
5 MAXINSTANCES 8
6 MAXLOGHISTORY 292
7 LOGFILE
8 GROUP 1 '/oradata2/test2/redo01.log' SIZE 50M,
9 GROUP 2 '/oradata2/test2/redo02.log' SIZE 50M,
10 GROUP 3 '/oradata2/test2/redo03.log' SIZE 50M
11 -- STANDBY LOGFILE
12 DATAFILE
13 '/oradata2/test2/system01.dbf',
14 '/oradata2/test2/undotbs01.dbf',
15 '/oradata2/test2/sysaux01.dbf',
16 '/oradata2/test2/users01.dbf',
17 '/oradata2/test2/example01.dbf'
18 CHARACTER SET ZHS16GBK
19 ;
SYS@test > alter database open resetlogs;
至此,数据库已经能够正常启动了,但是此时的实例名以及数据库名均为test,需要将其更改为test2,继续向下走
更多详情见请继续阅读下一页的精彩内容:
Oracle基础教程之通过RMAN复制数据库
RMAN备份策略制定参考内容
RMAN备份学习笔记
Oracle数据库备份加密 RMAN加密

mysql'sblobissuilableforstoringbinarydatawithinareldatabase, whilenosqloptionslikemongodb, redis, and cassandraofferflexible, scalablesolutionsforunstuctureddata.blobissimplerbutcanslowwownperformance를 사용하는 것들보업 betterscal randaysand

TOADDAUSERINMYSQL, 사용 : CreateUser'UserName '@'host'IdentifiedBy'Password '; 여기서'showTodoitseciRely : 1) ChoosetheHostCareLyTocon trolaccess.2) setResourcelimitswithOptionslikemax_queries_per_hour.3) Usestrong, iriquepasswords.4) enforcessl/tlsconnectionswith

toavoidcommonmistakeswithstringdatatypesinmysql, stroundStringTypenuances, chooseTherightType, andManageEncodingAndCollationSettingSefectively.1) usecharforfixed-lengthstrings, varcharvariable-length, andtext/blobforlargerdata.2) setcarcatter

mysqloffersechar, varchar, text, anddenumforstringdata.usecharforfixed-lengthstrings, varcharerforvariable 길이, 텍스트 forlarger 텍스트, andenumforenforcingdataantegritystofvalues.

mysqlblob 요청 최적화는 다음 전략을 통해 수행 할 수 있습니다. 1. Blob 쿼리의 빈도를 줄이거나 독립적 인 요청을 사용하거나 지연로드를 사용하십시오. 2. 적절한 Blob 유형 (예 : TinyBlob)을 선택하십시오. 3. Blob 데이터를 별도의 테이블로 분리하십시오. 4. 응용 프로그램 계층에서 블로브 데이터를 압축합니다. 5. Blob Metadata를 색인하십시오. 이러한 방법은 실제 애플리케이션에서 모니터링, 캐싱 및 데이터 샤딩을 결합하여 성능을 효과적으로 향상시킬 수 있습니다.

MySQL 사용자를 추가하는 방법을 마스터하는 것은 데이터베이스 관리자 및 개발자가 데이터베이스의 보안 및 액세스 제어를 보장하기 때문에 데이터베이스 관리자 및 개발자에게 중요합니다. 1) CreateUser 명령을 사용하여 새 사용자를 만듭니다. 2) 보조금 명령을 통해 권한 할당, 3) FlushPrivileges를 사용하여 권한이 적용되도록하십시오.

ChooseCharfixed-lengthdata, varcharforvariable-lengthdata, andtextforlargetextfields.1) charisefficientsconsentent-lengthdatalikecodes.2) varcharsuitsvariable-lengthdatalikeNames, 밸런싱 플렉스 및 성능

MySQL에서 문자열 데이터 유형 및 인덱스를 처리하기위한 모범 사례는 다음과 같습니다. 1) 고정 길이의 Char, 가변 길이의 Varchar 및 큰 텍스트의 텍스트와 같은 적절한 문자열 유형 선택; 2) 인덱싱에 신중하고, 과도한 인덱싱을 피하고, 공통 쿼리에 대한 인덱스를 만듭니다. 3) 접두사 인덱스 및 전체 텍스트 인덱스를 사용하여 긴 문자열 검색을 최적화합니다. 4) 인덱스를 작고 효율적으로 유지하기 위해 인덱스를 정기적으로 모니터링하고 최적화합니다. 이러한 방법을 통해 읽기 및 쓰기 성능의 균형을 맞추고 데이터베이스 효율성을 향상시킬 수 있습니다.


핫 AI 도구

Undresser.AI Undress
사실적인 누드 사진을 만들기 위한 AI 기반 앱

AI Clothes Remover
사진에서 옷을 제거하는 온라인 AI 도구입니다.

Undress AI Tool
무료로 이미지를 벗다

Clothoff.io
AI 옷 제거제

Video Face Swap
완전히 무료인 AI 얼굴 교환 도구를 사용하여 모든 비디오의 얼굴을 쉽게 바꾸세요!

인기 기사

뜨거운 도구

SublimeText3 중국어 버전
중국어 버전, 사용하기 매우 쉽습니다.

MinGW - Windows용 미니멀리스트 GNU
이 프로젝트는 osdn.net/projects/mingw로 마이그레이션되는 중입니다. 계속해서 그곳에서 우리를 팔로우할 수 있습니다. MinGW: GCC(GNU Compiler Collection)의 기본 Windows 포트로, 기본 Windows 애플리케이션을 구축하기 위한 무료 배포 가능 가져오기 라이브러리 및 헤더 파일로 C99 기능을 지원하는 MSVC 런타임에 대한 확장이 포함되어 있습니다. 모든 MinGW 소프트웨어는 64비트 Windows 플랫폼에서 실행될 수 있습니다.

SublimeText3 Mac 버전
신 수준의 코드 편집 소프트웨어(SublimeText3)

드림위버 CS6
시각적 웹 개발 도구

Atom Editor Mac 버전 다운로드
가장 인기 있는 오픈 소스 편집기