1、根据网络上的安装oracle教程安装oracle在这里不描述了。
2、oracle一开始会有三个默认用户分别是:
oracle的三个用户和默认密码
1.用户名:sys密码:change_on_install
2.用户名:system密码:manager
3.用户名:scott密码:tiger
一般这种系统用户都会自己带表的
3、一些用户,表空间的创建方法:
创建表空间:
mytablespace : 表空间名称
datafile: 指定表空间对应的数据文件(位置)
size:表空间的初始大小
autoextend on :自动增长,
next: 一次自动增长的大小
格式:
格式固定,顺序不能变
create tablespace 表空间名称
datafile ‘数据文件的位置’
size 表空间的初始化大小
autoextend on
next
create user gaowei identified by gaowei default tablespace mytablespace;
createa user 用户名 identified by 密码 default tablespace 表空间名称;
identified by 后边是用户的密码
default tablespace 后边是表空间名称
oracle 数据库与其它数据库产品的区别在于,表和其它的数据库对象都是存储在用户下的
使用命令创建好用户,没有登陆权限,登陆后会提示。
Oracle 中已存在三个重要的角色:connect 角色,resource 角色,dba 角色。
CONNECT 角色: –是授予最终用户的典型权利,最基本的
ALTER SESSION –修改会话
CREATE CLUSTER –建立聚簇
CREATE DATABASE LINK –建立数据库链接
CREATE SEQUENCE –建立序列
CREATE SESSION –建立会话
CREATE SYNONYM –建立同义词
CREATE VIEW –建立视图
RESOURCE 角色: –是授予开发人员的
CREATE CLUSTER –建立聚簇
CREATE PROCEDURE –建立过程
CREATE SEQUENCE –建立序列
CREATE TABLE –建表
CREATE TRIGGER –建立触发器
CREATE TYPE –建立类型
DBA 角色:拥有全部特权,是系统最高权限,只有 DBA 才可以创建数据库结构,并且系统权限也需
要 DBA 授出,且 DBA 用户可以操作全体用户的任意基表,包括删除。
给用户授权限
grant dba to gaowei;
–表示把 dba权限授予给 gaowei(用户)
格式:
grant connect(或者resource,dba) to 用户名
--系统用户下的表
select count(1) from all_all_tables where owner = 'system'
--删除非空表空间,包含物理文件 如果其他表空间中的表有外键等约束关联到了本表空间中的表的字段,就要加上CASCADE CONSTRAINTS
drop tablespace xzytablespace including contents and datafiles CASCADE CONSTRAINTS;
create tablespace JXYTH
datafile 'D:\filesave\jxyth' --表空间文件地址
size 2000m --表空间最大暂用内存
autoextend on
next 10m;
--删除整个用户
drop user xzy cascade;
create user xzy identified by 123456 default tablespace JXYTH;
--分配用户权限
grant create session to xzy ;
grant connect, create table, resource to xzy ;
grant create any view to xzy ;
grant dba to xzy ;
--查询这个用户下的所有表
select count(*) from USER_TABLES
--获取整个用户下面所有要删除的表
select 'drop table '||table_name||';' from cat where table_type='TABLE' ORDER BY TABLE_NAME;
运行 cmd 按如下输入命令
sqlplus / as sysdba ---------以sys登陆 超级用户(sysdba)
alter user 用户名 account unlock; --------- 解除锁定(必须带“;”号)
alter user 用户名 identified 密码; -------------修改密码
然后用你改好的密码登陆就行
如果可以登录任意的一个用户可以通过一下方法来知道当前有哪些用户
select distinct owner from all_objects 查看当前用户
一句命令导出数据库
exp jxyth/sa@122.112.166.58/db file=名字.dmp;
exp 导出命令
jxyth 数据库用户名
sa 用户密码
122.112.166.58 服务器ip地址
db 数据库连接标识符(实例)
file = 名字.dmp 导出dmp文件名
12c数据库导入数据到11g中的办法:
1:通过本地的dos命令 exp jxyth/sa@122.112.166.58/db file=名字.dmp;导出
因为本地是11g的数据库所以即使这个服务器上的数据库是12c的导出来的数据也是11g的数据库的数据
2:上网查oracle高版本迁移数据到低版本(12c至11g)方法
这个比较麻烦,本人没有使用成功。 建议还是用上一种方法
查询oracle数据库字符集sql
select userenv(‘language’) from dual;
导入oracle数据并覆盖原来同名的表
imp 时候带上这个参数就可以了 ignore=y