oracle 11g 数据库常用操作实例总结
作者:北京_小杰
一、创建用户库
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