补充一些信息:oracle数据库(docker部署) SID:helowin 用户名/密码:system/oracle 端口:1521
时间: 2025-08-05 08:21:02 AIGC 浏览: 22
<think>我们使用Oracle11g镜像(来自阿里云镜像仓库)进行部署,不使用DockerCompose文件,而是通过dockerrun命令逐步实现。要求:SID为helowin,用户名为system,密码为oracle,端口映射为主机的1521端口(容器内部为1521)。步骤:1.拉取镜像2.运行容器,设置端口映射和容器名称3.进入容器进行配置(修改用户密码、配置远程连接等)4.测试连接注意:该镜像默认的SID为helowin,默认的sys和system密码为helowin,但我们需要将system密码改为oracle,并允许远程连接。参考引用[2]和[3]中使用了该镜像,但引用[2]使用的是docker-compose,引用[3]是直接运行。我们将采用直接运行并进入容器修改配置的方式。具体步骤:</think>
### 分步部署Oracle 11g容器(不使用Docker Compose)以下为通过纯命令行部署Oracle 11g容器的完整流程,满足SID=helowin、用户名=system、密码=oracle、端口=1521的要求:
#### **1. 拉取Oracle 11g镜像**
```bash
docker pull registry.cn-hangzhou.aliyuncs.com/helowin/oracle_11g
```
#### **2. 启动容器**
```bash
docker run -d \
--name oracle11g \
-p 1521:1521 \
--restart always \
registry.cn-hangzhou.aliyuncs.com/helowin/oracle_11g
```
> *参数说明*
> `-p 1521:1521`:将容器1521端口映射到宿主机[^3]
> `--restart always`:容器崩溃时自动重启
#### **3. 进入容器配置**
```bash
docker exec -it oracle11g bash
```
#### **4. 切换Oracle用户**
```bash
su - oracle
```
#### **5. 连接数据库**
```bash
sqlplus /nolog
connect /as sysdba
```
#### **6. 修改用户密码**
```sql
ALTER USER system IDENTIFIED BY oracle; -- 修改system密码
ALTER USER sys IDENTIFIED BY oracle; -- 修改sys密码
```
#### **7. 配置连接参数**
```sql
ALTER SYSTEM SET processes=1000 scope=spfile; -- 增加最大连接数
ALTER PROFILE DEFAULT LIMIT PASSWORD_LIFE_TIME UNLIMITED; -- 密码永不过期
EXIT; -- 退出SQLPlus
```
#### **8. 重启数据库服务**
```bash
lsnrctl stop -- 停止监听
lsnrctl start -- 启动监听
sqlplus / as sysdba <<EOF
SHUTDOWN IMMEDIATE;
STARTUP;
EXIT;
EOF
```
#### **9. 验证连接配置**
创建测试连接脚本 `test.sql`:
```sql
CONNECT system/oracle@helowin
SELECT '连接成功' AS STATUS FROM dual;
EXIT;
```
运行验证:
```bash
sqlplus -S /nolog @test.sql
```
预期输出:
```
STATUS
---------
连接成功
```
### 关键配置说明
1. **持久化存储**
容器数据默认存储于`/var/lib/docker/overlay2/[容器ID]/merged/opt/oracle`[^1],需定期备份
2. **远程连接字符串**
```markdown
用户名: system
密码: oracle
主机: [宿主机IP]
端口: 1521
SID: helowin
```
### 性能优化建议
```math
\text{内存分配}: \quad \texttt{docker update oracle11g --memory 4G --memory-swap 6G}
```
```math
\text{CPU分配}: \quad \texttt{docker update oracle11g --cpus 2}
```
阅读全文
相关推荐


















