# 安装问题记录

  • 点击setup.exe,弹出dos窗口后一会儿自动关闭,然后就没反应了
# 输入services.msc命令,然后找到oracle相关服务,将其停用,然后再次点击setup.exe
  • 提示"环境不满足最低要求"
# 默认Oracle 11没有添加win11的注册信息,需要将win11的注册信息添加到Oracle的配置文件里
# 进入oracle目录下的database/stage/cvu,编辑cvu_prereq.xml文件,在指定位置,添加如下内容:

<OPERATING_SYSTEM RELEASE="6.2">
	 <VERSION VALUE="3"/>
	 <ARCHITECTURE VALUE="64-bit"/>
	 <NAME VALUE="Windows 11"/>
	 <ENV_VAR_LIST>
		  <ENV_VAR NAME="PATH" MAX_LENGTH="1023" />
	 </ENV_VAR_LIST>
</OPERATING_SYSTEM>
  • 先决条件检查步骤,提示环境变量PATH太长
# 修改cvu_prereq.xml里面的配置,将MAX_LENGTH的值改大一些,然后返回上一步,在点击下一步
  • PL/SQL Developer,显示初始化错误:Make sure you have the 32 bits Oracle Client installed
# 这个意思就是我们没有安装32位的Oracle客户端,虽然安装的是64位的Oracle
# 但是我们plsql不能识别,只能识别32的客户端。那么我们就去下载安装32位的客户端。
# 安装32位 Oracle Client,首先确定下自己电脑上装的Oracle11g的具体版本,并下载对应版本的客户端
C:\Users\Administrator>sqlplus / as sysdba

# 将下载的Oracle Client文件instantclient-basic-win32-11.2.0.1.0.zip(这是客户端,必须是32位)
# 解压到D:\app\(解压到别的地方也可以,只是后面的配置需要按照这个进行)
# 在解压后的D:\app\instantclient_11_2目录下新建NETWORK\ADMIN目录
# 从Oracle数据库HOME目录的NETWORK\ADMIN拷贝tnsnames.ora,添加数据库TNS文件,还要拷贝sqlnet.ora
# 以非登录模式进入PL/SQL,Tools -> Preferences -> connection
Oracle Home # 指定为Oracle Client目录(D:\app\instantclient_11_2)
OCI Libaray # 路径为Oracle Client目录下面的oci.dll (D:\app\instantclient_11_2\oci.dll)

# 备份和还原

利用PL/SQL 进行数据库的导入和导出

# 导出步骤

  • 导出的是建表语句(包括存储结构)
# 这种方式只能导出属于这个用户的表,其他用户的表不能导出
tools -> export user object 选择选项,导出.sql文件
  • 导出表结构以及数据
tools -> export tables-> Oracle Export 包含三种导出方式

Oracle Export
# 导出为.dmp的文件格式,.dmp文件是二进制的,可以跨平台,还能包含权限,效率也很不错,用得最广

Sql Insert
# 导出为.sql文件的,可用文本编辑器查看,通用性比较好,但效率不如第一种,适合小数据量导入导出

pl/sql developer
# 导出为.pde格式的,.pde为Pl/sql自有的文件格式,只能用Pl/sql可以导入导出,不能用编辑器查看

导出表结构以及数据

注意

导出可执行文件选择是在本机Oracle的安装路径下的exp.exe可执行文件
E:\oracle\product\11.2.0\dbhome_1\BIN\exp.exe

# 导入步骤

导入步骤

  • 导入表结构
# 找到工具——>导入表——>SQL插入——>选择导入文件——>选择之前导出的xxx.sql文件——>单击导入
  • 导入表结构以及数据
# 找到工具——>导入表——>选择Oracle导入——>导入可执行文件(imp.exe)——>选择xxx.dmp文件——>单击导入

# 命令行的方式导入和导出

# 导出指定用户下面所有的结构和数据,
expdp 用户名/密码@服务名 dumpfile=xxxx.dmp owner=用户名
# 在oralce的安装目录:d:\app\administrator\admin\orcl\dpddump就能找到xxxx.dmp文件了

# 导入dmp文件到指定用户下
impdp 用户名/密码@服务名 dumpfile=xxxx.dmp