Oracle 忘记密码并建库

版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/weixin_40116945/article/details/84870965

问题起源:公司一个同事有一个很急的 BUG 需要调,但是服务器上的数据库(Oracle)非常不稳定,总是断,所以被逼无奈,打算复制一份到本地,并且电脑是老电脑,也并不知道装没装 Oracle。以下是全部检查以及解决步骤:

1、检查电脑是否安装 Oracle:

任务管理器 --> 进程:检查是否有 oracle.exe?若有,则有 Oracle,若无,则无 Oracle。

(其实也可以通过 dos 进行连接什么的,但是假如没装 Oracle 的话,sqlplus、conn...命令都不识别,服务倒是可以当做一个参考。)

2、不知道 Oracle 账号密码:

    win+R 进入 dos:

  1. CONN SYS/SYS_WORD AS SYSDBA;
  2. ALTER USER SYSTEM IDENTIFIED BY "SYSTEM"

3、创建表空间:

create tablespace FAMILYDOCTOR datafile 'F:\app\Administrator\oradata\orcl\FAMILYDOCTOR.DBF' size 100m;

4、创建用户:

create user base identified by base default tablespace FAMILYDOCTOR;

5、赋予用户权限:

grant connect,resource to base;

6、导出数据

暂时用的是 navicat 工具导出数据,实际上是导出纯数据,即一个 .sql 文件。

用 navicat 的一个好处就是不用登陆服务器,可以直接在本地电脑直接导出数据。

7、导入数据

点击 "转储 SQL 文件" 选项上面的 "运行 SQL 文件" 选项。

(注意:导出的 sql 文件里面全是服务器的用户名.表名,导入的时候需要注意用户名)

如果你不想和服务器(导出的 oracle 的用户)用户名一样,则需要修改导出的 .sql 文件里面的用户名,再进行导入

可能遇到的问题:

第二步:

1、sqlplus 或者 conn 命令不识别:

    解决:系统变量path后面加上;F:\app\Administrator\product\10.1.0\db_1\bin

    (此路径为 Oracle 安装路径,并且前面必须加上 ";”,以此来分隔前面的环境变量)

    (Oracle 安装路径可在我的电脑搜索 product)

    Oracle 的目录结构

按照理论来讲,上面的表空间路径和环境变量的路径,前面都是指向这个文件夹,到了这个文件夹之后才分叉,一个是指向 oradata 文件夹,一个是指向 product 文件夹

2、命令不执行,出现12345列表序号:

    解决:dos 里面的 sql 结尾主要加 ";”,证明是命令语句并且结束。

第三步:

    sql 解析:创建 表空间 表空间名 数据文件 路径 大小

第四步:

     sql 解析:创建 用户 用户名 挂上 表空间 表空间名

第五步:

     赋予 连接,开发权限 给 用户名

有兴趣的可以到 oracle 数据库环境里面写两条 sql 查询一下看看:

1、select * from role_sys_privs where role like 'CONNECT'; --查询 CONNECT 权限

2、select * from role_sys_privs where role like 'RESOURCE'; --查询 RESOURCE 权限

猜你喜欢

转载自blog.csdn.net/weixin_40116945/article/details/84870965