Oracle安装使用中的各种坑

0x00 前言

前期因为审计需求,需要本地搭建Oracle数据,但是各种原因安装失败,或者安装成功,但是无法使用pl\sql进行连接操作,故记录下所有踩过的坑。

0x01 本机版本+安装包

Windows 10 专业版 64位

百度云盘:链接: https://pan.baidu.com/s/1Fmq83CsSABeiedUPj8PR6w 提取码: c862

官网下载地址:https://www.oracle.com/technetwork/cn/database/enterprise-edition/downloads/index.html

通过云盘下载的话,把两个压缩包都解压下,因为目录名都是database所以会,自动合并到一个文件夹里。

0x02 安装前的配置坑

解压完成,进去 stage/cvu/ 目录的 cvu_prereq.xml 文件里,用notepad++

①在第81行进行插入以下语句:

1
2
3
4
5
6
7
8
<OPERATING_SYSTEM RELEASE="6.2">
<VERSION VALUE="3"/>
<ARCHITECTURE VALUE="64-bit"/>
<NAME VALUE="Windows 10"/>
<ENV_VAR_LIST>
<ENV_VAR NAME="PATH" MAX_LENGTH="2023" />
</ENV_VAR_LIST>
</OPERATINGSYSTEM>

参照截图:

添加该段代码为,防止安装时提示电脑配置不满足最低要求。

②配置NET Framework3.5

我也不知道为什么配置,但是这个也配置完,完成安装无压力,无坑完毕。

Windows10打开控制面板方式:

win+x,选择搜索,输入控制面板

然后走以下流程:

控制面板→程序→程序和功能→启用或关闭Windows功能

选择开启.net framework 3.5分组下面的全部,按图中所示即可。

其它的按步骤安装就可以了,就是双击 setup.exe 即可。

0x03 Oracle数据库修改编码坑

一般来说,安装好的Oracle默认是 ZHS16GBK 编码,但是由于我们的需要导入的数据室UTF-8时,可能就会乱码,应该是这个问题,所以需要修改编码。

首先查看自己的数据库现在的编码:

1
select userenv('language') from dual

假如需要修改为utf-8的编码开始执行下面的语句:

1
sqlplus / as sysdba

在命令行执行以上语句(不是在pl\sql中,而是cmd命令行)

进入到sqlplus之后,按照下面给出的命令依次执行即可

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
SQL>connect  / as sysdba

SQL>SHUTDOWN IMMEDIATE

SQL>connect / as sysdba

SQL>STARTUP MOUNT

SQL>ALTER SYSTEM ENABLE RESTRICTED SESSION;

SQL>ALTER SYSTEM SET JOB_QUEUE_PROCESSES=0;

SQL>ALTER SYSTEM SET AQ_TM_PROCESSES=0;

SQL>ALTER DATABASE OPEN;

SQL> ALTER DATABASE CHARACTER SET AL32UTF8 ;

ALTER DATABASE CHARACTER SET AL32UTF8

*ERROR at line 1:

ORA-12712: new character set must be a superset of old character set

报字符集不兼容,此时下INTERNAL_USE指令不对字符集超集进行检查:

SQL>ALTER DATABASE CHARACTER SET INTERNAL_USE AL32UTF8;

SQL>SHUTDOWN IMMEDIATE

SQL>STARTUP

0x04 本地数据库局域网可访问

本地搭建的数据,其实只可以自己登陆,局域网内,其他人是无法访问的,这样是不符合审计团队团队协作的,所以需要修改为局域网内,皆可访问才行。

配置文件下载:

链接: https://pan.baidu.com/s/1B4ZpKA3T0ZjpcMP427d5kg 提取码: 9err 复制这段内容后打开百度网盘手机App,操作更方便哦

下载到本地后,把下载的文件导入到以下路径中:

安装盘:\根目录\product\11.2.0\dbhome_1\NETWORK\ADMIN

然后修改文件中的配置信息:

listener.ora

sqlnet.ora

tnsnames.ora

以上配置好后,如果局域网其他成员无法访问的话,可以修改下防火墙配置,开放下Oracle数据 默认的1521端口。

Windows10防火墙设置开放端口方法:https://dwz.cn/2viUQYBp

0x05 启动数据库和关闭

Oracle数据库,启动主要是涉及两个服务 OracleServiceORCL 和 OracleOraDb11g_home1TNSListener ,可以通过在 win + R 打开运行,输入 services.msc ,进行查看是否开启或者关闭,当然为了方便,可以设置bat文件进行快捷操作。

oracle_开启.bat

1
2
3
:: lsnrctl start
net start OracleServiceORCL
net start OracleOraDb11g_home1TNSListener

oracle_关闭.bat

1
2
3
:: lsnrctl stop
net stop OracleServiceORCL
net stop OracleOraDb11g_home1TNSListener

使用的时候,点击bat文件,然后鼠标右键以管理员权限运行。

0x06 导入dmp数据库

  1. 第一步
1
create tablespace shiyan(表空间名) datafile 'D:\app\shiyan\oradata\shiyan.dbf'(数据库存放地址,也就是该表空间的数据库地址) size 1024m  autoextend on;
  1. 第二步
1
CREATE USER user_shiyan(账号) IDENTIFIED BY passwd_shiyan(密码) DEFAULT TABLESPACE shiyan(上面创建的表空间) TEMPORARY TABLESPACE temp;
  1. 第三步
1
2
3
4
GRANT CONNECT TO shiyan;
GRANT RESOURCE TO shiyan;
GRANT dba TO shiyan;
--以上操作均为授权管理员权限给 shiyan
  1. 第四步
1
2
imp user_shiyan/passwd_shiyan@127.0.0.1:1521/orcl file='E:\shiyan-1.1.dmp' full=y;
-- 导入数据库

0x07 其它坑

等慢慢积攒吧,先记录这几个吧。

本站访客数人次