一、开启服务
1.Oracle 11g R2 7个服务简介:
Oracle ORCL VSS Writer Service:Oracle卷映射拷贝写入服务,(非必须启动)
OracleDBConsoleorcl:Oracle数据库控制台服务,(非必须启动)
OracleJobSchedulerORCL:Oracle作业调度(定时器)服务,(非必须启动)
OracleMTSRecoveryService:服务端控制(非必须启动)
OracleOraDb11g_home1ClrAgent:Oracle数据库.NET扩展服务的一部分。 (非必须启动)
OracleOraDb11g_home1TNSListener:监听器服务,远程访问的时候需要, (必须启动)
OracleServiceORCL:数据库服务(数据库实例), (必须启动)
2.因个人安装环境不同,这三个服务的命名可能会不一样:
OracleOraDb11g_home1ClrAgent
OracleOraDb11g_home1TNSListener
OracleServiceORCL
3.可以看到 7 个服务中有四个服务的启动方式是自动运行的(绿线标注的)。把这几个服务的启动方式改成手动。
4.修改完成之后的效果,除 OracleJobSchedulerORCL 是禁用外,其他的都是手动启动。
5.创建服务启动脚本
每次需要使用 oracle 时,都需要使用 步骤二开启 oracle 服务,多少有些不方便,我们可以创建一个启动服务的批处理脚本,每次执行这个脚本文件即可启动服务。
新建一个 startOracle.bat 的文件,键入以下脚本,文件名随意,但后缀一定是要.bat的。
:: 取得管理员权限
:Main
@echo off
cd /d "%~dp0"
cacls.exe "%SystemDrive%\System Volume Information" >nul 2>nul
if %errorlevel%==0 goto Admin
if exist "%temp%\getadmin.vbs" del /f /q "%temp%\getadmin.vbs"
echo Set RequestUAC = CreateObject^("Shell.Application"^)>"%temp%\getadmin.vbs"
echo RequestUAC.ShellExecute "%~s0","","","runas",1 >>"%temp%\getadmin.vbs"
echo WScript.Quit >>"%temp%\getadmin.vbs"
"%temp%\getadmin.vbs" /f
if exist "%temp%\getadmin.vbs" del /f /q "%temp%\getadmin.vbs"
exit
:Admin
:: 手动启动 oracle 服务,因安装环境不同,需将下列服务名称替换成自己的
net start "OracleServiceORCL"
net start "OracleOraDb11g_home1TNSListener"
:: 如果需要使用控制台服务,将下面这行前面的 :: 删掉,并将服务名称替换成自己的
:: net start "OracleDBConsoleorcl"
pause
二、命令
1.连接数据库
sqlplus/nolog
2.连接超级用户
conn/as sysdba
3.创建用户
create user haha identified by ok;
identified by
指定密码
注意:拥有dba权限的用户才能创建其他用户
4.登录用户
conn haha/ok
没有登录权限:create session
5.登录管理员,给haha的登录权限
conn/as sysdba
grant create session to haha;
6.登录haha
conn haha/ok
7.创建表
create table student(id number(4),name varchar2(10);
8.登录管理员给haha授权
conn/as sysdba
grant create table to haha;
9.登录haha,创建表
conn haha/ok
create table student(id number(4),name varchar2(10));
10.user表空间给haha分配内存
conn/as sysdba
alter user haha quota unlimited on users;
或者是alter user haha quota 10m on users;
11.登录haha用户,插入数据,查询数据
insert into student(id,name) values(1,'张三');
select id,name from student;
12.解锁scott账号
alter user scott account unlock;
13.给用户scott dba权限
grant create session to scott;
14.创建表空间
create tablespace test1
datafile 'd:\test1.dbf'
size 10m
autoextend on next 200m
maxsize unlimited;
15.创建临时表空间
create temporary tablespace test2
tempfile 'd:\test2.dbf'
size 20m
autoextend on next 200m
maxsize unlimited;
16.创建用户并指定表空间
create user haha1 identified by ok
default tablespace test1
temporary tablespace test2 quota 5m on test1
17.修改密码:
alter user scott identified by tiger;
18.密码过期
alter user scott password expire;
19.设置账号被锁
alter user scott account lock;
20.解锁账号
alter user scott account unlock;
21.删除用户
drop user cascade;
22.权限
--最高权限:dba
创建用户:
create user hh identified by ok;
23.授予登录权限
grant create session to hh;
收回权限
revoke create session from hh;
24.角色:
创建角色
create role tr;
给角色授权
grant create session,create table to tr;
通过角色给用户授权
grant tr to hh;
角色中收回权限
revoke create session,create table from tr;
删除角色:
drop role tr;
--1.连接数据库;
--sqlp1us/nolog
--2.连接超级管理员账号
--conn/as sysdba
--3.创建用户;
create user haha identified by ok;
--. identified by:指定密码
--注意:拥有dba 权限的用户才能创建其他用户
--4..登录用户:
conn haha/ok
--没有登录权限: create session
--5.登录管理员,给haha的登录权限
--conn/as sysdba
--grant create session to haha;
--6..登录haha
conn haha/ok;
--7.创建表
create table student (id number (4) , name varchar2(10));
– 没有建表权限: create table
–8.登录管理员给haha授予建表权限
–conn/as sysdba
–grant create table to haha;
--解锁scott账号
alter user scott account unlock;
–创建表空间
create tablespace test1
datafile ‘d:\oracle\test1.dbf’
size 10m
autoextend on next 200m
maxsize unlimited;
创建临时表空间
create temporary tablespace test2
tempfile ‘d:\oracle\test2.dbf’
size 20m
autoextend on next 200m
maxsize unlimited;
--创建用户并指定表空间
create user hahaha identified by ok
default tablespace test1
temporary tablespace test2 quota 5m on test1;