热门标签 | HotTags
当前位置:  开发笔记 > 数据库 > 正文

Oracle基础教程之通过RMAN复制数据库

ORACLE在数据库拷贝和数据库克隆之间惟一不同的是拷贝的数据库不能更改名称。使用RMAN的复制数据库特性,可以从RMAN备份创建一个

ORACLE在数据库拷贝和数据库克隆之间惟一不同的是拷贝的数据库不能更改名称。使用RMAN的复制数据库特性,可以从RMAN备份创建一个

通过使用数据库备份,DBA可以在同一服务器或其它服务器上建立副本数据库。这个副本数据库可以和主数据库有相同的名称(拷贝)或与主数据库名称不同(克隆)。

Oracle在数据库拷贝和数据库克隆之间惟一不同的是拷贝的数据库不能更改名称。使用RMAN的复制数据库特性,可以从RMAN备份创建一个新的数据库,并为这个副本数据库保留已有的数据库名称或者赋予新的名称。

RMAN术语和命令:

A. 辅助数据库(Auxiliary database):RMAN将目标数据库复制到该数据库实例。要创建该数据库的参数文件、路径和口令文件。必须在RMAN数据库复制之前以非加载(NOMOUNT)模式启动辅助数据库实例。

B. 复制(Duplicate):从其它数据库的RMAN备份创建一个新的数据库。要在RMAN执行复制的位置配置数据库并启动Oracle的实例。从RMAN的角度来看,目标数据库被复制到副本数据库。

C. 设置新名称(Set newname):在一个RMAN运行块内为数据文件设置新的名称,提供给该参数的文件名称覆盖任何该数据文件的辅助数据库名(用SET AUXNAME)或者辅助数据库参数(DB_FILE_NAME_CONVERT)。这个新名称的值只在运行块内有效。

D. 设置辅助名称(Set auxname):为数据文件设置辅助名称,这个辅助名称将在RMAN会话之间存在。如果不希望以后的RMAN命令中使用这个设置的名称,则必须将该名称设置为NULL。

E. 日志文件(log file):可以在Duplicate命令中作用这个关键词,以指定副本数据库创建的联机重做日志文件。如果没有特别指定这个关键词,则RMAN将在辅助参数文件中的LOG_FILE_NAME_CONVERT参数决定的路径中生成日志文件。如果没有这个RMAN关键词,而且也没有设置辅助参数,则RMAN将在目标数据库同样的位置创建日志

(假设已指定了NOCHECKFILENAME选项)。

F. 不检查文件名(Nocheckfilename):默认情况下,RMAN将检查在副本主机上被恢复到主目标数据文件路径下的数据文件,以确保不会被错误地覆盖。使用该选项可以覆盖这个默认的操作。这样就需要手工确保RMAN没有覆盖任何已存在的数据文件。应当谨慎使用这个命令,以防止覆盖数据文件。

在Duplicate命令执行的过程中,RMAN执行了一系列工作。当连接到目标、辅助和或选的目录数据库后,RMAN将进行以下操作:

1) 根据最近发生的或者是提供的恢复停止点来决定复制操作将使用哪个基本的备份。

2) 根据辅助数据库参数或RMAN设置的命令和选项来决定将数据文件保存在辅助数据库实例的什么位置。

3) 为辅助数据库读出备份片或映像拷贝并恢复数据文件。这个RMAN的功能与执行正常的数据库还原是一样的。

4) 根据恢复停止点将任何增量备份应用于还原数据文件。这个增量方式的应用与用RMAN发布恢复数据库命令的任务是一样的。

5) 根据恢复停止点从磁盘或备份将所有归档日志文件应用于还原数据文件。

6) 为辅助数据库创建新的控制文件。

7) 当重新设置联机重做日志文件时,打开副本数据库。新的联机重做日志文件将根据RMAN复制数据库命令中指定的或者根据转换的辅助参数文件进行创建。

创建副本数据库的步骤:

1) 准备副本数据库参数文件:拷贝目标数据库的参数文件到$ORACLE_BASE/admin/clone/pfile位置。修改参数文件,替换所有目标数据库名为副本数据库名,同时增

