plsql oracle

本文详细描述了如何在Ubuntu23.04系统上使用Docker安装Oracle11g,并在Windows10环境下配置容器,包括设置环境变量、修改字符集、PLSQL操作以及处理SQL文件导入问题,以解决中文乱码问题。
摘要由CSDN通过智能技术生成

目录

背景

oracle安装及设置

启动容器

配置容器

修改字符集(可选)

sql文件导入数据

涉及语句

PLSQL

安装

在windows上设置环境变量

plsql上用sqlplus


背景

用于开发环境

oracle 11g(11.2.0)所在操作系统:ubuntu 23.04,用的是docker方式安装

plsql所在操作系统为windows10

oracle安装及设置

启动容器

#用这个国内的image
docker pull registry.cn-hangzhou.aliyuncs.com/helowin/oracle_11g

#启动image,ORACLE_SID不用改,作测试而已
# ORACLE_HOME是docker容器内的路径不用改,不是宿主机的路径
docker run -d -p 1521:1521 -p 8089:8080 \
--name oracle_11g \
-e ORACLE_HOME=/home/oracle/app/oracle/product/11.2.0/dbhome_2 \
-e ORACLE_SID=helowin \
registry.cn-hangzhou.aliyuncs.com/helowin/oracle_11g




配置容器

# 1. 切换至root用户(默认是oracle用户),密码为helowin
su root

# 2. 创建软链接,ORACLE_HOME就是在启动容器设置的
ln -s $ORACLE_HOME/bin/sqlplus /usr/bin

# 3.切换回oracle用户
su oracle
# 3.1 在/etc/profile中设置环境变量,否则在sqlplus中显示中文乱码
export NLS_LANG=AMERICAN_AMERICA.AL32UTF8


# 4. 登录sql plus
sqlplus /nolog
conn /as sysdba
## 4.1 修改system用户密码为system
alter user system identified by system;
## 4.2 修改sys用户密码为system
alter user sys identified by system;
## 4.3 新增一个测试用户(用户名:test,密码:test123);
create user test identified by test123;
## 4.4 将dba权限给内部管理员账号和密码
grant connect,resource,dba to test;
## 4.5 修改密码策略规则为:密码永不过期
ALTER PROFILE DEFAULT LIMIT PASSWORD_LIFE_TIME UNLIMITED;
## 4.6 修改数据库最大连接数;
alter system set processes=1000 scope=spfile;
## 4.7 最后重启数据库;
shutdown immediate;
startup;

# 5.退出
exit

修改字符集(可选)

SQL>conn / as sysdba
若此时数据库服务器已启动,则先执行 SHUTDOWN IMMEDIATE 命令关闭数据库服务器,
然后执行以下命令:
SQL>shutdown immediate
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;


# 使用INTERNAL_USE可以跳过超集的检查,但字符集变成AMERICAN_AMERICA.ZHS16GBK?
SQL>ALTER DATABASE CHARACTER SET INTERNAL_USE ZHS16GBK;
# !!也有人改成utf8的字符集
SQL>ALTER DATABASE CHARACTER SET INTERNAL_USE utf8


SQL>SHUTDOWN IMMEDIATE
SQL>STARTUP

sql文件导入数据

由于这个sql文件有些方言,navicat导入报错,应该是用sqlplus导出来的,用sqlpus来导入

# 将sql文件传到docker容器中
dokcer cp hfpc.sql  14:/home/oracle/

#静默登录,这具hfpc和sql文件中的保持一致
sqlplus -S hfpc/test123;


# docker容器中的全路径
@/home/oracle/hfpc.sql

涉及语句

在解决乱码过程,以表注释作为一个观测点,如果表的注释没有乱码,说明其他的如字段的内容为中文也不会乱码

---查看表的注释
select * from user_tab_comments where Table_Name='DATAELEMENT';


--添加表注释
COMMENT ON TABLE DATAELEMENT IS '学生信息表';

COMMENT ON TABLE DATAELEMENT IS 'godman';

PLSQL

安装

主要是将instantclient(适用于oracle11g)解压到plsql的安装目录,再加个NETWORK/ADMIN下的tnsnames.ora文件

安装完成,如下:

在windows上设置环境变量

必须设置环境变量,不然中文乱码

plsql上用sqlplus

在comman window下

#在command window的界面执行,必须用 @ 开头
@{windows下sql的全路径} 

  • 5
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
PL/SQL是一种过程化编程语言,用于在Oracle数据库中进行存储过程和函数的开发。它是Oracle数据库的核心组成部分,主要用于管理和处理数据库中的数据。 Oracle是一个强大的关系型数据库管理系统,能够处理大量的数据和复杂的查询操作。它提供了对PL/SQL的完全支持,可以使用PL/SQL来编写触发器、存储过程和函数等数据库对象。 Excel是一种电子表格软件,常用于数据分析和处理。它提供了丰富的功能和工具,如数据排序、筛选和图表生成等。Excel可以与Oracle数据库进行集成,通过ODBC或OLE DB连接来导入和导出数据。 在使用PL/SQL和Oracle时,可以通过PL/SQL代码来编写存储过程和函数,以实现数据库的管理和操作。这些代码可以直接运行在Oracle数据库中,利用数据库的强大功能来处理数据。同时,也可以通过PL/SQL的存储过程和函数,将数据从Oracle数据库导出到Excel中进行进一步的分析和处理。 通过PL/SQL和Oracle,可以实现数据的高效处理和管理。PL/SQL提供了丰富的控制结构和内置函数,可以实现复杂的业务逻辑和数据操作。而Oracle数据库提供了高效的存储和查询机制,能够处理大量的数据和高并发的访问请求。通过将数据导入Excel,可以进行更加灵活和直观的数据分析和展示。 综上所述,PL/SQL、Oracle和Excel是三个重要的工具和技术,可以共同用于处理、管理和分析数据。通过它们的配合使用,能够实现更高效和准确的数据处理和分析。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

doodoocoder

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值