因为有一个pde文件需要查看里面的数据,所以这次需要配置本地oracle数据库,并且导入数据,因为还有navicat,所以就想用navicat去连接查看。
1、找到官网。
Get Started with Oracle Database 23ai | Oracle
2、下载windows版本。
3、下载后解压,运行setup.exe,运行时,会需要输入数据库密码,输入你的密码,并记住该密码。
4、安装成功后
-
打开
任务管理器
或按Win + R
输入services.msc
查看服务管理器。 -
查找以下服务名称:
OracleService<SID>
(数据库实例服务)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 = FREE
LISTENER =
(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文件选择以下选项:
导入后,即可看到。注意选择创建表格。
另外还有几个报错:
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))';
修改后应该正常了。
总结下:
1、oracle数据库配置需要有服务名称,端口一般为1521,本地配置为localhost,用户名sys或者俄式system,需要连接时选择sysdba权限。
2、oracle数据库也需要开启服务。
3、