如何将一个oracle数据库复制成一个新的数据库

如何将一个oracle数据库复制成一个新的数据库,第1张

1、在数据库服务器的开始菜单中找到Datebase Configuration Assistant。

2、在创建画面第一步选择:创建新数据库,点击下一步。

3、根据需求选择自己的数据库类型(一般默认)后,跳转到全局数据库名这个画面时,重点来了:新建数据库名称不能和已经存在的任何一个数据库名称相同。

4、在管理帐户密码界面,可以与别的数据库管理帐户密码相同也可以不同,需注意的是,Oracle数据库默认是区分密码大小写的。

5、跳转到Oracle内存分配大小页面,这里建议将Oracle内存调整为物理主机内存的70%。

6、点击完成后,等待数据库创建完成。

7、数据库创建完成后,用sqlplus 语句连接数据库,在同一服务器上建立多个Oracle数据库 *** 作完成。

oracle版本oracle 11g

逻辑备份与恢复

备份前可以先查看环境变量情况

如果没有则对变量进行export,特别是字符集,结合实际环境所在的情况

使用命令exp 进行导出备份,注意备份文件所在磁盘的空间

恢复,恢复前注意环境变量

如果没有则对变量进行export,特别是字符集

使用命令imp对数据库进行恢复,该命令建议是在新安装的环境进行数据导入,而不是已经有数据的数据库进行导入,会导致数据错乱,ignore=y(由于是在新的环境,没有数据,所以这个可以加,而且必须加,不加恢复数据表好像有问题,访问不了。)

imp 'system/chenzm123@orcl' file=/bakdir/db-20220513dmp full=y log=/imp-2022-0513log ignore=y

oracle imp 导入可以使用 ignore=y 参数进行覆盖数据库,

如果不使用 ignore=y 参数在进行imp 导入时,就会 对已经存在的表就不会进行导入,

如果加上ignore=y 参数就会对已经存在的表中没有的记录进行更新,但对已经存在记录不会进行覆盖修改。

备份脚本,在oracle运行用户下添加计划任务,备份的时候注意挂载目录的权限,注意系统时间,如果系统时间不对,那么要注意重启计划任务service crond restart ,不然计划任务可能不会按时执行。

oracle的话可以通过rowid进行 *** 作。

delete GXS_VIEW_PATIENT_INFO where rowid not in (select max(rowid) from GXS_VIEW_PATIENT_INFO group by 所有列名);

有问题再追问。

实现方法:

1、开始->设置->控制面板->管理工具->服务停止所有Oracle服务。

2、开始->程序->Oracle- OraHome81->OracleInstallation Products->Universal Installer 卸装所有Oracle产品,但UniversalInstaller本身不能被删除。

3、运行regedit,选择HKEY_LOCAL_MACHINE\SOFTWARE\ORACLE,按del键删除这个入口。

4、运行regedit,选择HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services,滚动这个列表,删除所有Oracle入口。

5运行regedit,HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\ Services\Eventlog\Application,删除所有Oracle入口。

6、开始->设置->控制面板->系统->高级->环境变量删除环境变量CLASSPATH和PATH中有关Oracle的设定。

7、从桌面上->STARTUP(启动)组->程序菜单中,删除所有有关Oracle的组和图标。

8、删除\ProgramFiles\Oracle目录。

9、重新启动计算机,重起后才能完全删除Oracle所在目录。

10、删除与Oracle有关的文件,选择Oracle所在的缺省目录C:\Oracle,删除这个入口目录及所有子目录,并从Windows2000目录(一般为C:\WINNT)下删除以下文件ORACLEINI、oradim73INI、oradim80INI、oraodbcini等等。

11、 WININI文件中若有[ORACLE]的标记段,删除该段。

12、如有必要,删除所有Oracle相关的ODBC的DSN。

13、到事件查看器中,删除Oracle相关的日志。

说明:如果有个别DLL文件无法删除的情况,则不用理会,重新启动,开始新的安装。安装时选择一个新的目录,则安装完毕并重新启动后,老的目录及文件就可以删除掉了。

这个问题就是要删除表中重复的记录,查询的sql语句如下:

select id,name from (

select id,name,row_numer() over(partition by id,name order by id,name) rn from tableA)

where rn>1;

删除的sql语句如下:

DELETE tableA WHERE ROWNUM = (SELECT ROWNUM

FROM (SELECT id,name,

ROW_NUMBER() OVER(PARTITION BY id,name ORDER BY id,name) RN

FROM tableA )

WHERE RN > 1);

以上就是关于如何将一个oracle数据库复制成一个新的数据库全部的内容,包括:如何将一个oracle数据库复制成一个新的数据库、「oracle备份恢复」oracle数据库备份恢复之逻辑备份与恢复、oracle数据库怎么删除重复数据只留一个等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!

欢迎分享,转载请注明来源:内存溢出

原文地址:https://54852.com/sjk/10110616.html

(0)
打赏 微信扫一扫微信扫一扫 支付宝扫一扫支付宝扫一扫
上一篇 2023-05-05
下一篇2023-05-05

发表评论

登录后才能评论

评论列表(0条)

    保存