加两个参数:db_file_name_cOnvert= (“primary”,”clone”)、log_file_name_cOnvert= (“primary”,”clone”),再在$ORACLE_HOME/dbs目录下增加

参数文件的LINUX符号连接,,或者%ORACLE_HOME%\database目录下增加windows参数文件。

2) 创建口令文件:

LINUX>orapwd file=$ORACLE_HOME/dbs/orapwCLONE password=clone entries=4

WINNT>orapwd file=%ORACLE_HOME%\database\PWDCLONE.ORA password=clone

3) 创建windows服务(linux不需要):

WINNT>oradim –new –sid clone –intpwd clone

4) 建立NET8连接

5) 启动辅助实例:在RMAN创建副本数据库以前,辅助实例需要以非加载模式启动

6) 加载或打开目标数据库

7) 创建副本数据库

C:\Documents and Settings\Administrator>rman

Recovery Manager: 版本 9.2.0.1.0 - Production

Copyright (c) 1995, 2002, Oracle Corporation.All rights reserved.

RMAN> connect target sys/oracle@mydb ;

已联机到目标数据库: MYDB (DBID=2567199153)

RMAN> connect catalog rman/rman@standby

已联机至复原目录数据库

RMAN> connect auxiliary sys/clone;

联机至辅助数据库: clone (未挂载)

RMAN> run{

2> SET UNTIL logseq 3 THREAD 1;

3> ALLOCATE auxiliary channel d1 TYPE DISK;

4> duplicate target DATABASE TO "CLONE";

5> }

执行命令: SET until clause

已配置信道: d1

通道 d1: sid=14 devtype=DISK

开始 Duplicate Db, 于 07-5月 -08

打印储存的命令档: Memory Script

{

set until scn1077491;

set newname for datafile1 to"C:\ORACLE\ORADATA\CLONE\SYSTEM01.DBF";

set newname for datafile2 to"C:\ORACLE\ORADATA\CLONE\UNDOTBS01.DBF";

set newname for datafile3 to"C:\ORACLE\ORADATA\CLONE\CWMLITE01.DBF";

set newname for datafile4 to"C:\ORACLE\ORADATA\CLONE\DRSYS01.DBF";

set newname for datafile5 to"C:\ORACLE\ORADATA\CLONE\EXAMPLE01.DBF";

set newname for datafile6 to"C:\ORACLE\ORADATA\CLONE\INDX1.DBF";

set newname for datafile7 to"C:\ORACLE\ORADATA\CLONE\ODM01.DBF";

set newname for datafile8 to"C:\ORACLE\ORADATA\CLONE\TOOLS01.DBF";

set newname for datafile9 to"C:\ORACLE\ORADATA\CLONE\USERS01.DBF";

set newname for datafile10 to"C:\ORACLE\ORADATA\CLONE\XDB01.DBF";

set newname for datafile11 to"C:\ORACLE\ORADATA\CLONE\MYTS01.DBF";

restore

check readonly

clone database

;

}

执行命令档: Memory Script

执行命令: SET until clause

执行命令: SET NEWNAME

执行命令: SET NEWNAME

执行命令: SET NEWNAME

执行命令: SET NEWNAME

执行命令: SET NEWNAME

执行命令: SET NEWNAME

执行命令: SET NEWNAME

执行命令: SET NEWNAME

执行命令: SET NEWNAME

执行命令: SET NEWNAME

执行命令: SET NEWNAME

开始 restore, 于 07-5月 -08

通道 d1: 启动数据文件备份集的还原

通道 d1: 正在设定要从备份集还原的数据文件

正在将资料文件 00001 还原为 C:\ORACLE\ORADATA\CLONE\SYSTEM01.DBF

正在将资料文件 00002 还原为 C:\ORACLE\ORADATA\CLONE\UNDOTBS01.DBF

正在将资料文件 00003 还原为 C:\ORACLE\ORADATA\CLONE\CWMLITE01.DBF

