1、创建用户
(1)输入CMD,在dos窗口中连接数据库sqlplus / as sysdba
(2)创建表空间、创建用户、给用户授权
删除用户:drop user RSGL_BJKW cascade;
删除表空间:drop tablespace RSGL_BJKW including contents and datafiles;
创建表空间:create tablespace RSGL_BJKW datafile 'D:\DataBase\Oracle\TableSpace\RSGL_BJKW.dbf' size 50m autoextend on;
创建用户:create user RSGL_BJKW identified by rsgl default tablespace RSGL_BJKW temporary tablespace temp;
用户授权:grant dba to RSGL_BJKW;
2、Oracle 查找带有CLOB字段的所有表
SELECT COLUMN_NAME,DATA_TYPE,TABLE_NAME FROM USER_TAB_COLUMNS WHERE DATA_TYPE='CLOB'
3、查看当前用户的表
SELECT TABLE_NAME FROM USER_TABLES;
4、DMP导入命令
imp log=D:\DataBase\Oracle\TableSpace\RSGL_BJKW.log file=F:\RSGL_BJKW_2021_10_08.dmp userid=RSGL_BJKW/rsgl@ORCL buffer=100000000 commit=no full=yes grants=yes ignore=yes indexes=yes rows=yes show=no constraints=yes
5、Oracle命令(一):Oracle登录命令
(1)运行SQLPLUS工具
C:\Users\wd-pc>sqlplus
(2)直接进入SQLPLUS命令提示符
C:\Users\wd-pc>sqlplus /nolog
(3)以OS身份连接
C:\Users\wd-pc>sqlplus / as sysdba 或
SQL>connect / as sysdba
(4)普通用户登录
C:\Users\wd-pc>sqlplus scott/123456 或
SQL>connect scott/123456 或
SQL>connect scott/123456@servername
(5)以管理员登录
C:\Users\wd-pc>sqlplus sys/123456 as sysdba 或
SQL>connect sys/123456 as sysdba
(6)切换用户
SQL>conn hr/123456
注:conn同connect
(7)退出
exit
5、ORA-28000账号被锁定的解决办法
解决方案:
(1)查看用户使用的概要文件名,一般为DEFAULT
SQL> select username,profile from dba_users;
(2)查看概要文件中设置的密码错误后限制的登录次数
SQL> select * from dba_profiles where profile='DEFAULT' and resource_name='FAILED_LOGIN_ATTEMPTS';
(3)如图,将10次(默认)改为不受限制,改动后立即生效
SQL> alter profile default limit failed_login_attempts unlimited;
(4)检查已经被锁定的用户
SQL> select username,account_status from dba_users;
如图,账号的状态大致被分为:OPEN(正常),LOCKED(通过SQL语句进行的锁定),LOCKED(TIMED)(超过最大错误登录次数被动锁定),EXPIRED或者EXPIRED(GRACE)(密码过期状态),EXPIRED & LOCKED(TIMED)(密码过期并超过了限制次数被锁定)等。
(5)解锁被锁定的账户
SQL> alter user user_name account unlock;
6、PLSQL Developer查询数据乱码
设置系统环境变量NLS_LANG=SIMPLIFIED CHINESE_CHINA.ZHS16GBK
7、数据库自动备份文件(bat),自动备份文件内容如下
@echo off
echo 删除10天前的备分文件和日志
forfiles /p "H:\table\oracle" /m *.dmp /d -10 /c "cmd /c del @path"
forfiles /p "H:\log" /m *.log /d -10 /c "cmd /c del @path"
echo 正在备份 Oracle 数据库,请稍等……
EXP RSGL_BJKW/rsgl@127.0.0.1:1521/ORCL file=H:\table\oracle\rsgl_bjkw_%date:~0,4%_%date:~5,2%_%date:~8,2%.dmp log=H:\log\rsgl_bjkw_%date:~0,4%_%date:~5,2%_%date:~8,2%.log owner=RSGL_BJKW statistics=none
echo 任务完成!