Oracle使用数据泵导出导入表
Oracle使用数据泵导出导入表需求:同一机器上有两个库,默认的库为orcl,后来新建了库haishu。库haishu的用户scott下有个表test_table,要求将此表导入到库orcl的scott用户下。导出步骤:先在终端创建dmp文件存放路径,当前目录为/home/zhenghaishu,则$ mkdir dump进sqlplus环境$ sqlplus /nolog连接haishu...
Oracle列操作
Oracle列操作1 添加一列语法:alter table 表名 add (列名 数据类型);例子:SQL> create table test_table (id int);Table created.SQL> alter table test_table add (name varchar2(10));Table altered.2 改变列名语法:alter table 表名 rename column 原列名 to 新列名例子:SQL> alter table te...
Oracle新建数据库并登录
Oracle新建数据库并登录1 启动终端,先设置LANG,否则dcba页面中可能会显示乱码$ export LANG=en_US2 启动dbca$ dbac3 多数步骤按默认的设置直接点击“下一步”即可,少数需要改动的地方:步骤3,全局数据库名和SID可以设的一样,比如haishu;步骤4,配置Enterprise Manager左侧默认是打勾的,可以把勾去掉,...
Oracle授权A用户查询B用户的所有表
Oracle授权A用户查询B用户的所有表需求:新建的用户userA,要授权给他访问用户scott的所有表有两种方法:1)SQL> conn / as sysdba;SQL> grant select any table on userA这种方法的缺点是授予的权限过大,userA不仅可以访问scott下的所有表,也可以访问其他用户包括sys,system下的所有表。2)SQL> conn sc...
ORA-12514解决方案
ORA-12514解决方案(1)用PL/SQL Developer登录远程数据库。Username: ***Password: ***Database: 172.20.0.43:1521Connect as: Normal点击OK后,报错:ORA-12514:TNS:监听程序当前无法识别连接描述符中请求的服务解决方案:Database栏少填了数据名,正确的填法是Database: 172.20.0.43:1521/mydb...
Oracle层次化查询
P { margin-bottom: 0.21cm; }Oracle层次化查询(1) 树状模型假如有一个市场模型,其中一级市场是中国,二级市场是省份,三级市场是各个省下面的市,四级市场是各个市下面的县。那么可以创建表market:createtable market(market_id number(2), market_name varchar2(10),parent_market_id number(...
Oracle查询库中记录数大于2千万的所有表
查询库中记录数大于2千万的所有表假如当前用户拥有select any table权限,则可以使用下列sql语句:select table_name, num_rows from dba_tables t where t.owner = upper('hr') and num_rows > 20000000;或select table_name, num_rows from all_tables t where t.owner = upper('hr') and num_rows > 20000000;...
Oracle查询用户权限
Oracle查询用户权限查看用户系统权限:select * from dba_sys_privs;select * from session_privs;select * from user_sys_privs;查看用户对象权限:select * from dba_tab_privs;select * from all_tab_privs;select * from user_tab_privs;
Oracle查看表空间大小和使用率
Oracle查看表空间1. 全部表空间的大小SQL> select tablespace_name, sum(bytes)/1024/1024 from dba_data_files group by tablespace_name;TABLESPACE_NAME SUM(BYTES)/1024/1024-------------------- --------------------UNDOTBS1 &...
Oracle查询分区表的最后一个分区值
Oracle查询分区表的最后一个分区值这是一个来自生产上的需求:数据库中的分区表(几十上百个)都是根据年份来分区的并且分区名称和分区年份一一对应(比如p2011对应'2011'),客户要求检查分区表的分区是否已经过时。比如现在是2014年,若一个表的最大分区时间为2013年或2012年,则该表的分区已过时,需要考虑增加分区...
Oracle创建和使用序列
Oracle创建和使用序列1 语法create sequence 序列名称 2 创建序列SQL> create sequence emp_seq;Sequence created.序列是一个数据库对象,因此可以在数据字典中获得其信息。与序列相关的视图为user_objects和user_sequences。SQL> col object_name format a15;SQL> col object_type format a15;SQL> col s...
Oracle使用cursor for隐式游标
Oracle使用cursor for隐式游标除了sql游标之外,Oracle还提供了另一种隐式游标:cursor for游标。这一类游标用于循环。(1)语法for 游标变量 in (select语句) loop DML操作end loop;(2)使用方法需求:查出emp表中部门编号为10的所有员工的员工编号和员工姓名。程序:begin for ...
Oracle临时表
Oracle临时表Oracle临时表有3种:事务级临时表、会话级临时表和虚拟临时表(一)事务临时表事务临时表的生存周期为一个事务,当用commit提交或用rollback会滚后,事务结束,表被清空,但表的结构还在。实验:SQL> create global temporary table tmp_dept on commit delete rows as select * from dept where 1 ...
Ubuntu12.04(32位)安装Oracle 11g(32位)全过程
Ubuntu12.04(32位)安装Oracle 11g(32位)全过程1.将系统更新到最新:sudo apt-get updatesudo apt-get dist-upgrade2.安装Oracle所需的依赖包:sudo apt-get install automakesudo apt-get install autotools-devsudo apt-get install binutilssudo apt-get install bzip2sudo apt-get install elfutilss...
Oracle程序包
Oracle程序包 程序包用于将逻辑相关的PL/SQL块或元素(变量、常量、过程、函数等)组织在一起,作为一个完整的单元存储在数据库中,用包名称来标识程序包。程序包类似于面向对象中的类。 程序包由两部分构成:规范(specification)和主体(body)。程序包规范就是包说明,对包...
Oracle带输入输出参数的存储过程
Oracle带输入输出参数的存储过程(一)使用输入参数需求:在emp_copy中添加一条记录,empno为已有empno的最大值+1,ename不能为空且长度必须大于0,deptno为60。创建存储过程:create or replace procedure insert_emp(emp_name in varchar2, dept_no in number) as begin declare max_empno number; ...
Oracle创建存储过程
Oracle创建存储过程函数更倾向于处理数据运算,并最终返回处理结果。而存储过程更倾向于数据库操作,并不返回值。语法:create or replace procedure 存储过程名称 as begin存储过程定义end 存储过程名称;(1) 创建存储过程对于表emp,如果需要获得有关该表的信息,如表中所有员工的姓名,应该使用自定义函数...
Oracle行转列函数
Oracle行转列函数1 需求在实际开发中,行转列函数可以把列值以逗号分隔起来,并显示成一行。现要求利用一条sql语句获得表emp中所有员工姓名,且要求在前台页面中作为一个字符串出现,在这个字符串中员工之间的姓名用逗号分隔开。2 程序create or replace function row2col(sqlString varchar2) return varchar2 as...
Oracle动态游标
Oracle动态游标(一)强类型动态游标1 定义强类型动态游标是指,在游标使用之前,虽未指定游标的查询定义,但是游标的类型已经确定。2 语法type 游标类型 is ref cursor return 记录类型3 应用场景、用户想在表dept中查看Beijing这一城市的具体信息。如果表中没有Beijing的记录信息,则用户希望能够查看所有城...
Oracle使用行类型变量获取游标信息
Oracle使用行类型变量获取游标信息(1) 表数据SQL> select * from scott.dept; DEPTNO DNAME LOC---------- ---------- ---------- 10 ACCOUNTING NEW YORK 20 RESEARCH DALLAS 30 SALE...