正在将资料文件 00004 还原为 C:\ORACLE\ORADATA\CLONE\DRSYS01.DBF

正在将资料文件 00005 还原为 C:\ORACLE\ORADATA\CLONE\EXAMPLE01.DBF

正在将资料文件 00006 还原为 C:\ORACLE\ORADATA\CLONE\INDX1.DBF

正在将资料文件 00007 还原为 C:\ORACLE\ORADATA\CLONE\ODM01.DBF

正在将资料文件 00008 还原为 C:\ORACLE\ORADATA\CLONE\TOOLS01.DBF

正在将资料文件 00009 还原为 C:\ORACLE\ORADATA\CLONE\USERS01.DBF

正在将资料文件 00010 还原为 C:\ORACLE\ORADATA\CLONE\XDB01.DBF

正在将资料文件 00011 还原为 C:\ORACLE\ORADATA\CLONE\MYTS01.DBF

通道 d1: 还原备份片 1

处理片=D:\ORACLEBAK\DBMYDB_10_1_653973100 标志=WHOLE_INC0 参数=NULL

通道 d1: 还原完成

完成 restore, 于 07-5月 -08

sql 叙述句: CREATE CONTROLFILE REUSE SET DATABASE "CLONE" RESETLOGS ARCHIVELOG

MAXLOGFILES 50

MAXLOGMEMBERS 5

MAXDATAFILES 100

MAXINSTANCES 1

MAXLOGHISTORY 226

LOGFILE

GROUP1 ( 'C:\ORACLE\ORADATA\CLONE\REDO01.LOG' ) SIZE104857600REUSE,

GROUP2 ( 'C:\ORACLE\ORADATA\CLONE\REDO02.LOG' ) SIZE104857600REUSE,

GROUP3 ( 'C:\ORACLE\ORADATA\CLONE\REDO03.LOG' ) SIZE104857600REUSE

DATAFILE

'C:\ORACLE\ORADATA\CLONE\SYSTEM01.DBF'

CHARACTER SET AL32UTF8

打印储存的命令档: Memory Script

{

switch clone datafile all;

}

执行命令档: Memory Script

数据文件 2 已切换至数据文件复制本

输入数据文件复本 recid=1 戳记=654059846 文件名称=C:\ORACLE\ORADATA\CLONE\UNDOTBS01.DBF

数据文件 3 已切换至数据文件复制本

输入数据文件复本 recid=2 戳记=654059846 文件名称=C:\ORACLE\ORADATA\CLONE\CWMLITE01.DBF

数据文件 4 已切换至数据文件复制本

输入数据文件复本 recid=3 戳记=654059847 文件名称=C:\ORACLE\ORADATA\CLONE\DRSYS01.DBF

数据文件 5 已切换至数据文件复制本

输入数据文件复本 recid=4 戳记=654059847 文件名称=C:\ORACLE\ORADATA\CLONE\EXAMPLE01.DBF

数据文件 6 已切换至数据文件复制本

输入数据文件复本 recid=5 戳记=654059847 文件名称=C:\ORACLE\ORADATA\CLONE\INDX1.DBF

数据文件 7 已切换至数据文件复制本

输入数据文件复本 recid=6 戳记=654059847 文件名称=C:\ORACLE\ORADATA\CLONE\ODM01.DBF

数据文件 8 已切换至数据文件复制本

输入数据文件复本 recid=7 戳记=654059847 文件名称=C:\ORACLE\ORADATA\CLONE\TOOLS01.DBF

数据文件 9 已切换至数据文件复制本

输入数据文件复本 recid=8 戳记=654059847 文件名称=C:\ORACLE\ORADATA\CLONE\USERS01.DBF

数据文件 10 已切换至数据文件复制本

输入数据文件复本 recid=9 戳记=654059847 文件名称=C:\ORACLE\ORADATA\CLONE\XDB01.DBF

数据文件 11 已切换至数据文件复制本

输入数据文件复本 recid=10 戳记=654059847 文件名称=C:\ORACLE\ORADATA\CLONE\MYTS01.DBF

