-- 归档模式
查看:archive log list;
1.改变非归档模式到归档模式:
1)SQL> conn / as sysdba (以DBA身份连接数据库)
2)SQL> shutdown immediate; (立即关闭数据库)
3)SQL> startup mount (启动实例并加载数据库,但不打开)
4)SQL> alter database archivelog; (更改数据库为归档模式)
5)SQL> alter database open; (打开数据库)
6)SQL> alter system archive log start; (启用自动归档)
7)SQL> exit (退出)
做一次完全备份,因为非归档日志模式下产生的备份日志对于归档模式已经不可用了.这一步非非常重要!
2.改变归档模式到非归档模式:
1)SQL>SHUTDOWN NORMAL/IMMEDIATE;
2)SQL>STARTUP MOUNT;
3)SQL>ALTER DATABASE NOARCHIVELOG;
4)SQL>ALTER DATABASE OPEN;
3.启用自动归档: LOG_ARCHIVE_START=TRUE
--动态语句不能创建序列
我在存储过程中执行如下语句时execute immediate 'create sequence sq_test'; 报权限不够?
存储过程使用的是defineor的权限而不是invoker的权限,你要么给过程的定义者赋予create sequence 权限,要么在存储过程中加入authid current_user
例如 :
create or replace function create_table( r_owner in
varchar2, r_table_name in varchar2 )
return varchar2 authid current_user ------此处
as
...
这样过程调用时使用的权限是调用者的权限。
来自 “ ITPUB博客 ” ,链接:https://blog.itpub.net/12961536/viewspace-769583/ ,如需转载,请注明出处,否则将追究法律责任。