`
javaTo
  • 浏览: 24123 次
  • 性别: Icon_minigender_1
  • 来自: 飘着
社区版块
存档分类
最新评论

Oracle 开发 - 2

阅读更多
--[2]// Oracle Basic 2
-------------------------------------------------------------------------------------//
--用户-------------------------------------------------------------//
--(注:一定要以DBA身份的用户登陆才能完成下列操作)
--查看数据库已有的用户信息
SELECT * FROM DBA_USERS;

--创建新用户(用户名:laozhao ,密码:laozhao)
CREATE USER laozhao IDENTIFIED BY laozhao;
--删除用户
DROP USER laozhao;
--用户授权(赋予CONNECT,RESOURCE角色),不授权,用户将不可用
GRANT CONNECT,RESOURCE TO laozhao;

--角色-------------------------------------------------------------//
--(注:一定要以DBA身份的用户登陆才能完成下列操作)
--查看数据库已有角色
SELECT * FROM DBA_ROLES;

--创建角色
CREATE ROLES role_name;
--删除角色
DROP ROLES role_name;
--为新建角色赋予已有的角色权限
GRANT CONNECT TO role_name;
--为新建角色赋予student表的SELECT权限
GRANT SELECT ON student TO role_name;

--权限-------------------------------------------------------------//
--查询所有系统权限
SELECT PRIVILEGE FROM DBA_SYS_PRIVS;

--查看当前用户的系统权限
SELECT * FROM USER_SYS_PRIVS;
--查看当前用户的对象权限
SELECT * FROM USER_TAB_PRIVS;

--锁---------------------------------------------------------------//
--表一旦锁住,别的用户将不可有(增、删、改)操作
--表级共享锁(多用户可以放置)
LOCK TABLE emp IN SHARE MODE;
--表级排它锁(单个用户放置)
LOCK TABLE emp IN EXCLUSIVE MODE;
--行锁
--在执行DML语句时,Oracle会自动为执行行添加行级锁

--创建表-----------------------------------------------------------//
--下面一张学院资料表,一张得分表
--表1
CREATE TABLE student
(
 id NUMBER,
 name VARCHAR2(20),
 sex VARCHAR2(3),
 age NUMBER,
 address VARCHAR2(50),
 CONSTRAINT student_pk PRIMARY KEY(id)   --主键约束
);
--或创建后修改表格
--ALTER TABLE students ADD CONSTRAINT student_pk PRIMARY KEY(id);
--表2
CREATE TABLE score
(
 id NUMBER,	
 clanguage NUMBER(5,2),  --共五位数字,小数点占用两位
 java      NUMBER(5,2),
 vb        NUMBER(5,2),
 asp       NUMBER(5,2),
 CONSTRAINT score_fk FOREIGN KEY(id) REFERENCES student(id)  --外键约束
);

--为上面创建的表插入数据
INSERT INTO student
	VALUES('2','JianLi','F','20','ShangHaiShi YangPu');
INSERT INTO score
	VALUES('2','87','79','92','99');
--也可为指定列插入
INSERT INTO student(id,address)
	VALUES('1','AnHui SuZhou');

--删除表内指定数据
DELETE student WHERE id=1;
--删除表
DROP TABLE student;

--查询语句(查询所有)
SELECT * FROM student
--查询语句(查询指定列)
SELECT id,address FROM student;
--可指定“用户名.表名”查询,如想查询scott用户下的emp表,可写为(注:权限低的用户查询不到权限高的用户表)
SELECT * FROM scott.emp;

--序列-------------------------------------------------------------//
--创建序列(创建名为stu_id的序列)
CREATE SEQUENCE stu_id
INCREMENT BY 1   --对上一数字的增量(可为负数)
START WITH 1     --序列起始值
NOMAXVALUE       --指定序列最大值,或无最大值(设置最大值只需去除no,并在其后加入最大值即可)
NOMINVALUE       --指定序列最小值,或无最小值
NOCYCLE          --指定到达最大或最小值时是否循环处理
ORDER            --保证产生的序列是按照一定的顺序(不保证可在前加入no,默认为NOORDER)
CACHE 10;        --指定在内存中可使用的序列个数,(当内存中序列用完时再生成下一批序列放入内存,以提高效率)

--查询内存中剩余的序列
SELECT stu_id.NEXTVAL FROM student;
--使用序列(NEXTVAL,CURRVAL)
--插入数据时(NEXTVAL)
INSERT INTO student(id,address)
	VALUES(stu_id.NEXTVAL,'AnHui SuZhou');
--使用当前值(CURRVAL)
INSERT INTO student(id,name)
	VALUES(stu_id.CURRVAL,'zhao');

--删除序列
DROP SEQUENCE stu_id;

--同义词-----------------------------------------------------------//
--创建同义词(公有),创建了student 的同义词 stu
CREATE PUBLIC SYNONYM stu FOR student;
--创建同义词(私有)
CREATE SYNONYM stu FOR student;

--删除同义词(注:删除时要指定公有还是私有)
DROP PUBLIC SYNONYM stu;
/*
  可把同义词(SYNONYM)或表(TABLE)、视图(VIEW)、快照(SNAPSHOT)、序列(SEQUENCE)、过程(PROCEDURE)、
  函数(FUNCTION)、包(PACKAGE)、对象类型(OBJECT TYPE)等从别的用户那里引用过来创建属于自己的,
  如:要引用system用户的stu同义词(注:权限低的用户不能操作权限高的用户)
*/
CREATE SYNONYM stu FOR system.stu;

--视图-------------------------------------------------------------//
--创建一个简单的视图
CREATE VIEW stu_info
	AS
	SELECT id,name FROM student;

--创建一个拥有两张(上述:Student、scort)表的视图
CREATE VIEW stu_Java
	AS
	SELECT student.id,name,java FROM student,score
	WHERE student.id = score.id;  --视图连接条件,必选

--删除试图
DROP VIEW stu_info;

--索引-------------------------------------------------------------//
--创建示例表
CREATE TABLE students
(
	id NUMBER,
	name VARCHAR2(20),
	sex CHAR(1),
	age NUMBER
);
--BTree索引
CREATE INDEX ind_id ON students(id);
--位图索引
CREATE BITMAP INDEX ind_sex ON students(sex);
--反向键索引
CREATE INDEX ind_age ON students(age) REVERSE;
--函数索引
CREATE INDEX ind_name ON students(lower(name));

--查看所创建的索引信息
SELECT index_name,index_type FROM USER_INDEXES WHERE table_name='STUDENTS';

--删除索引
DROP INDEX ind_id;

--附注-------------------------------------------------------------//
--创建概要(配置)文件
CREATE PROFILE
	appl_profile
LIMIT
	SESSIONS_PER_USER               2  --
	CPU_PER_SESSION             10000  --hunderth of seconds
	CPU_PER_CALL                    1  --hunderth of seconds
	CONNECT_TIME            UNLIMITED  --minutes
	IDLE_TIME                      30  --minutes
	LOGICAL_READS_PER_SESSION DEFAULT  --db bLOCKs
	LOGICAL_READS_PER_CALL    DEFAULT  --db bLOCKs
	PRIVATE_SGA                   20M  --
	FAILED_LOGIN_ATTEMPTS           3  --
	PASSWORD_LIFE_TIME             30  --days
	PASSWORD_REUSE_TIME            12  --days
	PASSWORD_REUSE_MAX      UNLIMITED  --
	PASSWORD_LOCK_TIME        DEFAULT  --days
	PASSWORD_GRACE_TIME             2  --days
	PASSWORD_VERIFY_FUNCTION     NULL  --
/

--修改概要(配置)文件
ALTER PROFILE appl_profile LIMIT
	CPU_PER_CALL DEFAULT;
--删除概要(配置)文件
DROP PROFILE appl_profile;
--如要删除的概要(配置)文件已经分配给用户,则必须利用下面语句进行删除
DROP PROFILE appl_profile CASCADE;

--在创建用户时可以指定概要(配置)文件,如不指定,则使用默认概要(配置)文件
CREATE USER zhao IDENTIFIED BY zhao PROFILE appl_profile;
--如需要改变用户的概要(配置)文件
ALTER USER user_name PROFILE perfile_name;

--DBA用户可以修改默认概要(配置)文件,但任何用户都不能删除概要(配置)文件
ALTER PROFILE DEFAULT LIMIT CPU_PER_CALL 2;
----------------------------------------------------------------------------------End//
分享到:
评论

相关推荐

    Oracle专用Linux操作系统-OracleLinux-R6-U5-Server-x86_64

    2. **Red Hat兼容性**:Oracle Linux与Red Hat Enterprise Linux二进制兼容,这意味着在Oracle Linux上运行的RHEL认证软件也能正常工作,无需重新编译。 3. **Ksplice技术**:Oracle Linux包含了Ksplice技术,允许...

    安装oracle11gR2数据库环境快速准备神器oracle-rdbms-server-11gR2-preinstall

    1. **自动安装所需RPM包**:Oracle数据库运行需要一系列特定的RPM包,包括开发库、管理工具等。oracle-rdbms-server-11gR2-preinstall会自动识别并安装这些必要的软件包,确保数据库能够正常运行。 2. **创建Oracle...

    oracle-database-server-12cR2-preinstall

    1. **依赖管理**:该包自动处理Oracle数据库所需的各种库和工具的安装,如GCC编译器、开发工具包、kernel-headers和kernel-devel等,确保系统满足所有必要的先决条件。 2. **系统调整**:预安装过程会检查并调整...

    oracle-xe-11.2.0-1.0.x86_64.rpm.zip

    Oracle XE 11.2.0 是一款轻量级版本的 Oracle 数据库服务器,专为开发和小型生产环境设计。这款数据库系统以其易用性、免费和对资源的低需求而闻名,使得它成为个人开发者和小型企业理想的数据库解决方案。 在描述...

    oracleasm-support-2.1.8-1.el5.i386

    2. 已安装最新的内核开发包,因为ASM驱动需要与当前运行的内核版本匹配。 3. 用户具有足够的权限,通常需要root权限来安装和配置ASM。 安装过程通常涉及使用`rpm`命令,例如: ``` sudo rpm -ivh oracleasm-support...

    oracle-support oracleasmlib kmod-oracleasm包

    Oracle ASM 是Oracle公司开发的一种集成的存储管理解决方案,它为Oracle数据库提供了自动化的磁盘管理和故障恢复功能。ASM能够简化存储配置,通过自动化的方式创建、扩展和管理磁盘组,同时提供高可用性和性能优化。...

    oracle X5-2 产品手册-中文

    ### Oracle X5-2 产品手册 - 关键知识点解析 #### 一、产品概述 - **Oracle数据库机X5-2**是一款专为提供高可用性数据库解决方案而设计的产品,其核心价值在于简化部署、维护和支持流程的同时节省时间和成本。 ###...

    OracleClient-18C Oracle客户端,包括windows和Linux

    对于开发人员来说,OracleClient-18C提供了ODBC和JDBC驱动程序,使Java、C++、Python等语言的应用程序能够连接到Oracle数据库。同时,它还支持ODPI-C,这是一个开源的C接口,用于构建高性能的Oracle数据库连接器。 ...

    包装物流管理软件:Oracle二次开发-OraclePL-SQL编程技术

    包装物流管理软件:Oracle二次开发_OraclePL-SQL编程技术.docx 包装物流管理软件:Oracle二次开发_Oracle包装物流管理软件二次开发基础.docx 包装物流管理软件:Oracle二次开发_Oracle数据库体系结构与管理.docx ...

    oracleclient-basic-windows.x64-11.2.rar

    Oracle客户端是数据库管理和开发的重要组成部分,它允许用户与Oracle数据库服务器进行交互。在这个特定的压缩包"oracleclient-basic-windows.x64-11.2.rar"中,我们找到了Oracle 11g的ODBC(Open Database ...

    tableau10.0-oracle-driver-x64.msi

    tableau10.0-oracle-driver-x64.msi,tableau开发oracle必须包

    OracleEBS-应用开发培训.pptx

    OracleEBS-应用开发培训

    oracle-j2sdk1.8-1.8.0+update181-1.x86-64.rpm

    总结来说,"oracle-j2sdk1.8-1.8.0+update181-1.x86-64.rpm" 是Oracle公司针对64位Linux系统提供的Java 8开发工具包的RPM包,它包含了Java 8的重要特性和性能优化,适用于CDH等大数据环境,并且具有良好的版本管理和...

    ORACLE 8-8I开发使用手册

    2. **数据类型**:Oracle 8-8i支持多种数据类型,如NUMBER、VARCHAR2、DATE、LONG、RAW等。理解每种数据类型的用途和限制对于有效数据库设计至关重要。 3. **表和索引**:创建和管理表是数据库开发的基础。在Oracle...

    OracleClient-21C Oracle客户端,包括windows和Linux

    OracleClient-21C是Oracle公司推出的最新版数据库客户端,主要为用户提供与Oracle数据库服务器进行交互的工具和接口。这个版本适用于Windows和Linux操作系统,确保了跨平台的兼容性和灵活性,满足不同用户环境的需求...

    oracle-instantclient11.2-devel-11.2.0.4.0-1.x86_64.rpm

    1)rpm格式包安装配置 1.1 下载以rpm后缀名的包,以11.2.0.4.0 版本为例...oracle-instantclient11.2-devel-11.2.0.4.0-1.x86_64.rpm --包含头文件和示例文件,为开发Oracle应用程序的即时客户端; 1.2 使用rpm -ivh

    oracle-SpringBoot Oracle示例-Samples.zip

    这个压缩包很可能包含了一系列Java代码、配置文件和其他必要的资源,用于演示如何在实际开发环境中设置和操作Oracle数据库。 描述中的"oracle_SpringBoot Oracle示例_Samples"进一步确认了这个压缩包的内容,它是一...

    oracle-instantclient11.2-basic-11.2.0.4.0-1.x86_64.rpm

    oracle-instantclient11.2-devel-11.2.0.4.0-1.x86_64.rpm --包含头文件和示例文件,为开发Oracle应用程序的即时客户端; 1.2 使用rpm -ivh [包名] 进行安装, 如:rpm -ivh oracle-instantclient11.2-basic-11.2....

    OracleEBS-报表开发工具

    ### OracleEBS-报表开发工具知识点详解 #### 一、Oracle Report Builder **1.1 概述** Oracle Report Builder 是 Oracle 最初推出的报表开发工具之一。即使在 R12 版本中,它仍然是创建打印凭证等报表的首选工具。...

    OracleClient-19C Oracle客户端,包括windows和Linux

    2. **tnsnames.ora**:这是一个配置文件,定义了数据库的连接描述符(TNS,Transparent Network Substrate),它指定了如何连接到Oracle数据库服务器,包括服务器的名称、网络服务名、端口号等信息。 3. **sql...

Global site tag (gtag.js) - Google Analytics