关于Oracle导库问题,以及PL/SQL的配置问题

本文分享了一位实习生在用友金融的实习经历,详细记录了使用PL/SQL Developer配置Oracle环境的过程,包括安装汉化包、配置环境变量及监听等步骤,并介绍了如何利用数据泵进行Oracle数据库的导库操作。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

经过身心压力,终于找到了实习,博主今年大三,实习的公司是用友金融,还是不错的,今天来的是第二天。

公司里用的都是Oracle数据库,来了先接触项目,第一件事就是要导库,安装Oracle就没什么说的,随便找个教程都可以。

然后可视化界面用的是PL/SQL,这个安装需要记录一下,

因为我下了一个汉化包,提供给大家下载地址:http://www.cr173.com/soft/61280.html#address

首先第一步:以游客身份进入plsql

第二步:在plsql的上方有一个叫做工具的项目栏,点开。

第三步:找到连接,填写Oracle主目录地址,OCI库地址

填写方法:Oracle的地址只需要把OCI库地址后面的oci.dll删去即可,OCI库地址会自动适配好

ps;同事的OCI不知道为什么没有自动适配,等解决之后会来更新。

第四步:配置环境变量

在计算机属性----高级系统设置----高级----环境变量

在系统变量中添加ORACLE_HOME

变量值:安装client的地址,如果找不到可以搜一下Instant Client文件

第五步:最后配置监听:D:\Oracle\Instant Client\network\admin 文件夹下面的tnsnames.ora写入你要连接的库

至此PL/SQL就配置成功了。


接下来的问题是导库,导入的是dmp文件,用的方法的是数据泵导入

基本语句:

1,打开“开始”-->输入cmd—> sqlplus /nolog;

2,输入 conn / as sysdba管理员账户登录;

3,需要创建表空间,如果我们知道需要导入的数据库的表空间直接创建就可以,如果不不知道,也没有关系,我们可以用txt打开dmp文件,使用快捷键ctrl+F,查找tablespace,就可以找到这个dmp文件所对应数据库的表空间,然后创建我们找到的表空间就可以;

步,不创建的表空间,创建用户,并分配权限;

5,打开“开始”-->输入cmd(注意:这里是cmd窗口,不是sqlplus窗口!!!),输入以下语句:“imp kang/123456@localhost/ORACLEfile="C:\daochu.dmp"full=y ignore=y”

上述语句说明如下:

kang是创建的登录数据库用户名;

123456是登录数据库的密码;

localhost:代表当前数据库的地址是本机,如果是远程导入,替换成对应的ip地址就行

ORACLE:是实例名称)

file:后面的是你当前dmp文件存放的路径

full=y,这个貌似是全部

ignore=y,忽略一些错误


顺便还查了一下导出的语句:

dmp文件导出用的比较多的一般是三种,他们分别是:导出整个数据库实例下的所有数据、导出指定用户的所有表、导出指定表。

这里已我的数据库为例,进行介绍,我的Oracle数据库实例为"ORACLE",查看自己数据库实例可以从"任务管理器-->服务"中进行查看,如下图


打开命令行:

1,将数据库ORACLE完全导出,用户名system密码manager 导出到c:\daochu.dmp中

exp system/manager@ORACLE file=c:\daochu.dmp full=y

2,将数据库中RFD用户与,JYZGCX用户的表导出

exp system/manager@ORACLE file=d:\daochu.dmpowner=(RFD,JYZGCX)

3,将数据库中的表T_USER、T_ROLE导出

expJYZGCX/JYZGCX@ORACLEfile= d:\data\newsmgnt.dmp tables=(T_USER,T_ROLE)

上面的system为用户名,manager为密码,ORACLE为数据库实例名,其实不一定非的用system用户,只要是拥有管理员权限的用户都可以。

这块整体都是借鉴 https://www.2cto.com/database/201412/365154.html 因为我也是和这个学习的。

之前的建表空间还遇到了许多问题

问题一:

建立表空间地址错误,如何修改?

建立表空间时需要把表空间放入到 D:\app\Administrator\oradata\orcl 这个目录下

如果地址写错怎么办?

第一想法是更改地址,但是更改之后也是不能同名的,这个表空间的名可不能更改,因为是与dmp文件中的表空间对应的。

第二想法是把表空间删除。

首先不能手动把表空间给删除,要在cmd中进行操作,删除之前要进行授权或者用管理员身份运行

drop tablespace xxx including contents and datafiles;(xxx是表空间名),这样删除是把表空间从物理上和空间上都给删除。

hhh,没有第三想法了,

问题二:

进行数据泵导入时,一般都会创建一个directory路径,但是这个路径也建错了位置怎么办?

第一想法是在我需要的地方重新建一个directory路径,但是尝试过后发现不行,因为建立路径都是同一级别的,在别的地方建立会同名,所以要不就起一个别的名字,要不就把原来的删除,但是directory根本就找不到,所以只能通过语句来实现删除操作。

语句:drop directory WKXT

后面的WKXT取决于你的路径 例:D:\WKXT\abc

那要写成WKXT_abc

问题三:

提示数据库未打开?

第一步语句:

shutdown immediate;

会提示 数据库未打开

已卸载数据库

第二步语句:

startup mount;

Oracle例程已启动

第三步语句:

select * from v$log;

然后会提示一些东西,

第四步语句:

startup;

数据库卸载完毕

数据库已打开

目前就遇到了这些问题,虽然是些小问题,但毕竟是第一次用Oracle,慢慢能感觉到他的强大,希望以后慢慢学习。

加油,共勉!


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值