打印储存的命令档: Memory Script

{

set until scn1077491;

recover

clone database

delete archivelog

;

}

执行命令档: Memory Script

执行命令: SET until clause

开始 recover, 于 07-5月 -08

启动媒体恢复

通道 d1: 启动存盘日志还原到预设目的

通道 d1: 还原存盘日志

存盘日志系线=1 顺序=1

通道 d1: 还原存盘日志

存盘日志系线=1 顺序=2

通道 d1: 还原备份片 1

处理片=D:\ORACLEBAK\ARCHMYDB_11_1_654043289 标志=TAG20080506T224129 参数=NULL

通道 d1: 还原完成

存盘日志文件名称=C:\ORACLE\ORADATA\CLONE\ARCHIVE1_1.DBF 系线=1 顺序=1

通道 clone_default: 删除存盘日志

存盘日志文件名称=C:\ORACLE\ORADATA\CLONE\ARCHIVE1_1.DBF recid=2 戳记=654059855

存盘日志文件名称=C:\ORACLE\ORADATA\CLONE\ARCHIVE1_2.DBF 系线=1 顺序=2

通道 clone_default: 删除存盘日志

存盘日志文件名称=C:\ORACLE\ORADATA\CLONE\ARCHIVE1_2.DBF recid=1 戳记=654059854

媒体恢复完成

完成 recover, 于 07-5月 -08

打印储存的命令档: Memory Script

{

shutdown clone;

startup clone nomount ;

}

执行命令档: Memory Script

已卸下数据库

已关闭 Oracle 执行处理

联机至辅助数据库 (未启动)

已启动 Oracle 执行处理

系统整体区域总共是 122755896 个字节

Fixed Size 453432 个字节

Variable Size 96468992 个字节

Database Buffers 25165824 个字节

Redo Buffers 667648 个字节

sql 叙述句: CREATE CONTROLFILE REUSE SET DATABASE \CLONE\ RESETLOGS ARCHIVELOG

MAXLOGFILES 50

MAXLOGMEMBERS 5

MAXDATAFILES 100

MAXINSTANCES 1

MAXLOGHISTORY 226

LOGFILE

GROUP1 ( 'C:\ORACLE\ORADATA\CLONE\REDO01.LOG' ) SIZE104857600REUSE,

GROUP2 ( 'C:\ORACLE\ORADATA\CLONE\REDO02.LOG' ) SIZE104857600REUSE,

GROUP3 ( 'C:\ORACLE\ORADATA\CLONE\REDO03.LOG' ) SIZE104857600REUSE

DATAFILE

'C:\ORACLE\ORADATA\CLONE\SYSTEM01.DBF'

CHARACTER SET AL32UTF8

打印储存的命令档: Memory Script

{

catalog clone datafilecopy"C:\ORACLE\ORADATA\CLONE\UNDOTBS01.DBF";

catalog clone datafilecopy"C:\ORACLE\ORADATA\CLONE\CWMLITE01.DBF";

catalog clone datafilecopy"C:\ORACLE\ORADATA\CLONE\DRSYS01.DBF";

catalog clone datafilecopy"C:\ORACLE\ORADATA\CLONE\EXAMPLE01.DBF";

catalog clone datafilecopy"C:\ORACLE\ORADATA\CLONE\INDX1.DBF";

catalog clone datafilecopy"C:\ORACLE\ORADATA\CLONE\ODM01.DBF";

catalog clone datafilecopy"C:\ORACLE\ORADATA\CLONE\TOOLS01.DBF";

catalog clone datafilecopy"C:\ORACLE\ORADATA\CLONE\USERS01.DBF";

catalog clone datafilecopy"C:\ORACLE\ORADATA\CLONE\XDB01.DBF";

catalog clone datafilecopy"C:\ORACLE\ORADATA\CLONE\MYTS01.DBF";

switch clone datafile all;

}

执行命令档: Memory Script

数据文件备份已加入目录

数据文件备份文件名称=C:\ORACLE\ORADATA\CLONE\UNDOTBS01.DBF recid=1 戳记=654059903

