> 技术文档 > Oracle 23ai 对应windows版本安装配置&PLSQL导入pde文件&navicat连接Oracle_oracle导入pde文件

Oracle 23ai 对应windows版本安装配置&PLSQL导入pde文件&navicat连接Oracle_oracle导入pde文件

因为有一个pde文件需要查看里面的数据,所以这次需要配置本地oracle数据库,并且导入数据,因为还有navicat,所以就想用navicat去连接查看。

1、找到官网。

Get Started with Oracle Database 23ai | Oracle

2、下载windows版本。

3、下载后解压,运行setup.exe,运行时,会需要输入数据库密码,输入你的密码,并记住该密码。

4、安装成功后

  • 打开 任务管理器 或按 Win + R 输入 services.msc 查看服务管理器。

  • 查找以下服务名称:

    • OracleService(数据库实例服务)
    • OracleOraDB_TNSListener(监听程序服务)

    如果这些服务正在运行,说明 Oracle 数据库已安装并启动。

5、然后需要查看安装路径下,Oracle\\dbhomeFree\\network\\admin里的listener.ora和tnsnames.ora这两个配置文件。

listen.ora里面会配置tcp连接为localhost和1521的监听程序。

# listener.ora Network Configuration File: E:\\software\\Oracle\\dbhomeFree\\NETWORK\\ADMIN\\listener.ora# Generated by Oracle configuration tools.DEFAULT_SERVICE_LISTENER = FREELISTENER = (DESCRIPTION_LIST = (DESCRIPTION = (ADDRESS = (PROTOCOL = TCP)(HOST = localhost)(PORT = 1521)) (ADDRESS = (PROTOCOL = IPC)(KEY = EXTPROC1521)) ) )

如果该配置正常,那么在cmd里输入lsnrctl services,应该会呈现:

6、查看tnsnames.ora,显示是这个。注意,在free版本的oracle 23ai里,服务默认名是FREE

FREE =
  (DESCRIPTION =
    (ADDRESS = (PROTOCOL = TCP)(HOST = localhost)(PORT = 1521))
    (CONNECT_DATA =
      (SERVER = DEDICATED)
      (SERVICE_NAME = FREE)
    )
  )
 

7、那么用navicat登录时,配置如下,连接名称随意,其他如下。

还要注意,在配置的高级选项里,角色要配置为SYSDBA,这样的话就具有数据导出导入权限。

测试连接成功。

8、pde文件导入。

需要安装PLSQL Developer(navicat我没有尝试成功)。安装完成后,配置

如果连接不上,检查tnsnames.ora有无问题。

导入pde文件选择以下选项:

导入后,即可看到。注意选择创建表格

oracle修改数据方法:

1、左上角文件-新建-sql窗口,输入sql语句,点击顶部的三角形,就可以执行,执行后一定要点击三角形右边的提交事务(否则数据不会改变),多次执行不提交还会锁死数据库!

2、右击表格,选择编辑数据,编辑时先点击下表格上面的小锁按钮,打开之后,才能修改数据,修改后先点对号,确认修改,然后同样记得提交事务。

3、在表格上方的查询框里输入select *   from 你要修改的表格名称 for update;

然后就可以编辑表格数据了,一样的点击小锁按钮,然后修改,确认,提交事务。

另外还有几个报错:

1、ORA-12514: TNS:listener does not currently know of service requested in connect descriptor

这是因为navicat配置不正确,确保连接名和tnsnames.ora里的SERVICE_NAME一致,如果是free版本就是FREE。(另外在文件里添加新的连接没用,具体原因不清楚,free版本好像只能用FREE这个连接),用户名为sys或者system,这是oracle的默认用户,密码是当时安装时设置的密码。

2、ORA-12514: 无法连接到数据库。服务 test 未注册到 host 127.0.0.1 port 1521 中的监听程序。(CONNECTION_ID=0j7PYej/TwWJbd+Nl1uC5g==) 帮助:ORA-12514 - Database Error Messages

这里有几个排查点,排除刚才的两个osa的配置文件是否有问题,oracle服务是否正常运行,navicat的配置问题,均排查完后,cmd输入以下命令:

sqlplus / as sysdba

进入sql命令行后:
SHOW PARAMETER service_names;
SHOW PARAMETER local_listener;

查看配置

确保service_name设置为这个,local_listener如果不是这个,修改下:
ALTER SYSTEM SET local_listener = \'(ADDRESS=(PROTOCOL=TCP)(HOST=127.0.0.1)(PORT=1521))\';

修改后应该正常了。

3、ORA-12899: 在导入的时候报错字段的值太大

Error inserting record into TB_EMP_PERSON:ORA-12899: 列 \"SYS\".\"TB_EMP_PERSON\".\"CREATE_USER\" 的值太大 (实际值: 24, 最大值: 18)帮助:https://docs.oracle.com/error-help/db/ora-12899/

这时候需要设置该字段的值更大一些

ALTER TABLE SYS.TB_EMP_PERSON MODIFY CREATE_USER VARCHAR2(40);

接着清空表格

TRUNCATE TABLE TB_EMP_PERSON;

然后重新导入。导入的时候不要再选删除表或者新建表。

4.ORA-01654: 索引 XXX 无法通过 128 (在表空间 xxx 中) 扩展

这时候需要修改表空间大小。

ALTER DATABASE DATAFILE \'你的oracle所在路径\\ORACLE\\ORADATA\\FREE\\你的表空间对应的dbf的名字.DBF\'AUTOEXTEND ON NEXT 100M MAXSIZE 30G;

路径可以通过oracle的环境变量路径查看。

如果报错提示设置的值太大,可以调整下大小。

总结下:

1、oracle数据库配置需要有服务名称,端口一般为1521,本地配置为localhost,用户名sys或者俄式system,需要连接时选择sysdba权限。

2、oracle数据库也需要开启服务。

CG素材网