一、服务器安装docker
1.1、服务器安装docker使用yum
yum install docker
1.2、查看docker版本(是否安装成功)
docker version
安装成功
1.3、使用docker获取阿里云的oracle镜像
docker pull registry.cn-hangzhou.aliyuncs.com/helowin/oracle_11g
1.4、查看获取的镜像
docker images
1.5、使用docker安装oracle(这里介绍一种方式)
docker run -d -it -p 1521:1521 \
--name oracle11g \
--restart=always registry.cn-hangzhou.aliyuncs.com/helowin/oracle_11g
1.6、查看容器是否在运行状态(up表示运行)
docker ps
1.7、进入oracle容器
docker exec -it 【容器id或名称】bash
1.8、切换到root账户(默认是oracle账户)
su root
输入密码: helowin(默认密码)
1.9、编辑环境变量
vi /etc/profile 添加以下内容
export ORACLE_HOME=/home/oracle/app/oracle/product/11.2.0/dbhome_2
export ORACLE_SID=helowin
export PATH=$ORACLE_HOME/bin:$PATH
helowin实例名称
1.10、切换到oracle用户,登录sqlplus
su - oracle
sqlplus /nolog
conn /as sysdba
1.11、修改sys、system用户密码
alter user system identified by YOUR_PASSWORD;
alter user sys identified by YOUR_PASSWORD;
alter profile default limit PASSWORD_LIFE_TIME UNLIMITED;
1.12、创建用户(用一个具有dba权限的用户登录(sysdba))
create user 用户名 identified by 密码;
grant connect,resource,dba to 用户名;
13、使用navicat连接oracle数据库
二、导入dmp文件
2.1、先将xxx.dmp导入到服务器中
先进入文件夹使用 rz命令
2.2、使用docker cp命令导入到运行的容器中
docker cp 【主机的目录】【容器的ip】:【容器的目录】
2.3、进入到容器的/home/oracle目录中
2.4、导入数据到容器
imp XXX/XXX@123.123.123.123/helowin file=/home/oracle/XXX.dmp fromuser=XXX touser=XXX
导入.dmp报错权限不足问题
chmod 777 /home/oracle/XXX.dmp
三、修改oracle实例名
3.1、停止实例
3.2、修改环境变量ORACLE_SID
3.3、修改口令文件和参数文件的名称
3.4、修改完成后启动实例,查看实例名称即可
3.5、使用命令修改服务实例名称
查看当前服务名
show parameter service_name
修改服务名
alter system set service_names=‘服务名称’ scope=both;
3.6、Oracle修改instance name
1、将 instance name 由 prodcdb 改为 paas*,需要关闭数据库修改*
SQL> select instance from v$thread;
INSTANCE
--------------------------------------------------------------------------------
prodcdb
SQL> show parameter name
NAME TYPE VALUE
------------------------------------ ----------- ------------------------------
cell_offloadgroup_name string
db_file_name_convert string
db_name string prodcdb
db_unique_name string prodcdb
global_names boolean FALSE
instance_name string prodcdb <-------------
lock_name_space string
log_file_name_convert string
pdb_file_name_convert string
processor_group_name string
service_names string prodcdb
2、关闭数据库
shutdown immediate
3、改ORACLE_SID环境变量
vi .bash_profile
# 修改 ORACLE_SID=paas
source .bash_profile
echo $ORACLE_SID
4、改dbs目录下文件名
cd $ORACLE_HOME/dbs
#备份旧文件
mkdir bak
cp * bak/
#批量修改文件名,所有prodcdb改为paas,注意大小写
rename "prodcdb" "paas" *
rename "PRODCDB" "PAAS" *
#检查确认修改无误
[oracle@PAAS-DB dbs]$ ls
bak hc_paas.dat init.ora lkPAAS orapwpaas spfilepaas.ora
5、 启动数据库再次检查
SQL> startup
SQL> select instance from v$thread;
INSTANCE
--------------------------------------------------------------------------------
paas
SQL> show parameter name
NAME TYPE VALUE
------------------------------------ ----------- ------------------------------
cell_offloadgroup_name string
db_file_name_convert string
db_name string prodcdb
db_unique_name string prodcdb
global_names boolean FALSE
instance_name string paas <--------------
lock_name_space string
log_file_name_convert string
pdb_file_name_convert string
processor_group_name string
service_names string prodcdb