数据文件备份已加入目录

数据文件备份文件名称=C:\ORACLE\ORADATA\CLONE\CWMLITE01.DBF recid=2 戳记=654059903

数据文件备份已加入目录

数据文件备份文件名称=C:\ORACLE\ORADATA\CLONE\DRSYS01.DBF recid=3 戳记=654059903

数据文件备份已加入目录

数据文件备份文件名称=C:\ORACLE\ORADATA\CLONE\EXAMPLE01.DBF recid=4 戳记=654059904

数据文件备份已加入目录

数据文件备份文件名称=C:\ORACLE\ORADATA\CLONE\INDX1.DBF recid=5 戳记=654059904

数据文件备份已加入目录

数据文件备份文件名称=C:\ORACLE\ORADATA\CLONE\ODM01.DBF recid=6 戳记=654059904

数据文件备份已加入目录

数据文件备份文件名称=C:\ORACLE\ORADATA\CLONE\TOOLS01.DBF recid=7 戳记=654059904

数据文件备份已加入目录

数据文件备份文件名称=C:\ORACLE\ORADATA\CLONE\USERS01.DBF recid=8 戳记=654059905

数据文件备份已加入目录

数据文件备份文件名称=C:\ORACLE\ORADATA\CLONE\XDB01.DBF recid=9 戳记=654059905

数据文件备份已加入目录

数据文件备份文件名称=C:\ORACLE\ORADATA\CLONE\MYTS01.DBF recid=10 戳记=654059905

数据文件 2 已切换至数据文件复制本

输入数据文件复本 recid=1 戳记=654059903 文件名称=C:\ORACLE\ORADATA\CLONE\UNDOTBS01.DBF

数据文件 3 已切换至数据文件复制本

输入数据文件复本 recid=2 戳记=654059903 文件名称=C:\ORACLE\ORADATA\CLONE\CWMLITE01.DBF

数据文件 4 已切换至数据文件复制本

输入数据文件复本 recid=3 戳记=654059903 文件名称=C:\ORACLE\ORADATA\CLONE\DRSYS01.DBF

数据文件 5 已切换至数据文件复制本

输入数据文件复本 recid=4 戳记=654059904 文件名称=C:\ORACLE\ORADATA\CLONE\EXAMPLE01.DBF

数据文件 6 已切换至数据文件复制本

输入数据文件复本 recid=5 戳记=654059904 文件名称=C:\ORACLE\ORADATA\CLONE\INDX1.DBF

数据文件 7 已切换至数据文件复制本

输入数据文件复本 recid=6 戳记=654059904 文件名称=C:\ORACLE\ORADATA\CLONE\ODM01.DBF

数据文件 8 已切换至数据文件复制本

输入数据文件复本 recid=7 戳记=654059904 文件名称=C:\ORACLE\ORADATA\CLONE\TOOLS01.DBF

数据文件 9 已切换至数据文件复制本

输入数据文件复本 recid=8 戳记=654059905 文件名称=C:\ORACLE\ORADATA\CLONE\USERS01.DBF

数据文件 10 已切换至数据文件复制本

输入数据文件复本 recid=9 戳记=654059905 文件名称=C:\ORACLE\ORADATA\CLONE\XDB01.DBF

数据文件 11 已切换至数据文件复制本

输入数据文件复本 recid=10 戳记=654059905 文件名称=C:\ORACLE\ORADATA\CLONE\MYTS01.DBF

打印储存的命令档: Memory Script

{

Alter clone database open resetlogs;

}

执行命令档: Memory Script

已开启数据库

完成 Duplicate Db, 于 07-5月 -08

RMAN>

使用RMAN的关键词和命令来控制数据文件和日志文件的名称和位置

可以如下控制数据文件的位置并设置新名称或设置辅助名称

SET auxname FOR DATAFILE 2 TO 'c:\oracle\oradata\clone\auxname02.dbf';

#为数据文件设置辅助名称,这个辅助名称将在RMAN会话之间存在,如果不希望以后的RMAN使用这个设置的名称,则必须将该名称设置为NULL。

