oracle 11g 数据库常用操作实例总结

来自:网络
时间:2023-07-24
阅读:

一、创建用户库

1.进入Oracle数据库

命令:su - oracle

命令:sqlplus / as sysdba

【进入Oracle数据库后可以操作的常用命令】:

关闭数据库:shutdown immediate

启动数据库:startup

启动监听:lsnrctl  start

停止监听:lsnrctl stop

2.创建表空间

SQL:create tablespace MyDataBase datafile '/u01/app/oracle/oradata/MyDataBase.dbf' size 300m autoextend on;

【说明】:

  • create tablespace:创建表空间关键字
  • MyDataBase:数据库名称(表名称)
  • datafile '/u01/app/oracle/oradata/MyDataBase.dbf':指定数据库文件目录
  • size 300m:设置表空间初始大小
  • autoextend on:参数表示当表空间大小不够用时会自动扩容,所有建议加上autoextend on参数。

3.创建用户并赋予表空间权限

create user username identified by "passwd" default tablespace MyDataBase;

【说明】:

  • create user:oracle创建用户关键词
  • username:用户名
  • identified by:指定密码关键词
  • passwd:自定义密码 
  • default tablespace:数据库映射关键词
  • MyDataBase:映射的数据库名称

4.授予用户管理权限

grant connect,resource,dba to username;
grant create session to username;

【说明】:

  • grant connect,resource,dba to:将连接数据权限,授权给指定用户
  • grant create session to :将创建会话权限,授权给指定用户
  • username:用户名

5.想让B用户对A用户库进行操作,那就授权给B用户(不强制执行)

grant all privileges to Buser;

【说明】:

  • grant :授权关键字
  • all:全部权限
  • privileges to:指定授权人关键字
  • Buser:授权人用户名

6.退出数据库

命令:exit;

二、oracle(11g) 数据库设置ID自增功能(一共两个步骤):

1.给要实现ID自增的数据表创建一个序列

SQL> CREATE SEQUENCE "序列名称"

increment by 1    ----- 每次递增:1  

start with 1       ----- 从哪开始:1 

nomaxvalue      ----- 递增最大值:没有 

minvalue 1       ----- 递增最小值:1  

NOCYCLE;      ----- 不循环  

2.给要实现ID自增的数据表创建一个触发器

SQL> CREATE OR REPLACE TRIGGER "触发器名称"

BEFORE INSERT ON "要实现ID自增的数据表名称"

FOR EACH ROW  

BEGIN  

SELECT "之前创建的序列名称".nextval INTO :new."要实现ID自增数据表中的ID字段名"  FROM dual;  

END;  

这2个SQL执行完成后,您的数据表就可以实现ID自增的效果了。

三、遇到oracle(11g) 数据表被上锁,无法正常更新表数据怎么处理?

1.用sql命令行查询目前所有被锁的表:

select b.owner TABLEOWNER,b.object_name TABLENAME,c.OSUSER LOCKBY,c.USERNAME LOGINID, c.sid SID, c.SERIAL# SERIAL from v$locked_object a,dba_objects b,v$session c where b.object_id = a.object_id AND a.SESSION_ID =c.sid;

2.通过sql命令解锁指定进程:

alter system kill session 'SID,SERIAL' immediate; 

解锁被锁数据表后,数据表可恢复正常更新。

四、遇到oracle(11g) 表中数据查询后发现中文字符乱码怎么转义?

<?php
//变量字符类型检测;
$fileType = mb_detect_encoding($appPath , array('UTF-8','GBK','LATIN1','BIG5')); 
//变量强行转换utf-8
$appPath = mb_convert_encoding($appPath ,'utf-8' , $fileType);
?>

附:oracle 11g相关软件下载:

 oracle11g数据库管理工具 64位:https://www.jb51.net/softs/443979.html

oracle官网 https://www.oracle.com/index.html

本地下载:https://www.jb51.net/softs/443977.html

返回顶部
顶部