oracle 导库语句

alexlee 2023-3-21 598 3/21
一. 作为一名开发者来说,经常需要导库是相当正常的事情,这里简单介绍下几种需要导库的情况跟背景。
1. 就好比说有些情况,在自己本地的数据库,无法重现出问题,最好导库过来。
   因为不知道整个库是哪些脚本没执行,或是哪些脚本已经修改了,无法一一排查的情况下。
2. 有些数据本地没有的,甚至是无法做出来的数据,也是必须导库。
本地无法做出需要的数据,进行数据校验的情况下。
3. 最坏的情况下,就是数据库被破坏了,或是因某种情况,无法继续使用了,也只能重新导库。
4. 接下来我们来简单看下oracle 导库的语句
drop user c##v_aa cascade;  --删除原来的数据库
CREATE USER c##v_aa IDENTIFIED BY c##v_aa DEFAULT TABLESPACE users; --创建账户
GRANT CONNECT,RESOURCE,CREATE DATABASE LINK TO c##v_aa; --给账户授权
Grant dba to c##v_aa ; --给账户赋予dba的权限
imp c##v_aa/c##v_aaorcl fromuser=aa                        touser=c##v_aa file=d:\aa.DMP
        用户名            密码                   服务器                 哪个用户导出来的                导入用户名            库文件路径
这里要注意,导库时,必须先有一个已经存在的账户.
上面语句是在oracle 命令行下边执行的.
因为导库时防止有用户未退出当前库,此时库是无法导入的,以下语句是用来查看哪些进程是没有退出的
select username,sid,serial# from v$session where username = C##V_AA'
                                                                                                                   用户名必须是大写的
注意:上边的查询语句  用户名必须是大写的,否则在库里边查不到记录
5. 查出来后之前用以下语句杀死进程,强制退出,方能继续导库。
注意:这里要确保导库期间,不能有任何用户操作数据库,这是导数据库的前提。假如有其他开发人员都在用这个库的情况下,
记得要提醒备份好自己的修改语句,避免导完库后,之前所有的修改都被覆盖了。
alter system kill session '130,50961';
oracle 导库语句

6. 最后成功导库,又可以重新进行开发了。

以上是自己的做为资深开发的一些个人经历,把这些经验分享给大家,希望以后大家在从事开发中,可以避免不必要的麻烦,跟浪费时间精力。

要是大家喜欢我的文章的话,可以在文章下留言或是联系我,共同进步,共同探讨开发的一些案例,促进彼此间的交流,分享一些日常的开发趣事。

- THE END -
最后修改:2024年1月25日
0

非特殊说明,本博所有文章均为博主原创。

共有 0 条评论