SET auxname FOR DATAFILE 2 TO 'c:\oracle\oradata\clone\auxname02.dbf';

#为数据文件设置辅助名称,这个辅助名称将在RMAN会话之间存在,如果不希望以后的RMAN使用这个设置的名称,则必须将该名称设置为NULL。

SET auxname FOR DATAFILE 4 TO 'c:\oracle\oradata\clone\auxname03.dbf';

SET auxname FOR DATAFILE 6 TO 'c:\oracle\oradata\clone\auxname04.dbf';

run{

ALLOCATE auxiliary channel d1 TYPE DISK;

SET UNTIL logseq 3 THREAD 1;

SET newname FOR DATAFILE 1 TO 'c:\oracle\oradata\clone\newname01.dbf'; #在RMAN运行块内为数据文件设置新的名称,这个新名称的值只在运行块内有效

SET newname FOR DATAFILE 3 TO 'c:\oracle\oradata\clone\newname03.dbf';

SET newname FOR DATAFILE 5 TO 'c:\oracle\oradata\clone\newname05.dbf';

SET newname FOR DATAFILE 7 TO 'c:\oracle\oradata\clone\newname07.dbf';

duplicate target DATABASE TO \CLONE\ LOGFILE

GROUP 1 ('c:\oracle\oradata\clone\redo1_1.log',

'c:\oracle\oradata\clone\redo1_2.log') SIZE 10M REUSE,

GROUP 2 ('c:\oracle\oradata\clone\redo2_1.log',

'c:\oracle\oradata\clone\redo2_2.log') SIZE 10M REUSE,

GROUP 3 ('c:\oracle\oradata\clone\redo3_1.log',

'c:\oracle\oradata\clone\redo3_2.log') SIZE 10M REUSE;

}

SET auxname FOR DATAFILE 2 TO NULL;

SET auxname FOR DATAFILE 4 TO NULL;

SET auxname FOR DATAFILE 6 TO NULL;

在复制期间为clone数据库的每个数据文件指定一个新的文件名(或位置)。这样,当将目标数据库备份还原到复制数据库位置时,每个数据文件以被重新命名,日志文

件可以指定为附加到DUPLICATE TARGER DATABASE命令,在以上的示例中,每个数据文件都被重命名,并且日志文件也被重新定义大小、重命名和镜像,对单数的数据文

件重命名而对偶数的数据文件辅助命名。

linux

