建立表空间
CREATE TABLESPACE tablespacename
LOGGING
DATAFILE 'D:\appAdministratororadataNewDBDB_DATA.DBF'
SIZE 32M
AUTOEXTEND ON
NEXT 32M MAXSIZE UNLIMITED
EXTENT MANAGEMENT LOCAL;
创建用户
CREATE USER username IDENTIFIED BY password
ACCOUNT UNLOCK
DEFAULT TABLESPACE tablespacename
TEMPORARY TABLESPACE temp_tablespacename
给用户授权
GRANT CONNECT,RESOURCE TO username
撤销用户权限
REVOKE SYSDBA FROM username
已存在用户分配表空间
ALTER USER username DEFAULT TABLESPACE tablespacename;
查看oracle的字符集
select * from V$NLS_PARAMETERS
oracle备份文件与数据库编码不符出现问题
修改数据库字符集为:ZHS16GBK
查看服务器端字符集SQL > select * from V$NLS_PARAMETERS
Telnet到服务器,执行:$sqlplus /nolog
SQL>conn / as sysdba
若此时数据库服务器已启动,则先执行 SHUTDOWN IMMEDIATE 命令关闭数据库服务器,
然后执行以下命令:
SQL>shutdown immediate
SQL>STARTUP MOUNT
SQL>ALTER SYSTEM ENABLE RESTRICTED SESSION;
SQL>ALTER SYSTEM SET JOB_QUEUE_PROCESSES=0;
SQL>ALTER SYSTEM SET AQ_TM_PROCESSES=0;
SQL>ALTER DATABASE OPEN;
SQL>ALTER DATABASE CHARACTER SET ZHS16GBK;
ERROR at line 1:ORA-12721: operation cannot execute when other sessions are active
若出现上面的错误,使用下面的办法进行修改,使用INTERNAL_USE可以跳过超集的检查:
SQL>ALTER DATABASE CHARACTER SET INTERNAL_USE ZHS16GBK;
SQL>SHUTDOWN IMMEDIATE
SQL>STARTUP
imp导入oracle数据库
imp 'system/password@orcl as sysdba' fromuser=username touser=username file=E:\oracle_use\xxx.dmp ignore=y
删除用户
drop user username cascade
删除了user,只是删除了该user下的schema objects,是不会删除相应的tablespace的。
Oracle的分页查询
SELECT
*
FROM
(
SELECT
A .*, ROWNUM RN -- 必须这个RN别名来控制外层的where
FROM
(
SELECT
*
FROM
"AUDIT_ZB_科处室指标明细表"
) A
WHERE
ROWNUM < 40
)
WHERE
RN > 20
内层的ROWNUM控制了最大值,外层的RN控制了最小值
查询所有数据表及字段
-- 查询一个库中的所有数据表
select * from user_tables
-- 查询数据表中的字段
select * from user_tab_columns WHERE TABLE_NAME='IDCard'