美文网首页
Oracle系列一:技术杂谈

Oracle系列一:技术杂谈

作者: 进击的杰克马 | 来源:发表于2019-01-04 22:31 被阅读0次

    搭建环境介绍

    entos7 vmware虚拟机环境
    1.更新yum
    yum update
    2.安装Docker
    yum install docker
    安装完成后查看Docker的版本:
    docker version
    查看Docker的信息:
    docker info
    3.安装完后启动Docker
    systemctl start docker.service

    如果启动报错:
    could not change group /var/run/docker.sock to docker: group docker not found
    编辑:vi /etc/fstab 文件并在未尾加入以下内容:
    none        /sys/fs/cgroup        cgroup        defaults    0    0
    然后再启动Docker
    

    开机自启动:
    chkconfig docker on
    4.下载安装Oracle-xe-11g
    docker pull wnameless/oracle-xe-11g
    下载过程可能要花费一定的时间,下载完成后运行以下命令启动一个Oracle XE容器
    docker run -d -p 1521:1521 -p 8080:8080 wnameless/oracle-xe-11g

    查看并进入Docker 容器
    [root@localhost text]# docker ps -a
    进入容器空间即可进行sqlplus登录操作
    [root@localhost text]# docker exec -it f7**7 /bin/bash
    进入容器后操作
    Oracle有两个用户sys和system默认密码都是oracle。
    这里我用sys账户登录。
    首先进入sqlplus


    image.png

    提示要用sysdba,最后用sys as sysdba 进入

    image.png

    就是第一次进入sqlplus时,会提示这个信息,大意就是密码将在7天内过期。
    ERROR: ORA-28002 : the password will expire within 7 days

    出现上述情况的原因在于Oracle11g在default profile中设定了180 days。PS:有人肯定会问这不是180天吗跟7天有什么关系,在这里不作详细解释。
    具体解决方案等会使用Intellij IDEA 连接后解决。PS:主要是好操作。

    可用IDEA工具连接

    image.png

    解决密码过期问题
    1.检查该用戶的profile是哪個,一般都是DEFAULT。

    SQL SELECT username,PROFILE FROM dba_users; 
    
    image.png

    2.查看该DEFAULT的密码有效期配置。

    SQL SELECT * FROM dba_profiles d WHERE d.profile='DEFAULT' AND resource_name='PASSWORD_LIFE_TIME';
    
    image.png

    3.將密码有效期由180天改成无期限。

    ALTER PROFILE DEFAULT LIMIT PASSWORD_LIFE_TIME UNLIMITED;    
    
    image.png

    到这里就已经搞定,但是这只是代表了后面用别的用户登录不会出现ORA-28002错误,但之前我们用sys用户登录该用户密码依然会在7天后过期,所以只需要我们在修改一次密码行了。

    alter user sys identified by 密码
    

    解锁和创建用户

    1.解锁HR用户
    首先查看用户名和用户状态

    SELECT username,account_status FROM dba_users ORDER BY username;  
    
    image.png

    2.然后解锁HR用户

    ALTER USER hr ACCOUNT UNLOCK 
    
    image.png

    3.通过修改密码来改变状态

    alter user HR identified by 密码
    

    再去查询

    SELECT username,account_status FROM dba_users ORDER BY username;
    
    image.png

    创建SCOTT用户
    首先创建用户

    CREATE USER  scott IDENTIFIED  BY tiger;
    

    然后授权

    GRANT CONNECT ,RESOURCE ,DBA TO scott;
    

    再去查询

    SELECT username,account_status FROM dba_users ORDER BY username;
    
    image.png

    启动数据库
    启动模式有3种:
    1)Startup nomount (nomount模式)启动实例不加载数据库。
    2)Startup mount (mount模式)启动实例加载数据库但不打开数据库
    3)Startup (open 模式)启动实例加载并打开数据库,就是我们上面所用的命令
    Nomount模式中oracle仅为实例创建各种内存结构和服务进程,不会打开任何数据库文件,


    image.png

    关闭数据库

    1)正常关闭 shutdown
    2 ) 立即关闭 shutdown immediate
    3 ) 关闭事务 shutdown transactional
    4 ) 强行关闭 shutdown abort,当然谁都不想碰到这种情况。

    image.png

    相关文章

      网友评论

          本文标题:Oracle系列一:技术杂谈

          本文链接:https://www.haomeiwen.com/subject/nwhlrqtx.html