docker에서는 oracle을 설치할 수 있습니다. 설치 방법: 1. 공식 Oracle 이미지를 가져오고 "docker Images"를 사용하여 이미지를 봅니다. 2. 컨테이너를 시작한 후 "docker exec -it oracle11g bash"를 사용하여 컨테이너에 들어가고 환경 변수를 편집합니다. "sqlplus /nolog" oracle 명령줄을 입력하면 됩니다.
이 튜토리얼의 운영 환경: linux7.3 시스템, docker 버전 19.03, Dell G3 컴퓨터.
docker를 사용하여 oracle을 배포할 수 있으며 많은 이점이 있습니다. 설치 시간을 단축할 수 있을 뿐만 아니라 신속한 배포도 가능합니다.
Docker를 배포에 사용하면 다음과 같은 이점이 있습니다.
(1) 구성을 단순화합니다. 한 번 빌드하고 패키징한 후 테스트 환경, 프로덕션 환경 또는 사전 프로덕션 환경으로 사용할 수 있어 비용을 절감할 수 있습니다. 많은 테스트 링크. 예를 들어, 하나의 서버는 기다리지 않고 여러 버전을 테스트할 수 있습니다.
(2)는 개발자가 환경을 배포하는 어려움을 해결할 수 있습니다. 예를 들어 방금 도착한 새로운 동료가 환경을 설치하는 데 반나절이 걸릴 수 있지만 이미 구성된 컨테이너를 직접 실행하는 것이 훨씬 편리합니다. .
(3) 애플리케이션 격리 및 서버 통합. 하나의 서버는 Docker를 사용하여 여러 서비스 세트를 배포할 수 있으며 격리도가 매우 높습니다(가상 머신 제외).
(4) 개발의 경우 배포 후 어디에서나 실행하여 개발 및 디버깅을 용이하게 할 수 있습니다.
(5) 가상 머신에 비해 리소스 활용도를 줄일 수 있으며, 격리로 인한 손실은 다른 이점으로 보상되는 것 이상입니다.
(6) 운영 및 유지 관리를 위해 용량을 빠르게 확장하고 원래 사용률을 줄일 수 있습니다.
(7) 각 소규모 서비스는 클러스터링될 수 있으며 상대적으로 적은 리소스를 사용하며 하나의 서버에서 시작할 수 있습니다. 다른 제품보다 서버에 I/O가 더 많습니다.
(8) 여러 플랫폼에 배포 가능
예는 다음과 같습니다.
Linux에 oracle을 설치하는 것은 매우 번거롭고 모든 사람이 다양한 함정에 직면할 것이라고 믿습니다. 한 번 설치하려면 이미지를 직접 내보내서 이식하고 앞으로 다양한 플랫폼에서 사용하는 것도 편리하기 때문에 docker로 설치하기로 선택
DockerHub에서 Oracle을 검색하여 Oracle을 찾습니다. 공식 이미지, 주소 : https://hub.docker.com/
여기서 docker pull oraclelinux
명령을 사용하면 최신 이미지가 없기 때문에 이미지를 가져올 수 없습니다. 꼬리표. 따라서 버전 번호는 수동으로만 지정할 수 있습니다. docker pull oraclelinux
命令,是拉取不到镜像的,因为它没有 latest 标签。因此,只能手动指定它的版本号
例如 docker pull oraclelinux
使用 官方镜像 下载速度非常慢,因此,我们可以使用阿里镜像 docker pull registry.cn-hangzhou.aliyuncs.com/helowin/oracle_11g
在 dockerHub 上可以搜到 (第二个),可以参考这个配置
使用 docker images
查看镜像,确认已经下载完成
docker run -d -it -p 1521:1521 --name oracle11g --restart=always registry.cn-hangzhou.aliyuncs.com/helowin/oracle_11g
docker run -d -it -p 1521:1521 --name oracle --restart=always --mount source=oracle_vol,target=/home/oracle/app/oracle/oradata registry.cn-hangzhou.aliyuncs.com/helowin/oracle_11g
查看启动的线程 netstat -tulnp
查看运行状态 docker ps -a
예: docker pull oraclelinux
공식 이미지를 사용하여 다운로드하는 것은 매우 느리기 때문에 Ali 이미지 docker pull Registry.cn-hangzhou.aliyuncs.com/helowin을 사용할 수 있습니다. /oracle_11g
docker 이미지
를 사용하여 이미지를 보고 다운로드가 완료되었는지 확인하세요🎜🎜🎜컨테이너 시작🎜docker run -d - it -p 1521:1521 --name oracle11g --restart=always Registry.cn-hangzhou.aliyuncs.com/helowin/oracle_11g
docker run - d -it -p 1521:1521 --name oracle --restart=always --mount source=oracle_vol,target=/home/oracle/app/oracle/oradata Registry.cn-hangzhou.aliyuncs.com/helowin/oracle_11g
netstat -tulnp
🎜🎜 실행 상태 확인docker ps -a
🎜🎜🎜컨테이너 docker exec -it oracle11g bash
입력docker exec -it oracle11g bash
切换到 root 用户 su root
,密码为 helowin
docker容器配置环境变量不是在 /etc/profile
中,容器启动不会走这个文件。
可以将环境变量的配置设置在 /home/oracle/.bashrc
文件下,这样可以省略掉软连接的创建 ln -s $ORACLE_HOME/bin/sqlplus /usr/bin
编辑环境变量 vi /home/oracle/.bashrc
,在文件最后加入以下命令
export ORACLE_HOME=/home/oracle/app/oracle/product/11.2.0/dbhome_2 export ORACLE_SID=helowin export PATH=$ORACLE_HOME/bin:$PATH
wq
保存并退出。然后使用 source /home/oracle/.bashrc
刷新环境变量,并使之生效
使用 sqlplus /nolog
进入oracle命令行
使用 “操作系统认证” 的方式,登录oracle conn / as sysdba
如果直接使用默认的 root 用户登录,会报登录失败。这里必须使用 su - oracle
命令,将当前用户切换到 oracle,然后在执行登录命令
ORA-12514, TNS:listener does not currently know of service requested in connect descriptor
这个错误是由于数据库名用错了
su - oracle sqlplus /nolog conn / as sysdba select instance_name from v$instance; show user;
使用上述命令查出来的,就是所有可用的 “数据库名” 和 “用户名”
阿里的这个镜像,所有的密码都是统一的 helowin
su root
로 전환하고 비밀번호는 helowin
도커 컨테이너 구성 환경 변수가 /etc에 없습니다. /profile code>, 이 파일은 컨테이너가 시작될 때 가져오지 않습니다.
/home/oracle/.bashrc
파일에서 환경 변수 구성을 설정할 수 있습니다. 그러면 소프트 링크 생성을 생략할 수 있습니다. ln -s $ORACLE_HOME/bin/sqlplus /usr/bin
환경 변수 편집 vi /home/oracle/.bashrc
, 파일
# 打开防火墙 systemctl start firewalld # 查询端口状态 firewall-cmd --query-port=1521/tcp # 永久性开放端口 firewall-cmd --permanent --zone=public --add-port=1521/tcp # 重启防火墙 firewall-cmd --reload firewall-cmd --query-port=1521/tcp
wq
끝에 다음 명령을 추가하고 저장하고 종료합니다. 그런 다음 source /home/oracle/.bashrc
를 사용하여 환경 변수를 새로 고치고 적용하세요oracle 명령줄을 입력하세요
sqlplus /nolog
를 사용하여 oracle을 입력하세요. 명령줄
conn / as sysdba
에 로그인하세요. 기본 루트 사용자를 사용하여 직접 로그인하면 로그인 실패가 보고됩니다. 여기서는 su - oracle
명령을 사용하여 현재 사용자를 oracle로 전환한 후 로그인 명령을 실행해야 합니다
헬로윈
으로 통일되어 있습니다.🎜🎜시스템 사용자는 DBA 권한은 있지만 SYSDBA 권한은 없습니다. 이 계정은 일반적으로 데이터베이스를 관리하는 데 사용됩니다. 🎜 sys 사용자는 "SYSDBA" 및 "SYSOPER" 권한을 가진 오라클 데이터베이스에서 가장 높은 권한을 가진 계정입니다. 일반적으로 외부에서 로그인이 허용되지 않습니다. 🎜🎜🎜🎜🎜방화벽을 구성하세요. 🎜🎜방화벽은 반드시 포트 1521을 허용하고 외부 데이터베이스 관리 도구를 연결할 수 있습니다. 🎜rrreee🎜🎜🎜🎜 권장 학습: "🎜docker 비디오 튜토리얼🎜"🎜위 내용은 도커에서 오라클을 설치할 수 있나요?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!