推荐阅读
  • 本文介绍了在Hibernate配置lazy=false时无法加载数据的问题,通过采用OpenSessionInView模式和修改数据库服务器版本解决了该问题。详细描述了问题的出现和解决过程,包括运行环境和数据库的配置信息。 ... [详细]
  • 本文详细介绍了GetModuleFileName函数的用法,该函数可以用于获取当前模块所在的路径,方便进行文件操作和读取配置信息。文章通过示例代码和详细的解释,帮助读者理解和使用该函数。同时,还提供了相关的API函数声明和说明。 ... [详细]
  • 一、Hadoop来历Hadoop的思想来源于Google在做搜索引擎的时候出现一个很大的问题就是这么多网页我如何才能以最快的速度来搜索到,由于这个问题Google发明 ... [详细]
  • 本文详细介绍了SQL日志收缩的方法,包括截断日志和删除不需要的旧日志记录。通过备份日志和使用DBCC SHRINKFILE命令可以实现日志的收缩。同时,还介绍了截断日志的原理和注意事项,包括不能截断事务日志的活动部分和MinLSN的确定方法。通过本文的方法,可以有效减小逻辑日志的大小,提高数据库的性能。 ... [详细]
  • 本文介绍了Python高级网络编程及TCP/IP协议簇的OSI七层模型。首先简单介绍了七层模型的各层及其封装解封装过程。然后讨论了程序开发中涉及到的网络通信内容,主要包括TCP协议、UDP协议和IPV4协议。最后还介绍了socket编程、聊天socket实现、远程执行命令、上传文件、socketserver及其源码分析等相关内容。 ... [详细]
  • GetWindowLong函数
    今天在看一个代码里头写了GetWindowLong(hwnd,0),我当时就有点费解,靠,上网搜索函数原型说明,死活找不到第 ... [详细]
  • 如何去除Win7快捷方式的箭头
    本文介绍了如何去除Win7快捷方式的箭头的方法,通过生成一个透明的ico图标并将其命名为Empty.ico,将图标复制到windows目录下,并导入注册表,即可去除箭头。这样做可以改善默认快捷方式的外观,提升桌面整洁度。 ... [详细]
  • Windows下配置PHP5.6的方法及注意事项
    本文介绍了在Windows系统下配置PHP5.6的步骤及注意事项,包括下载PHP5.6、解压并配置IIS、添加模块映射、测试等。同时提供了一些常见问题的解决方法,如下载缺失的msvcr110.dll文件等。通过本文的指导,读者可以轻松地在Windows系统下配置PHP5.6,并解决一些常见的配置问题。 ... [详细]
  • Metasploit攻击渗透实践
    本文介绍了Metasploit攻击渗透实践的内容和要求,包括主动攻击、针对浏览器和客户端的攻击,以及成功应用辅助模块的实践过程。其中涉及使用Hydra在不知道密码的情况下攻击metsploit2靶机获取密码,以及攻击浏览器中的tomcat服务的具体步骤。同时还讲解了爆破密码的方法和设置攻击目标主机的相关参数。 ... [详细]
  • 本文介绍了在Win10上安装WinPythonHadoop的详细步骤,包括安装Python环境、安装JDK8、安装pyspark、安装Hadoop和Spark、设置环境变量、下载winutils.exe等。同时提醒注意Hadoop版本与pyspark版本的一致性,并建议重启电脑以确保安装成功。 ... [详细]
  • 本文介绍了Oracle数据库中tnsnames.ora文件的作用和配置方法。tnsnames.ora文件在数据库启动过程中会被读取,用于解析LOCAL_LISTENER,并且与侦听无关。文章还提供了配置LOCAL_LISTENER和1522端口的示例,并展示了listener.ora文件的内容。 ... [详细]
  • 本文详细介绍了Linux中进程控制块PCBtask_struct结构体的结构和作用,包括进程状态、进程号、待处理信号、进程地址空间、调度标志、锁深度、基本时间片、调度策略以及内存管理信息等方面的内容。阅读本文可以更加深入地了解Linux进程管理的原理和机制。 ... [详细]
  • 图解redis的持久化存储机制RDB和AOF的原理和优缺点
    本文通过图解的方式介绍了redis的持久化存储机制RDB和AOF的原理和优缺点。RDB是将redis内存中的数据保存为快照文件,恢复速度较快但不支持拉链式快照。AOF是将操作日志保存到磁盘,实时存储数据但恢复速度较慢。文章详细分析了两种机制的优缺点,帮助读者更好地理解redis的持久化存储策略。 ... [详细]
  • 计算机存储系统的层次结构及其优势
    本文介绍了计算机存储系统的层次结构,包括高速缓存、主存储器和辅助存储器三个层次。通过分层存储数据可以提高程序的执行效率。计算机存储系统的层次结构将各种不同存储容量、存取速度和价格的存储器有机组合成整体,形成可寻址存储空间比主存储器空间大得多的存储整体。由于辅助存储器容量大、价格低,使得整体存储系统的平均价格降低。同时,高速缓存的存取速度可以和CPU的工作速度相匹配,进一步提高程序执行效率。 ... [详细]
  • 本文详细介绍了在ASP.NET中获取插入记录的ID的几种方法,包括使用SCOPE_IDENTITY()和IDENT_CURRENT()函数,以及通过ExecuteReader方法执行SQL语句获取ID的步骤。同时,还提供了使用这些方法的示例代码和注意事项。对于需要获取表中最后一个插入操作所产生的ID或马上使用刚插入的新记录ID的开发者来说,本文提供了一些有用的技巧和建议。 ... [详细]
author-avatar
手机用户2602889575
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有