This commit is contained in:
wenyongda 2025-08-03 00:03:41 +08:00
parent 27a5047559
commit cd5fa0ed4d
2 changed files with 139 additions and 1 deletions

View File

@ -323,3 +323,73 @@ services:
``` ```
## Oracle-12C
docker-compose.yaml
```yaml
services:
server:
image: truevoly/oracle-12c
container_name: oracle-12c
volumes:
- /etc/localtime:/etc/localtime:ro
- /etc/timezone:/etc/timezone:ro
- /var/oracle:/u01/app/oracle
ports:
- "2122:22"
- "1521:1521"
- "9090:8080"
```
首先创建挂载目录,并赋予权限
```bash
mkdir -p /var/oracle && chmod 777 /var/oracle
```
启动
```bash
docker compose up -d
```
连接Oracle数据库
```yml
hostname: localhost #主机名
port: 1521 #端口号
sid: xe
service name: xe #服务名
username: system #用户名
password: oracle #密码
```
```bash
sqlplus system/oracle@localhost:1521/xe
sqlplus /nolog
conn sys/oracle@localhost:1521/xe as sysdba
```
使用 `sqlplus / as sysdba`登录
```bash
su - oracle
export ORACLE_HOME=/u01/app/oracle/product/12.1.0/xe
export ORACLE_SID=xe
export PATH=$ORACLE_HOME/bin:$PATH
sqlplus / as sysdba
```
环境变量永久生效
```bash
echo 'export ORACLE_HOME=/u01/app/oracle/product/12.1.0/xe' >> ~/.bashrc
echo 'export ORACLE_SID=xe' >> ~/.bashrc
echo 'export PATH=$ORACLE_HOME/bin:$PATH' >> ~/.bashrc
source ~/.bashrc
```

View File

@ -286,6 +286,74 @@ export NLS_LANG="AMERICAN_AMERICA.AL32UTF8"
### 登录 ### 登录
#### 使用操作系统认证
适用于以管理员身份登录数据库:
```bash
sqlplus / as sysdba
```
- */* 表示操作系统认证。
- *as sysdba* 用于以管理员权限登录。
#### 使用用户名和密码登录
通过提供用户名、密码和数据库连接信息:
```bash
sqlplus username/password@hostname:port/SID
```
**示例:**
```bash
sqlplus scott/tiger@192.168.1.100:1521/orcl
```
- *hostname* 是数据库主机名或 IP 地址。
- *port* 是监听端口,默认是 *1521*
- *SID* 是数据库实例名。
如果已配置 TNS则可以简化为
```bash
sqlplus username/password@TNSNAME
```
#### 无日志模式登录
先启动 SQL*Plus再手动连接数据库
```bash
sqlplus /nolog
```
然后使用以下命令连接:
```bash
conn username/password@hostname:port/SID
```
**优点:** 避免直接暴露用户名和密码。
#### 直接交互式登录
直接输入 *sqlplus*,按提示输入用户名和密码:
```bash
sqlplus
```
**示例:**
```
请输入用户名: scott
输入口令: tiger
```
```shell ```shell
# 以oracle账号登录 # 以oracle账号登录
su oracle su oracle
@ -304,7 +372,7 @@ alter user sys identified by 123456;
## CDB 和 PDB ## CDB 和 PDB
![24221659-693602e2df62491e8cad466d5b865147](D:\source\repos\XiaodaBlogSource\source\_posts\Oracle\24221659-693602e2df62491e8cad466d5b865147.gif) ![24221659-693602e2df62491e8cad466d5b865147](Oracle\24221659-693602e2df62491e8cad466d5b865147.gif)
- CDB :容器数据库,名称为 CDB$ROOT。其作用就是系统数据库sys账号等以及Common User(公共用户)都保存在里面。同时它可以管理PDB数据库 - CDB :容器数据库,名称为 CDB$ROOT。其作用就是系统数据库sys账号等以及Common User(公共用户)都保存在里面。同时它可以管理PDB数据库