Linux 安装oracle 数据库

目录

基础docker安装oracle

1.拉取镜像

2.查看镜像

3.创建容器

4.启动容器

5.镜像配置

5.1 进入oracle的命令环境中。

5.2 切换到oracle数据库的root 用户下

5.3编辑profile文件配置ORACLE环境变量

5.4创建软连接

5.5切换到oracle 用户

 5.6登录sqlplus

表空间及用户创建

1、创建临时表空间

2、创建表空间:

3、创建用户和密码,指定上边创建的临时表空间和表空间

4、赋予权限

5.删除表空间:


基础docker安装oracle

1.拉取镜像

docker pull registry.cn-hangzhou.aliyuncs.com/helowin/oracle_11g

2.查看镜像

docker images

Linux 安装oracle 数据库_第1张图片

3.创建容器

docker run -d -p 1521:1521 --name oracle11g registry.cn-hangzhou.aliyuncs.com/helowin/oracle_11g

如果空间不足可以清理数据:
删除所有dangling数据卷(即无用的Volume):

docker volume rm $(docker volume ls -qf dangling=true)

4.启动容器

docker start oracle11g

5.镜像配置

5.1 进入oracle的命令环境中。


      docker exec -it oracle11g bash

5.2 切换到oracle数据库的root 用户下


      su root
      密码:helowin

5.3编辑profile文件配置ORACLE环境变量


export ORACLE_HOME=/home/oracle/app/oracle/product/11.2.0/dbhome_2
export ORACLE_SID=helowin
export PATH=$ORACLE_HOME/bin:$PATH

5.4创建软连接


ln -s $ORACLE_HOME/bin/sqlplus /usr/bin

5.5切换到oracle 用户


这里还要说一下,一定要写中间的内条 - 必须要,否则软连接无效

 

 5.6登录sqlplus

–修改sys、system用户密码–创建用户

Linux 安装oracle 数据库_第2张图片

 修改密码:
alter user system identified by system;
alter user sys identified by sys;
ALTER PROFILE DEFAULT LIMIT PASSWORD_LIFE_TIME UNLIMITED;
创建用户
create user test identified by test;
并给用户赋予权限
grant connect,resource,dba to test;
Linux 安装oracle 数据库_第3张图片

过程中出现的报错需要输入以下内容:
输入:alter database mount;
输入 :alter database open;

 到此安装结束,windows系统安装PLSQL,使用PLSQL连接既可

表空间及用户创建

1、创建临时表空间

--查询临时表空间文件的绝对路径。
select name from v$tempfile;  

--绝对路径使用这种方式
create temporary tablespace NACOS_TEMP tempfile '/home/oracle/app/oracle/oradata/helowin/NACOS_TEMP.bdf' size 100m reuse autoextend on next 20m maxsize unlimited;  

--相对路径一般用${ORACLE_HOME}
create temporary tablespace NACOS_TEMPtempfile '${ORACLE_HOME}\oradata\NACOS_TEMP.bdf' size 100m reuse autoextend on next 20m maxsize unlimited;

2、创建表空间:

--查询用户表空间文件的绝对路径:
select name from v$datafile;
create tablespace NACOSDB datafile '/home/oracle/app/oracle/oradata/helowin/NACOSDB.dbf' size 100M reuse autoextend on next 40M maxsize unlimited default storage(initial 128k next 128k minextents 2 maxextents unlimited);


3、创建用户和密码,指定上边创建的临时表空间和表空间

create user nacos identified by nacos default tablespace NACOSDB temporary tablespace NACOS_TEMP;

4、赋予权限

grant dba to nacos;
grant connect,resource to nacos;
grant select any table to nacos;
grant delete any table to nacos;
grant update any table to nacos;
grant insert any table to nacos;

5.删除表空间:

1、查看用户权限

--查看用户要具备drop tablespace的权限,如果没有,先用更高级的用户(如sys)给予授权
select a2.username,a1.privilege from dba_sys_privs a1 , user_role_privs a2
where a1.privilege = 'DROP TABLESPACE'
and a1.grantee =a2.granted_role


2、删除临时表空间

--查看临时表空间文件
select name from v$tempfile;
--查看用户和表空间的关系
select USERNAME,TEMPORARY_TABLESPACE from DBA_USERS;
--如果有用户的默认临时表空间是NACOS_TEMP的话,建议进行更改
alter user xxx temporary tablespace tempdefault;
---设置tempdefault为默认临时表空间
alter database default temporary tablespace tempdefault;
--删除表空间NACOS_TEMP及其包含数据对象以及数据文件
drop tablespace NACOS_TEMPincluding contents and datafiles; 


3.删除用户表空间

--查看表空间文件
select name from v$datafile;
--停止表空间的在线使用
alter tablespace 表空间名称 offline;
--删除表空间NACOS_TEMP及其包含数据对象以及数据文件
drop tablespace NACOS_TEMP including contents and datafiles; 

4.Oracle用户权限查询相关操作:

--查看所有的用户
select * from all_users;
--查看当前用户信息
select * from user_users;
--查看当前用户的角色
select * from user_role_privs;
--查看当前用户的权限
select * from user_sys_privs;
--查看当前用户的表可操作权限
select * from user_tab_privs;

--查看某一个表的约束,注意表名要 大写
select * from user_constraints where table_name='TBL_XXX';
--查看某一个表的所有索引,注意表名要 大写
select index_name,index_type,status,blevel from user_indexes where table_name = 'TBL_XXX';
--查看索引的构成,注意表名要 大写
select table_name,index_name,column_name, column_position FROM user_ind_columns WHERE table_name='TBL_XXX';

--系统数据字典 DBA_TABLESPACES 中记录了关于表空间的详细信息
select * from sys.dba_tablespaces;

--查看用户序列
select * from user_sequences;
--查看数据库序列
select * from dba_sequences;

你可能感兴趣的:(ORACLE,数据库,linux,oracle)