zoukankan      html  css  js  c++  java
  • Linux下oracle数据库操作

    linux安装oracle服务

    略,参考https://www.cnblogs.com/zhangboyu/p/7449203.html

    数据库服务的启动与关闭

    使用oracle用户登陆或者切换至oracle用户  su - oracle

    启动:1启动监听   2启动实例

    关闭:1关闭实例   2关闭监听

    查看监听状态:lsnrctl status

    监听启动:lsnrctl start

    监听关闭:lsnrctl stop

    操作实例时先使用管理员账号连接数据库(sqlplus / as sysdba)

    启动实例:startup

    关闭实例:shutdown

    创建用户和表空间

    1.登录linux,以oracle用户登录(如果是root用户登录的,登录后用 su - oracle命令切换成oracle用户)

    2.以sysdba方式来打开sqlplus,命令如下: sqlplus / as sysdba

      或者打开sqlplus /nolog   以管理员身份登录: conn sys/cjqmima as sysdba

    3.创建临时表空间:

    --查询临时表空间文件的绝对路径。如果需要的话,可以通过查询来写定绝对路径。一般用${ORACLE_HOME}就可以了  
    select name from v$tempfile;  
    create temporary tablespace CJQ_TEMP tempfile '${ORACLE_HOME}oradataCJQ_TEMP.bdf' size 100m reuse autoextend on next 20m maxsize unlimited;  
    View Code

    4.创建正式表空间

    --查询用户表空间文件的绝对路径:
    select name from v$datafile;
    create tablespace CJQ datafile '${ORACLE_HOME}oradataCJQ.dbf' size 100M reuse autoextend on next 40M maxsize unlimited default storage(initial 128k next 128k minextents 2 maxextents unlimited);
    View Code

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

    create user cjq identified by cjq default tablespace CJQ temporary tablespace CJQ_TEMP;

    用户赋权

    grant dba to cjq;
    grant connect,resource to cjq;
    grant select any table to cjq;
    grant delete any table to cjq;
    grant update any table to cjq;
    grant insert any table to cjq;
    #操作表空间的权限
    grant unlimited tablespace to cjq;

    查看用户所有权限

    select * from dba_sys_privs where grantee = 'CJQ'

    select * from dba_role_privs where grantee = 'CJQ'

    撤销权限

    revoke 角色|权限 from cjq

    ORA-01045: user lacks CREATE SESSION privilege解决办法

    错误原因没有赋予权限(登陆权限session)

    解决办法:grant create session,resource to 用户名;

    ORA-12145:TNS:无法解析指定的连接标识符

    检查tnsnames.ora配置

    在客户端的安装路径下,我的是D:oracleinstantclient_12_1NETWORKADMIN,创建一个文件,名为:tnsnames.ora,如果之前创建过了,则直接打开住里追加就行了。在tnsnames.ora中追加如下内容:

    SID名 =

      (DESCRIPTION =
        (ADDRESS = (PROTOCOL = TCP)(HOST = localhost)(PORT = 1522))
        (CONNECT_DATA =
          (SERVER = DEDICATED)
          (SERVICE_NAME = SID名)
      )

    注意SID名前面不能有任何其他字符,尤其是空格!

    修改用户名名称和密码

    查询需要修改的用户名的编号:select user#,name from user$;(取对应的user#,假设user#等于66)

    修改用户名称:update user$ set name='新的用户名称' where user#=66;

    系统会提示:1 row updated.说明修改成功

    输入:commit;提交所作修改。

    ALTER USER 用户名 IDENTIFIED BY 新密码;

    输入:commit;(回车)提交所作修改即可

     修改用户默认表空间

    alter user cjq default tablespace CJQ temporary tablespace CJQ_TEMP;


     修改表空间名称以及对应物理文件名称

    1.表空间名称修改

    alter tablespace CJQ_TEST rename to CJQ

    2.是修改后的表空间离线

    alter tablespace CJQ offline

    3.修改linux上表空间对应的物理文件名称(改成期望文件名称)

    先查看所有表空间对应的物理文件相对路径

    select * from dba_data_files

    linux后台进入表空间对应物理文件的上一级目录,修改文件名称

    mv cjq_test.dbf cjq.dbf

    4.指定表空间物理文件名称替换

    alter tablespace CJQ rename datafile '/u01/app/product/12.2.0/cjq_test.dbf' to  '/u01/app/product/12.2.0/cjq.dbf' 

    5.使表空间在线

    alter tablespace CJQ online





  • 相关阅读:
    Mybatis--->第五节注解完成增删改查
    Mybatis--->新增新功能报错,以前都正常,突然报错
    Mybatis--->limit分页查询
    固定套路--->log4j日志运用-Maven
    Mybatis第三节优化别名--->user
    Mybatis入门第二节--->优化
    Mybatis 报错 java.io.IOException: Could not find resource mybatis-config.xml
    学习Java的第十二天
    学习Java的第十一天
    学习Java的第十天
  • 原文地址:https://www.cnblogs.com/1234cjq/p/11243830.html
Copyright © 2011-2022 走看看